44
Pacemakerで学ぶ HAクラスタ OSC2019 Kyoto 2019/8/3 Linux-HA Japan 松浦 健太

Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Pacemakerで学ぶHAクラスタ

OSC2019 Kyoto

2019/8/3

Linux-HA Japan松浦 健太

Page 2: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

はじめに:本日の話の流れ

Linux-HA Japan Project 2

1. 可用性とクラスタ— 可用性とは、可用性を向上させるためには— 「クラスタ」の必要性と分類について

2. Pacemakerとは— Pacemakerの概要と動作

3. いろんなHAクラスタ— HAクラスタでのサーバ構成とデータ管理

4. まとめ

Page 3: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

可用性とクラスタ

Page 4: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Linux-HA Japan Project 4

可用性(Availability)=サービス継続性

もしサービスが止まってしまったら??

可用性を高め「止まらないサービス」の実現を目指す

様々な不利益を被ることに・・・

可用性とは

Page 5: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

可用性の向上

Linux-HA Japan Project 5

プレゼンテーション層 データベース層アプリケーション層

ユーザ

共有ディスク

SPOF

SPOF SPOF SPOF

可用性を高めるためには単一障害点(SPOF:Single Point of Failure ある一点が故障した場合にサービスが停止してしまう部位)の除去が重要

Page 6: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

可用性の向上

Linux-HA Japan Project 6

プレゼンテーション層 データベース層アプリケーション層

ユーザ

共有ディスク

可用性を高めるためには単一障害点(SPOF:Single Point of Failure ある一点が故障した場合にサービスが停止してしまう部位)の除去が重要

共有ディスク

クラスタ化により可用性向上!

Page 7: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

クラスタとは

Linux-HA Japan Project 7

ところで、クラスタとは?• 語源は果実や花の房• 同じようにまとまっているもののことを指す

ぶどう藤の花

• IT業界でいうクラスタとは、複数のコンピュータを連携させ、全体で一つのコンピュータのように振る舞わせる仕組みを指す

Page 8: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

クラスタの分類

Linux-HA Japan Project 8

負荷分散クラスタ同一のサービスを提供する複数台のサーバに対して処理を分配するそのため、一台が停止しても残りのサーバでサービスを継続することができ、かつ一台のサーバでは得られなかった処理性能を確保することが可能

メインでサービスを提供するサーバ(稼働系,現用系,Activeなどと呼ばれる)と、それをバックアップするサーバ(待機系,予備系,Standbyなどと呼ばれる)で構成され、現用系に障害が発生した際に予備系でサービスを引き継ぐことで、サービスの停止時間を短くする

HPC(High Performance Computing)クラスタ複数台のコンピュータを結合させて演算処理を分担し、一台のコンピュータでは得られない高性能を確保することを目的とする

HA(High Availability:高可用)クラスタ

可用性を向上できるのはこの2つ

Page 9: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

クラスタの分類

Linux-HA Japan Project 9

負荷分散クラスタ同一のサービスを提供する複数台のサーバに対して処理を分配するそのため、一台が停止しても残りのサーバでサービスを継続することができ、かつ一台のサーバでは得られなかった処理性能を確保することが可能

メインでサービスを提供するサーバ(稼働系,現用系,Activeなどと呼ばれる)と、それをバックアップするサーバ(待機系,予備系,Standbyなどと呼ばれる)で構成され、現用系に障害が発生した際に予備系でサービスを引き継ぐことで、サービスの停止時間を短くする

HPC(High Performance Computing)クラスタ複数台のコンピュータを結合させて演算処理を分担し、一台のコンピュータでは得られない高性能を確保することを目的とする

HA(High Availability:高可用)クラスタ

Page 10: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

負荷分散クラスタ概要

Linux-HA Japan Project 10

基本構成• 同じサービスを提供する複数のサーバ群に対して処理を分散させ、

1台あたりのサーバ負荷を低減させる• LB(ロードバランサ)によるWebサーバへの負荷分散や、

WebサーバによるAPサーバへの負荷分散処理等、複数のパターンがある

Page 11: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

クラスタの分類

Linux-HA Japan Project 11

