Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

止まらないLinuxシステムを構築する_高信頼性クラスタ入門

 止まらないLinuxシステムを構築する_高信頼性クラスタ入門

止まらないLinuxシステムを構築する!高信頼性クラスタ入門
クラウド、オンプレどちらの環境でも障害は不意にやってきます。

そんなときもサービスを継続提供するためのHAクラスタ。

今回は高信頼性を実現するクラスタの考え方の基本から、具体的にLinuxクラスタを設計/構築するコツについて解説します!

こんな方にオススメ
・Linux初心者の方

・Linuxが好きな方

・高信頼性、高可用性クラスタに興味ある方

koedoyoshida

April 24, 2024
Tweet

More Decks by koedoyoshida

Other Decks in Technology

Transcript

  1. 公開 自己紹介 サイバートラスト株式会社社員 MIRACLE LINUX Users Meetup 主催 Python Software

    Foundation Managing members 2021- 一般社団法人PyCon JP Association 理事
  2. 公開 自己紹介2 サイバートラスト MIRACLE CLUSTERPRO担当 クラスタ製品を2000年代、前職から20年以上構築/サポートなど担当 クラスタの経験 Linux/Win/UNIXのHAクラスタ,主にCLUSTERPRO、他商用、OSSクラスタ Windows NT4.0

    + CLUSTERPRO 4.0頃から LinuxはMIRACLELINUX2.1+CLUSTERPRO LE/SEから OSSはHeartbeat(現Pacemaker)/DRBDあたりから HP-UXでのMC/ServiceGuardなどの商用製品も複数経験
  3. 公開 HAクラスタそもそも何がうれしいの? • 人が見ていない夜間や休日といったときに障害が発生 しても自動復旧できる • 障害即、サービス全停止とならないようにできる • サーバで故障、障害発生でも一時的な中断だけで、 サービス継続できる

    • 障害から自動で復旧できる • (インフラ)エンジニア、サービス提供者が(ある程度) 安心を得ることができる これには導入するだけでは駄目、きちんと設計/構築/テ ストが必要。今日は入門編です。
  4. 公開 99.5%の信頼性とは…年間で2日弱停止 稼働率と停止時間 稼働率 年間 四半期 月間 週間 24時間 90%

    36.53日 9.13日 73.05時間 16.80時間 2.40時間 95% 18.26日 4.56日 36.53時間 8.40時間 1.20時間 99% 3.65日 21.9時間 7.31時間 1.68時間 14.40分 99.5% 1.83日 10.98時間 3.65時間 50.40分 7.20分 99.9% 8.77時間 2.19時間 43.83分 10.08分 1.44分 99.95% 4.38時間 65.7分 21.92分 5.04分 3.20秒 99.99% 52.60分 13.15分 4.38分 1.01分 8.64秒 99.995% 26.30分 6.57分 2.19分 30.24秒 4.32秒 99.999% 5.26分 1.31分 26.30秒 6.05秒 864.00ミリ秒
  5. 公開 信頼性、稼働率の計算は掛け算 SPOFが複数ある直列パターンでは そのような部品が増えるごとに稼 働率が下がる=信頼性が落ちる それぞれの部品やサービスの信頼 性が強く要求される 並列パターンであれば、相互補完 可能などれかの部品やサービスが 動作していれば良いので、各部品

    やサービスへの要求が下がって、 トータルの信頼性が向上する。 実際のシステムはこの組み合わせ サーバ稼働率の合成直列 0.99 0.99 0.99 0.99 0.99*0.99*0.99*0.99=0.96059601 サーバ稼働率の合成並列 0.99 0.99 1-(1-0.99)*(1-0.99)= 0.9999
  6. 公開 99.99%の信頼性とは…年間で1時間弱停止 稼働率と停止時間 稼働率 年間 四半期 月間 週間 24時間 90%

    36.53日 9.13日 73.05時間 16.80時間 2.40時間 95% 18.26日 4.56日 36.53時間 8.40時間 1.20時間 99% 3.65日 21.9時間 7.31時間 1.68時間 14.40分 99.5% 1.83日 10.98時間 3.65時間 50.40分 7.20分 99.9% 8.77時間 2.19時間 43.83分 10.08分 1.44分 99.95% 4.38時間 65.7分 21.92分 5.04分 3.20秒 99.99% 52.60分 13.15分 4.38分 1.01分 8.64秒 99.995% 26.30分 6.57分 2.19分 30.24秒 4.32秒 99.999% 5.26分 1.31分 26.30秒 6.05秒 864.00ミリ秒
  7. 公開 SPOFと冗長化 『Single Point Of Failure』 日本語だと『単一障害点』と いう言い方になりますが、よ く『SPOF』なんて略称が用い られます。そもそもSPOFとは、

    『障害が発生するとシステム 全体がダウンしてしまうよう な箇所』のことを言います。 ここでポイントとなるのが障 害が発生した箇所が『単一』 であることです。 この場合どこがSPOFになるで しょう?
  8. 公開 SPOFと冗長化 実はこの図で示されているパーツのほぼ全 てがSPOFとなっています。 HDDは複数個ありRAIDコントローラで冗 長化されているので、HDD自体はSPOFと いう扱いになりませんが、それ以外は SPOFという扱いです。「冷却ファンは2 つあるじゃないか!」とツッコミがあるか もしれませんが、「各CPUに対して冷却

    ファンは1つ」であるとすれば、それは SPOFとなります。冷却ファンが故障すれ ばCPUが冷却できなくなり、CPUが熱暴走 で動かなくなってしまいます。結果として システムダウンに陥ってしまうというわけ です。
  9. 公開 PCサーバの冗長化の方法 パーツによって冗長化の手段が異なるのでひとつひとつ見ていきましょう。 (PCサーバーで一般的に用いられる技術を中心に解説していきます。) CPU : マザーボードとOSが対応していれば、障害が発生したCPUを切り離し、 残ったCPUでOSの稼働を継続させることができます。ただ、最近のPCサー バーでは対応していないものも多いようです。 メモリ

    : メモリミラーリング機能を搭載しているマザーボードであれば、複 数のメモリで冗長化が可能です。ただし、OSから認識できる容量はメモリの搭 載容量の半分になります。 HDD : 複数のHDDでRAID(ミラーリングなど) を構成することで冗長化が可 能です。一般的にはRAIDコントローラに複数のHDDを接続し、RAIDを構成し ます。 RAID0(ストライピング)は信頼性が下がりますので冗長性の面からはお勧めし ません。サーバではRAID5,RAID1での運用が多いです。 ソフトウェアRAIDは安価ですが、Linuxでは冗長化上も扱いが難しいことが多 く、復旧も簡単なハードウェアRAIDをお勧めします。
  10. 公開 PCサーバの冗長化の方法 拡張ボード(LAN/FC) : 複数のインターフェースを束ねて仮想的に1つものと して扱う技術 ※ があります。複数の拡張ボードを用意し、各ボードのイン ターフェースを束ねることでボード障害に対応することができます。 ※LANの場合、チーミングやボンディングと言います。またFCに関してはマル

    チパスI/Oやデバイスマッパーマルチパスと言います。この辺りはOS文化の違 いでしょうが、細かい解説は割愛します。 電源ユニット : 電源ユニットを複数搭載することで冗長化することができま す。 DCに設置し、別々の2系統から電源を取るのがおすすめです。 オフィスビルなどの場合、これにUPS(無停電電源装置)をプラスして停電対策 を行っていることが多いです。一時的な停電や瞬断の対策としてUPSは非常に 効果的です。 冷却ファン : 風の流れる方向に2つの冷却ファンを配置することで冗長化でき ます。片方が止まっても、もう片方のファンで風を届けることができます。
  11. 公開 SPOFを無くすには? 実はまだ冗長化できていないコンポーネン ト(SPOF となっている箇所)があります。 マザーボードやRAIDコントローラ、それに OSです。ここまでくると1台のサーバーで は解決できません。 OS上で動くアプリケーションに関しては各 アプリケーションの仕様に依存しますが、1

    つのOS内でアプリケーションそのものが冗 長化されていることはほとんどありません ので、OSやその上で動くものは全て冗長化 できないものとして扱います。 マザーボードを含めほぼ全てのコンポーネ ントを冗長化したフォールトトレラント サーバというものがありますが、やはりOS 部分はSPOFとなってしまいます。
  12. 公開 障害箇所例 共有ディスクコントローラ 故障:一部/全部 FC-SW故障:一部/全部 SCSI/FCバス:断線 FCHBA:故障 インタコネクトLAN パブリックLAN 電源ユニット:故障

    商用電源:系統故障 本体UPS アレイ(共有ディスク)UPS UPS用LAN CPU故障:一部/全部 メモリ故障:一部/全部 ローカルディスク:一部障 害、ディスクフルなど RAIDコントローラ障害 NIC障害 OS:サービスの動作異常/ 停止、ユーザ空間のストー ル、PANIC発生 AP:プロセス消失、機能停 止、スローダウン GPU/ディスプレイ
  13. 公開 具体的なクラスタソフトウェア Linuxで使用できるクラスタソフトウェアはいろいろあ ります。 OSSの例 Corosync / Pacemaker / DRBD

    Corosyncは、クラスタ管理プログラムであり、定期的 にハートビート通信を送信することによって、クラスタ を構成するマシンの稼働状態を監視します。 Pacemakerは、リソース管理プログラムであり、障害発 生を検知することによって、管理するサービスを待機系 のマシンへフェイルオーバします。 CorosyncとPacemakerを組合せることで、Linux上で、 HAクラスタを実現する事が可能です。 DRBDは、ストレージをネットワーク経由でミラーリン グするソフトウェアです。
  14. 公開 MIRACLE CLUSTERPRO X Linux OS「MIRACLE LINUX 9.2」および「AlmaLinux 9.2」に対応した高可 用性クラスタリングソフトウェアの最新版「MIRACLE

    CLUSTERPRO X (ミ ラクル クラスタープロ エックス) 5.1」を、2024 年 3 月 6 日より販売開始 します。また、シングルサーバーの可用性向上を実現する「MIRACLE LINUX HA」の最新版および AlmaLinux OS(以下、AlmaLinux)の日本語による技 術サポートを提供する OS サポートをバンドルした「MIRACLE CLUSTERPRO X 5.1 for AlmaLinux」、「MIRACLE HA for AlmaLinux」 も同時に販売開始
  15. 公開 実際に構築してみる MIRACLELINUX 9.2とMIRACLE CLUSTERPRO X ミラーディスク構成 ・ハードウェア:2式 NIC2系統 システムディスクとミラー用ディスク

    ・OSインストール https://www.miraclelinux.com/distribution/download システムディスクに最小限のインストール 各NIC(計4)に固定IPアドレスを振る ・OSインストール後疎通確認
  16. 公開 クラスタ構築 • MIRACLE CLUSTERPRO 評価版申し込み • https://www.cybertrust.co.jp/linux-oss/evaluation/ • 手順に沿ってインストール/構築

    • https://www.miraclelinux.com/support/mcpx5 • インストール • ライセンス登録 • SELinuxの設定 • (SNMP設定) • OSファイアウォールの設定 • WebUIからクラスタ構築を実施
  17. 公開 MIRACLE CLUSTERPRO X システムの障害を監視し、障害発生時には健全なサーバーに業務を引き継ぎ、 高可用性を実現する日本電気株式会社(以下、NEC)製の HA クラスタリング ソフトウェア「CLUSTERPRO X」とサイバートラストの

    Linux OS 「MIRACLE LINUX」を組み合わせたパッケージ製品です。「CLUSTERPRO」 は、21 年連続国内シェア No.1 の実績を誇り ※1 、Windows および Linux のどちらの OS でも動作し、OSS をはじめとしたさまざまなアプリケーション のクラスター化による可用性の向上を実現します。
  18. 公開 MIRACLE HA MIRACLE CLUSTERPROの姉妹製品 自動障害復帰機能を備え、障害を検知すると OS 再起動・アプリケーション再 起動をして、シングルサーバーの業務サービスを復帰させる、廉価 HA

    ソ リューション製品です。障害、メンテナンスによるサービス停止時間を最低限 に抑え、ビジネス継続性を高める仕組みを多数取り込んでいます。 クラウド基盤/仮想化基盤において、MIRACLE LINUX HA / MIRACLE HA for AlmaLinux を利用することで、クラウド基盤/仮想基盤の HA 機能で検知しな いソフトウェア障害を回避することが可能です。
  19. 公開 参考資料 HAクラスター入門 https://jpn.nec.com/clusterpro/blog_introduction.h tml MIRACLE CLUSTERPRO X5 技術情報 https://www.miraclelinux.com/support/mcpx5

    MIRACLE CLUSTERPRO X https://www.cybertrust.co.jp/clp/ MIRACLE LINUX HA / MIRACLE HA for AlmaLinux https://www.cybertrust.co.jp/miracle-linux/ha/