Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

OSSで実現するハイブリッドクラウド4ノードクラスタ ~Pacemakerのチケット機能で災害対策~

2 811 vues

Publié le

※本スライドは、オープンソースカンファレンス2016 Tokyo/Springで公演したもので、内容は構成の概要を説明するものです。詳細な手順書は株式会社サードウェアのサイトで公開しています。
==============================================================
ミッションクリティカルなシステムをHAクラスタ化しても、事故や災害で設置サイト全体が損壊してしまった場合には、長期間のシステム停止は避けられません。本セミナーでは、「マルチサイトのHAクラスタ間をDRBDを使用してデータ同期しておき、Pacemakerのチケット機能を使って運用を切り替えるシステム」を紹介します。加えてDRBDのアクセラレータの有用性も紹介します。
オンプレ、パブリッククラウド等のハイブリッドな構成でジオクラスタを実現して、一歩先いく災害対策を進めましょう。

Publié dans : Logiciels
  • Soyez le premier à commenter

OSSで実現するハイブリッドクラウド4ノードクラスタ ~Pacemakerのチケット機能で災害対策~

  1. 1. OSSで実現する ハイブリッドクラウド4ノードクラスタ ~Pacemakerのチケット機能で災害対策~ サードウェア技術部 小町哲也
  2. 2. 株式会社サードウェア 設立 1997年2月7日 事業内容 インターネット/イントラネット活用のための総合的な支援サービス Linux オープンソース・ソフトウェアのサポート コンピュータ・セキュリティのコンサルテーション DRBD開発元のLINBIT社の国内総代理店 Bacula 開発元のBacula Systems社の国内総代理店 監視サービス Bacula Enterprise Edition LINBIT クラ スタスタックサ ポート copyright © 2016 thirdware.Inc
  3. 3. OSSで ダウンタイムが最小限になる 災害にも強いシステムをつくる方法 本日の内容 copyright © 2016 thirdware.Inc
  4. 4. リソース自動管理 ディスク同期 リソース自動管理 ディスク同期 紹介する構成 copyright © 2016 thirdware.Inc
  5. 5. 目次 1. HAクラスタとDRシステムの必要性 2. 使用ソフトの機能と構成の説明 3. 構築の流れ 4. 遠距離レプリケーションを速くする方法 copyright © 2016 thirdware.Inc
  6. 6. 1.HAクラスタとDRシステムの必要性 copyright © 2016 thirdware.Inc
  7. 7. HAクラスタ ホットスタンバイ ↓ 片系に障害が発生しても、 すぐにもう片系で処理を引き継ぐ HAクラスタの高可用性 OSSで ダウンタイムが最小限になる 災害にも強いシステムをつくる方法 copyright © 2016 thirdware.Inc
  8. 8. 安全な場所 別のサイトにサーバを設置し、 メインサイトとデータ同期しておく ↓ ・リアルタイムのデータ保護 ・サイト全体が壊滅してもわずかな ダウンタイムでサービス継続 即時復旧できる災害対策システム OSSで ダウンタイムが最小限になる 災害にも強いシステムをつくる方法 copyright © 2016 thirdware.Inc
  9. 9. Pacemaker・・・リソースを制御するOSS Corosync・・・クラスタを制御するOSS DRBD・・・データ同期するOSS コスト圧縮 OSSで ダウンタイムが最小限になる 災害にも強いシステムをつくる方法 copyright © 2016 thirdware.Inc
  10. 10. 以上の3つに加えて、 今回は既存環境のDRサイトはクラウド上に作成します。 災害対策として意味があり、かつ国内データセンターである、 西日本データセンターのあるMicrosoft Azureを利用します。 クラウド利用でハードルを下げる copyright © 2016 thirdware.Inc
  11. 11. リソース自動管理 ディスク同期 リソース自動管理 ディスク同期 紹介する構成 copyright © 2016 thirdware.Inc
  12. 12. リソース自動管理 ディスク同期 リソース自動管理 ディスク同期 紹介する構成 相互に独立した系の HAクラスタ ※災害復旧切り替えは人間系 DRサイト メインサイト copyright © 2016 thirdware.Inc
  13. 13. 2.使用ソフトの機能と構成の説明 copyright © 2016 thirdware.Inc
  14. 14. Pacemakerチケット機能<1.1.6-1以降>を使用します。 指定のリソースが、サイト内にチケットがある時だけ起動できるようにします。 (チケットとリソースの起動に依存関係を持たせる) チケットをサイトに与える/取り上げると、系が切り替えられます。 チケットを使用して系切り替え copyright © 2016 thirdware.Inc
  15. 15. DRBDのスタックデバイスを使用します。 DRBD(Duplicated Replicated Block Device)・・・ ブロックデバイスを複製するソフトウェア。ネットワーク越しのRAID 1のイメージ。 ファイルシステムよりも下位のレイヤーで動作 ファイルシステムやアプリケーションに依存しない。そのまま1つのディスクのように 扱える。 プライマリ(コピー元)とセカンダリ(コピー先) スタックデバイス・・・ DRBDデバイスをスタック(積み重ね)して作成する上位のDRBDデバイス Primary スタックデバイスの同期でサイト間同期 Secondary Primary Secondary copyright © 2016 thirdware.Inc
  16. 16. DRBDのスタックデバイスを使用します。 DRBD(Duplicated Replicated Block Device)・・・ ブロックデバイスを複製するソフトウェア。ネットワーク越しのRAID 1のイメージ。 ファイルシステムよりも下位のレイヤーで動作 ファイルシステムやアプリケーションに依存しない。そのまま1つのディスクのように 扱える。 プライマリ(コピー元)とセカンダリ(コピー先) スタックデバイス・・・ DRBDデバイスをスタック(積み重ね)して作成する上位のDRBDデバイス Primary スタックデバイスの同期でサイト間同期 Secondary Primary Secondary copyright © 2016 thirdware.Inc
  17. 17. ticket D2 L2L1 DRサイト メインサイト pacemakercorosync Primary Secondary DRBD r0 corosyncpacemaker DRBD r0 corosync Primary DRBD r0 pacemaker DRBD rS Secondary pacemaker corosync Secondary DRBD r0 vip DRBD rS Primary MariaDB D1 データ同期 リソース管理 通常時 データ同期 リソース管理 サービス vip データ同期 ※今回紹介する構成と細部は異なります。 copyright © 2016 thirdware.Inc
  18. 18. DRサイト Primary DRBD r0 Secondary DRBD r0 D1 メインサイト壊滅 L2L1 Primary DRBD r0 DRBD r0 データ同期 リソース管理 メインサイト D2 ticket pacemakercorosync Secondary corosyncpacemakercorosync pacemakerpacemaker corosync データ同期 リソース管理 サービス DRBD rS Primary vip MariaDB vip DRBD rS Primary MariaDB copyright © 2016 thirdware.Inc
  19. 19. ticketDRサイト DRBD r0 Secondary DRBD r0 DRBD rS MariaDB Primary Primary データ同期 リソース管理 DRサイトのD2がフリーズ D2 L2L1 メインサイト Primary DRBD r0 DRBD r0 データ同期 リソース管理 D1 vip pacemakercorosync Secondary corosyncpacemakercorosync pacemakerpacemaker corosync サービス vip DRBD rS Primary MariaDB copyright © 2016 thirdware.Inc
  20. 20. 3.構築の流れ copyright © 2016 thirdware.Inc
  21. 21. 1.メインサイト構築 2.DRサイト構築 ・Azureでの構成上のポイント 3.各パッケージインストール 4.DRBD設定 5.Pacemaker、Corosync設定 6.スタックリソース作成 7.リソース設定 mysql-file vip proxy proxy r0 Masterr1 Master rS Master mysql r0 slaver1 Slave DR メイン rS Slave mysql-file mysql proxy rS mysql-file mysql mysql-file proxy rS mysql この構成を作る流れです copyright © 2016 thirdware.Inc
  22. 22. 1.メインサイト構築 2.DRサイト構築 ・Azureでの構成上のポイント 3.各パッケージインストール 4.DRBD設定 5.Pacemaker、Corosync設定 6.スタックリソース作成 7.リソース設定 2台のマシンを構築 ・CentOS 7.2 ・DRBD用のパーティション ・DRBDのレプリケーション用NIC(インターコネクト) ・Corosyncのハートビート用NIC (インターコネクト) ・外部通信用のNIC DR メイン copyright © 2016 thirdware.Inc
  23. 23. 1.メインサイト構築 2.DRサイト構築 ・Azureでの構成上のポイント 3.各パッケージインストール 4.DRBD設定 5.Pacemaker、Corosync設定 6.スタックリソース作成 7.リソース設定 リソースマネージャーモデルで構築 (クラシックモデルでも可能) ・西日本に仮想ネットワークを作成 (リソースグループも作成) ↓ ・可用性セットを作成 (作成済リソースグループ使用) ↓ ・Virtual Machine2台作成(CentOS Based7.0) (作成済リソースグループと可用性セット使用) ※作成後、CentOS 7.2にアップデート ↓ ・ロードバランサ作成 上記2マシンを接続、プローブ規則作成 DR メイン copyright © 2016 thirdware.Inc
  24. 24. 1.メインサイト構築 2.DRサイト構築 ・Azureでの構成上のポイント 3.各パッケージインストール 4.DRBD設定 5.Pacemaker、Corosync設定 6.スタックリソース作成 7.リソース設定 プローブの補足 DR メイン copyright © 2016 thirdware.Inc
  25. 25. 1.メインサイト構築 2.DRサイト構築 ・Azureでの構成上のポイント 3.各パッケージインストール 4.DRBD設定 5.Pacemaker、Corosync設定 6.スタックリソース作成 7.リソース設定 # yum install drbd kmod-drbd linbit-cluster-stack-corosync2 公開しているソースからビルドしたり、無料のrpmパッ ケージをダウンロード等いろいろありますが、 LINBIT公式パッケージを使うのが一番安全で楽です。 (有償) r0r1 r0r1 DR メイン copyright © 2016 thirdware.Inc
  26. 26. 1.メインサイト構築 2.DRサイト構築 ・Azureでの構成上のポイント 3.各パッケージインストール 4.DRBD設定 5.Pacemaker、Corosync設定 6.スタックリソース作成 7.リソース設定 # yum install drbd-proxy mariadb-server なお、今回は遠距離レプリケーションを効果的に 行うためのソフトウェア、DRBD Proxy(プロプ ライエタリ)もインストールします。 また、リソースとなるMariaDBもインストールしま す。 ※Pacemaker上ではMySQLと同じ扱い proxy proxy r0r1 mysql r0r1 DR メイン mysql proxy mysql proxy mysql copyright © 2016 thirdware.Inc
  27. 27. 1.メインサイト構築 2.DRサイト構築 ・Azureでの構成上のポイント 3.各パッケージインストール 4.DRBD設定 5.Pacemaker、Corosync設定 6.スタックリソース作成 7.リソース設定 DRBDリソースを定義するファイル (リソース名.res)を各マシンに置く ・メインサイトの2台のリソースファイル(r0.res) ・DRサイトのリソースファイル(r1.res) ・スタックリソースのファイル(rS.res) 計3つを、4台のマシンすべてに配置 ↓ r0、r1のメタデータを作成 ↓ DRBD起動・初期同期 ↓ いったん停止 vip proxy proxy r0 Masterr1 Master rS mysql r0 slaver1 Slave DR メイン rS mysql proxy rS mysql proxy rS mysql copyright © 2016 thirdware.Inc
  28. 28. # cat /etc/drbd.d/r0.res resource r0 { net{ protocol C; } on haticket1 { device /dev/drbd0; disk /dev/sdb1; address 10.0.0.1:7788; meta-disk internal; } on haticket2 { device /dev/drbd0; disk /dev/sdb1; address 10.0.0.2:7788; meta-disk internal; } } # cat /etc/drbd.d/rS.res resource rS { net{ protocol A; } proxy { memlimit 500M; compression on; } stacked-on-top-of r0 { device /dev/drbd10; address 127.0.0.1:7790; proxy on haticket1 haticket2 { inside 127.0.0.1:7791; outside 10.30.102.80:7792; } } stacked-on-top-of r1 { device /dev/drbd10; address 127.0.0.1:7790; proxy on haticket3 haticket4 { inside 127.0.0.1:7791; outside 10.30.102.79:7792; } } } リソースファイルの例 copyright © 2016 thirdware.Inc
  29. 29. 1.ローカルサイト構築 2.DRサイト構築 ・Azureでの構成上のポイント 3.各パッケージインストール 4.DRBD設定 5.Pacemaker、Corosync設定 6.スタックリソース作成 7.リソース設定 Corosyncの設定ファイルを作成 ↓ Corosync、Pacemaker起動 ↓ Pacemakerは設定を対話モードで投入 (事前の設定ファイルはない) ↓ リソース起動の依存関係を設定 r0 Master rS Master チケッ ト vip mysql- file mysql ※DRBD領域マウント drbd-proxy ※DR側はVIPリソースなし ←今はここまで vip proxy proxy r0 Masterr1 Master rS mysql r0 slaver1 Slave DR メイン rS mysql proxy rS mysql proxy rS mysql copyright © 2016 thirdware.Inc
  30. 30. 1.ローカルサイト構築 2.DRサイト構築 ・Azureでの構成上のポイント 3.各パッケージインストール 4.DRBD設定 5.Pacemaker、Corosync設定 6.スタックリソース作成 7.リソース設定 ローカルサイトとDRサイト両方の マスター側のマシンで スタックリソースrSのメタデータを作成 ↓ 起動、初期同期 ↓ ファイルシステム作成(xfs) mysql-file vip proxy proxy r0 Masterr1 Master rS Master mysql r0 slaver1 Slave DR メイン rS Slave mysql-file mysql proxy rS mysql-file mysql mysql-file proxy rS mysql copyright © 2016 thirdware.Inc
  31. 31. 1.ローカルサイト構築 2.DRサイト構築 ・Azureでの構成上のポイント 3.各パッケージインストール 4.DRBD設定 5.Pacemaker、Corosync設定 6.スタックリソース作成 7.リソース設定 リソース起動の依存関係の 続きを設定します r0 Master rS Master チケット vip mysql- file mysql ※DRBD領域マウン ト drbd-proxy mysql-file vip proxy proxy r0 Masterr1 Master rS Master mysql r0 slaver1 Slave DR メイン rS Slave mysql-file mysql proxy rS mysql-file mysql mysql-file proxy rS mysql copyright © 2016 thirdware.Inc
  32. 32. 切り替えの様子 copyright © 2016 thirdware.Inc
  33. 33. 4.遠距離レプリケーションを速くする方法 copyright © 2016 thirdware.Inc
  34. 34. 遅延…… WANでの同期には限界がある 帯域幅…… LAN WAN LAN WAN 時間 copyright © 2016 thirdware.Inc
  35. 35. ・転送するデータを圧縮をする ・スタックリソースの同期は、非同期レプリケーション 自機のディスクへの書き込み+TCP送信バッファに送信で書き込み 完了とする ↓ 速度の安定しない回線でも、転送用のバッファーを設けることでボト ルネックを回避できる 長距離WANでのDRBD使用のために作られた DRBD Proxyを使う 遠距離でのDRBD同期を速くするには? copyright © 2016 thirdware.Inc
  36. 36. 50Mbps環境におけるDRBDによるDR環境とDRBD ProxyによるDR環境との性能比較 DRBD Proxyを使用することで、10倍以上の性能向上 4.遠距離レプリケーションを速くする方法 なし 5 10 20 50 100 0 1000 2000 3000 4000 5000 ネットワーク レイテンシ(ミリ秒) トランザクション毎分(tpm) 同期なし DRBD Proxyなし同期 DRBD Proxyあり同期 copyright © 2016 thirdware.Inc
  37. 37. 今回の構成の詳細な構築手順は、後日サードウェ アのホームページからダウンロードできます。 https://www.3ware.co.jp/ その他、 ・各種構成のホワイトペーパー ・DRBDの日本語マニュアル も公開しています。 copyright © 2016 thirdware.Inc
  38. 38. 事例紹介:アイル様 導入効果 ・100ギガバイトの新規バックアップが4時間ですむ(25GB/時間) ・日次バックアップを自動化できた ・Sambaサーバによりバックアップデータの確認や非定型処理に対応 ・他社提示の1000万円→400万円以下という圧倒的な低コスト での導入を実現 copyright © 2016 thirdware.Inc
  39. 39. 350テラバイトのファイルサーバ事例 導入効果 • 200MbpsのIPsec VPN帯域をほぼフルに使い切るレプリケーションを実現 • エンタープライズストレージより1桁安価なコスト • 「外部データセンター」側でも被災時に代替システム起動可能に copyright © 2016 thirdware.Inc
  40. 40. ご清聴ありがとうございました 一部のアイコンは以下から入手 http://www.flaticon.com/copyright © 2016 thirdware.Inc

×