負荷分散クラスタ同一のサービスを提供する複数台のサーバに対して処理を分配するそのため、一台が停止しても残りのサーバでサービスを継続することができ、かつ一台のサーバでは得られなかった処理性能を確保することが可能

メインでサービスを提供するサーバ(稼働系,現用系,Activeなどと呼ばれる)と、それをバックアップするサーバ(待機系,予備系,Standbyなどと呼ばれる)で構成され、現用系に障害が発生した際に予備系でサービスを引き継ぐことで、サービスの停止時間を短くする

HPC(High Performance Computing)クラスタ複数台のコンピュータを結合させて演算処理を分担し、一台のコンピュータでは得られない高性能を確保することを目的とする

HA(High Availability:高可用)クラスタ

Page 12: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

HAクラスタ概要

Linux-HA Japan Project 12

• サービス中のサーバに故障が発生した場合、他のサーバに処理を引き継ぐ• サービスを提供する現用系サーバと待機状態にしておく予備系サーバから成る

Active-Standby構成(Act-Sbyと書くことも)が一般的• 同等の性能を有するサーバを2台配置し、サーバ間でデータの共有が必要な場

合は共有ディスク※を使用

基本構成

共有ディスク

現用系(Active) 予備系(Standby)

サービスAP

Page 13: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

負荷分散クラスタとHAクラスタの違い

Linux-HA Japan Project 13

負荷分散クラスタは負荷の分散をしつつ可用性を高める。

一方、HAクラスタは可用性を高めるだけ・・・。

もう負荷分散クラスタで

良くない?

Page 14: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

負荷分散クラスタとHAクラスタの違い

Linux-HA Japan Project 14

負荷分散クラスタとHAクラスタはサービスを2重起動するか否かで使い分ける。

DBを2重起動した場合

共有ディスク

サービスAP

サービスAP

データ破壊

HAクラスタなら2重起動をしないため問題ない

writewrite

Page 15: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Linux-HA Japan Project 15

次章からはこのHAクラスタについて「Pacemaker」を例に説明します!

Page 16: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Pacemakerとは

Page 17: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Pacemakerとは

Linux-HA Japan Project 17

Pacemaker(ぺーすめーかー)とはオープンソースで開発されている高可用(High Availability)クラスタソフト

Heartbeatの後継として開発されたソフトウェアであり、ソースはGitHubで管理

ClusterLabs : https://github.com/ClusterLabs

バイナリファイルは以下より入手可能

Linux-HA Japanプロジェクト: http://linux-ha.osdn.jp/wp/

Page 18: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

HAクラスタソフト

Linux-HA Japan Project 18

共有ディスク

現用系 予備系

故障検知とサービス引継ぎ・常時ハードウェア及びサービスアプリケーションの稼動状態を監視・現用系サーバ上で故障を検知した場合、

予備系でアプリケーションを起動してサービスを継続→「フェイルオーバ」という

HAクラスタソフトの主な機能

サービスAP故障発生

フェイルオーバ

プロセス停止

カーネルハング

ハードウェア故障 etc...

HAクラスタの管理を自動化するソフトウェアをHAクラスタソフトという。

Page 19: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

HAクラスタソフト

Linux-HA Japan Project 19

排他制御・スプリットブレイン発生時にサービスを2重起動しない様に、予備系でのサービス起動を抑止

※ スプリットブレインとは・クラスタ間で正常に通信が行えず、それぞれ独立してサービス管理を行う状態・サービスが2重起動することにより共有ディスクへの書き込みが競合し、データ

破壊が発生するなど、サービス継続に致命的な現象を引き起こす要因となる

共有ディスク

クラスタ間の通信サービスAP

<データ破壊のイメージ>予備系:node02

①node02の応答が無くなった・・・!

①node01の応答が無くなった・・・!

通信断!

②サービスを起動しなきゃ!

サービスAP

writewrite

データ破壊!

③2重書き込みによるデータ破壊!

現用系:node01

Page 20: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Pacemakerにできること

Linux-HA Japan Project 20

サーバ#1サーバ#2

アプリケーション監視・制御

仮想IP

自己監視

ノード監視

ディスク監視・制御

ネットワーク監視・制御

・プロセス監視・watchdog

・ファイルシステム監視・共有ディスク排他制御

・ハートビート通信・STONITH(強制電源断)

・ping疎通確認・仮想IP制御

・起動・停止・監視

Pacemakerではフェイルオーバや排他制御などを行うために以下の様な機能を実装

共有ディスク

本講演にて主に説明する機能

Page 21: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Pacemakerとは 故障検知とサービス引継ぎ 排他制御

Page 22: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

アプリケーションの監視・制御(起動)

Linux-HA Japan Project 22

サーバ#2サーバ#1

起動

共有ディスク

PostgreSQL

アプリケーションなどの起動停止はPacemakerより実施

Pacemaker起動

起動

Page 23: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

アプリケーションの監視・制御(監視)

Linux-HA Japan Project 23

サーバ#2サーバ#1

監視

故障発生

共有ディスク

PostgreSQL

Pacemakerはアプリケーション起動後、定期的に監視処理を実施

正常故障検知

Page 24: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

アプリケーションの監視・制御(フェイルオーバ)

Linux-HA Japan Project 24

サーバ#2サーバ#1

停止

共有ディスク

PostgreSQL

フェイルオーバ

故障検知後はアプリケーションを現用系で停止してから予備系で起動

起動

Page 25: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Pacemakerにできること

Linux-HA Japan Project 25

PostgreSQLの起動は ”$ pg_ctl -w start”Apacheの起動は ”$ apachectl start”

対象毎に起動・停止・監視方法はバラバラなのにどうやって一括管理するの?

どうやって様々な種類のアプリケーション等を

監視・制御しているの?

Pacemakerは様々な対象を起動/停止/監視することが可能

・・・だけど

PostgreSQLやApacheの起動停止、Filesystemのmount、仮想IPの割り当てetc....

Page 26: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Linux-HA Japan Project 26

Pacemakerの"故障検知とサービス引継ぎ"の実現

Pacemakerは起動/停止/監視する対象ごとに用意されている「リソースエージェント(RA)」と呼ばれる実行ファイルを仲介することで対象にあわせた制御・監視が可能

• 多くのRAはシェルスクリプトで、起動/停止/監視する対象にあわせたstart関数、stop関数、monitor関数などを実装(例: PostgreSQL用のRAのstart関数では”$ pg_ctl -w start”を実行)

• Pacemakerではデフォルトで様々な対象ごとのRAを同梱しており、また自作して追加することも可能

PostgreSQLRA

ApacheRA

ファイルシステムRA

リソースエージェント

PostgreSQLRA

スクリプト関数実行start() / stop() / monitor()

コマンド実行pg_ctl start / pg_ctl stop /SELECT now();

共有ディスク

PostgreSQLの制御・監視におけるRA実行の具体的な流れ

Page 27: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Pacemakerに同梱されているRA一覧

Linux-HA Japan Project 27

AoEtarget LVM-activate Stateful aws-vpc-route53 garbd lxd-info ovsmonitorsg_persist AudibleAlarm LinuxSCSI SysInfo awseip hulft machine-infopgagent slapd CTDB MailTo VIPArip awsvip iSCSILogicalUnit mariadb pgsqlsymlink ClusterMon ManageRAID VIPcheck azure-lb iSCSITargetminio pingdsyslog-ng Delay ManageVE VirtualDomain clvm ids mpathpersistportblock tomcat Dummy NodeUtilization WAS conntrackd iface-bridgemysqlpostfix varnish EvmsSCC Pure-FTPd WAS6 db2 iface-vlan mysql-proxy poundvmware Evmsd Raid1 WinPopup dhcpd ipsec nagios proftpd vsftpdFilesystem Route Xen dnsupdate iscsi named rabbitmq-cluster zabbixserverICP SAPDatabase Xinetd docker jboss nfsnotify redis IPaddrSAPInstance ZFS eDir88 jira nfsserver rkt IPaddr2 SendArpanything ethmonitor kamailio nginx rsyncd IPsrcaddr ServeRAID apache exportfsldirectord oraasm rsyslog IPv6addr SphinxSearchDaemon asterisk fio lvmlockd oraclescsi2reservation LVM Squid aws-vpc-move-ip galera lxc oralsnr sfexHealthCPU HealthSMART SysInfo SystemHealth attribute controld diskdifspeed o2cb ping remote などなど....

※ systemdのユニットファイルを使用して管理することも可能

以下の様なRAがPacemakerのパッケージに同梱されており、Pacemakerから監視・制御が可能

Page 28: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Pacemakerとは アプリケーションの監視・制御 排他制御

Page 29: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

クラスタ間の通信

Linux-HA Japan Project 29

Pacemakerではクラスタ間でハートビート通信と呼ばれる通信を定期的に送信しあうことでお互いのサーバの状態確認やサービス起動停止の一括制御を実現

ハートビート通信

共有ディスク サーバ#2サーバ#1

生きてる? 元気だよ

サービス起動して

OK

Page 30: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

クラスタ間の通信

Linux-HA Japan Project 30

ハートビートLAN

共有ディスク サーバ#2サーバ#1

通信断発生!

サーバ#1からの応答が無くなった・・・!

ノード故障が発生したかな?サービスを起動しなきゃ!

この状態ってもしかして・・・?

「スプリットブレイン」です

もしハートビート通信が途絶したら....

Page 31: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

スプリットブレイン対策

Linux-HA Japan Project 31

HW制御ボードHW制御ボード

STONITH(Shoot The Other Node In The Head)・スプリットブレイン(両系がActive状態)になる前に対向ノードの強制電源断を実行する機能(排他制御機能)・サーバ付属のリモートHW制御ボード(iLOなど)を操作

ハートビートLAN

共有ディスク

サーバ#2サーバ#1

ハートビートLANとは別の通信経路を使用

サーバの電源と連動しないデバイスを使用

STONITHLAN

iLOポート

Page 32: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

スプリットブレイン対策

Linux-HA Japan Project 32

STONITHLAN

ハートビートLAN

共有ディスク

サーバ#2サーバ#1

通信断発生!

①サーバ#2の応答が無くなった・・・!

<STONITHによる排他制御イメージ>

HW制御ボード HW制御ボード

①サーバ#1の応答が無くなった・・・!

②’サービスを起動しなきゃ!

②サーバ#2でサービスを起動させてはいけない!

2重起動を免れた!

Page 33: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

【補足】STONITHが使えない環境の場合

Linux-HA Japan Project 33

sfex・共有ディスクのsfex専用パーティションに、ディスクのロック情報を定期的に書き込む・Active系によりロック情報が更新されていれば、Active系が生存していると判断し、Standby系でのリソース起動を抑止・STONITHが使用できる環境においても、信頼性を高めるために本機能を併用することがある

VIPcheck・Standby系からActive系の仮想IP(VIP)に対してpingを送信・ping応答があれば、Active系が生存していると判断し、Standby系でのリソース起動を抑止

HW制御ボードなどが存在せずSTONITHが使用できない場合は以下のような機能によりスプリットブレイン対策を行うことが可能

各機能の詳細についてはOSC 2015 Tokyo/Fallに講演している

『試して覚えるPacemaker入門 排他制御機能編』の資料を参照してください。 http://linux-ha.osdn.jp/wp/archives/4338

Page 34: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

いろんなHAクラスタ

Page 35: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

HAクラスタの構成

Linux-HA Japan Project 35

【1+1Cross構成】2の業務APを別ノードで起動させ、それぞれのノードを相互に現用系、予備系とする構成

【1+1構成】現用系と予備系が1:1の構成

【N+1構成】複数台の現用系ノードに対して1台の予備系ノードを置く構成

【N+M構成】複数台の現用系ノードに対して複数台の予備系ノードを置く構成

サービスAP1

現用系

サービスAP1

サービスAP2

予備系

現用系(サービスAP1) 予備系(サービスAP1)

現用系(サービスAP2)予備系(サービスAP2)

サービスAP1

サービスAP2

サービスAP3

サービスAP1

サービスAP2

サービスAP3

現用系 現用系 現用系 予備系

現用系 現用系 現用系 予備系 予備系

HAクラスタには現用系1台、予備系1台の1+1構成の他に、以下の様な構成も可能

Page 36: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

HAクラスタにおけるデータ管理

Linux-HA Japan Project 36

共有ディスクを使用して、同じデータファイルにアクセスする

HAクラスタではフェイルオーバ後に処理を引き継ぐため、予備系でも現用系と同一のデータが必要

共有ディスク

ハートビートLAN

現用系(Active) 予備系(Standby)

サービスAP

もう一つのやり方が...

データをレプリケーションして、同じデータを保有する

Page 37: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

シェアードナッシングHA構成

Linux-HA Japan Project 37

• OSS製品ではPostgreSQLの機能やDRBDを使用することでレプリケーションが可能。• 高価な共有ディスクがないためコストは安いがレプリケーションによるオーバヘッドが

あるため性能は共有ディスクを使用したほうが高い。

現用系 予備系

レプリケーション

データを更新する際に、更新内容をネットワーク経由で予備系にレプリケーションする構成

データ更新

サービスAP

サービスAP

Page 38: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Linux-HA Japan Project 38

PacemakerとPostgreSQLのレプリケーション機能によるシェアードナッシングHA構成についてもっと知りたい方へ

オープンソースカンファレンス2017 Kyoto「試して覚えるPacemaker入門 PG-REX(Pacemaker + PostgreSQLによるシェアードナッシングHA構成)構築」http://linux-ha.osdn.jp/wp/archives/4627

オープンソースカンファレンス2018 Osaka「試して覚えるPacemaker入門 PG-REX(Pacemaker + PostgreSQLによるシェアードナッシングHA構成)運用」http://linux-ha.osdn.jp/wp/archives/4664

PacemakerとDRBDによるシェアードナッシングHA構成についてもっと知りたい方へ

SIOS社(旧サードウェア社)提供の日本語マニュアルhttps://blog.3ware.co.jp/ドキュメント/

参考資料

Page 39: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

まとめ

Page 40: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

まとめ

Linux-HA Japan Project 40

可用性とクラスタ• 可用性を向上させるためにクラスタを導入しSPOFを除去• 「負荷分散クラスタ」の同一のサービスを複数サーバで提供することで処理の分散と

可用性の向上を実現• 「HAクラスタ」は故障発生時に同一のサービスを別のサーバで立ち上げなおすことで

可用性の向上を実現• 「負荷分散クラスタ」と「HAクラスタ」はサービスを2重起動するか否かでどちらの構成

とするか決める

PacemakerによるHAクラスタ• HAクラスタソフトの主な機能として故障検知とサービス引継ぎ、スプリットブレイン対策

のための排他制御がある• Pacemakerではリソースエージェント(RA)を使用することで様々な対象の故障検知や

サービス引継ぎが可能• スプリットブレイン対策としてSTONITHが使用可能• HAクラスタは現用系、予備系を1+1構成だけではなくN+M構成など様々な構成が可能• 動的なデータは共有ディスクの使用やレプリケーションすることで予備系に共有

Page 41: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

コミュニティ紹介

Page 42: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Linux-HA Japan Project 42

Linux-HA Japan URL

http://linux-ha.osdn.jp/

Pacemaker関連の最新情報を日本語で発信

Pacemakerのダウンロードもこちらからどうぞ(インストールが楽なリポジトリパッケージを公開しています)

https://ja.osdn.net/projects/linux-ha/

コミュニティ紹介

Page 43: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

Linux-HA Japan Project 43

• ML登録用URLhttp://linux-ha.osdn.jp/

の「メーリングリスト」をクリック

• MLアドレス[email protected]

日本におけるHAクラスタについての活発な意見交換の場として「Linux-HA Japan日本語メーリングリスト」 も開設しています

Linux-HA-Japan MLでは、Pacemaker、Heartbeat3、Corosync

DRBDなど、HAクラスタに関連する話題は歓迎!

※スパム防止のために、登録者以外の投稿は許可制です

コミュニティ紹介

Page 44: Pacemakerで学ぶ HAクラスタlinux-ha.osdn.jp/wp/wp-content/uploads/OSC2019_Kyoto.pdfHA クラスタの管理を自動化するソフトウェアをHAクラスタソフトという

ご清聴ありがとうございました