「難しい」HAクラスタの構築と運用をAnsibleとLINBIT クラスタスタックサポートで簡単、安心に:OSSにチャレンジしたい。でもサポートは?
HAクラスタはシステムの可用性を高めるために有効な手段だ。「難しい」「手間がかかる」「製品やサービスが高い」などを懸念するIT担当者は少なくないが、「OSSを使って安価で簡単に実現する方法がある」という。
「ITシステムの可用性を向上させて、ダウンタイムを最小化する」。言葉にすれば短いが、そんなに簡単なものではないことはIT担当者であればよく知っているだろう。クラウドにITシステムを構築すればハードウェア故障の不安からは解放されるが、企業の方針やデータの機密性などによってオンプレミスを選択する企業は少なくない。
オンプレミスのITシステムで可用性を確保する場合、「HAクラスタ」(High Availability Cluster)が有効だ。少なくとも2台以上のサーバ(稼働系サーバと待機系サーバ)で構築するHAクラスタは、障害が起きてもITシステムを停止させずに済むし、遠距離にサーバを置けば自然災害などの影響も少なくできる。
OSSを活用してHAクラスタを安価で実現する
HAクラスタを実現する方法は、ベンダーが提供する製品やサービスを利用したり、オープンソースソフトウェア(OSS)のツールを利用したりするなどさまざまだ。特に「OSSツールによるHAクラスタの実現」は、企業にとって「ライセンスコストを削減でき、必要に応じて改修できる」という点で魅力的な選択肢だろう。
だが、懸念もある。OSSはライセンス費用がかからないが、保守や運用は基本的に利用者が実施しなければならない。問題が発生した場合も利用者が解決する必要がある。もちろんOSSのコミュニティーなどは利用できるが、利用者特有の問題が起きることもあり得る。
OSSに詳しいサイオステクノロジーは次のように語る。
「OSSには慣れていないが、なるべくコストを下げたい。今後のコストの最適化を目指し、OSSの活用にチャレンジしたい、と考えるIT担当者の声をよく聞く。チャレンジに不安がある場合はOSSのサポートを提供する企業のサービスをうまく活用する手がある。サポートサービスを受けられればOSSを用いたHAクラスタのチャレンジも実はそれほど難しくはない」
「初めてのHAクラスタ構築」にはLINBIT クラスタスタックサポート
サイオステクノロジーは1997年の創業以来、OSSを中心に、さまざまなWebアプリケーションやITシステムの開発、基盤構築、運用サポートなどの事業を展開しており、OSS活用のさまざまな知見を持っている。同社は「OSSを使ったHAクラスタ構築であれば『Linux-HAクラスタスタック』が有効だ」と語る。
Linux-HAクラスタスタックはOSSのHAクラスタ構築パッケージだ。ネットワーク越しにデータをミラーリングする「DRBD」(Distributed Replicated Block Device)、リソースの監視や障害時のフェイルオーバーを実施する「Pacemaker」、クラスタを構成するサーバの死活監視をする「Corosync」の3つのソフトウェアで構成される。平時は、DRBDで稼働系サーバのデータを定期的に待機系サーバにコピー(ミラーリング)し、Corosyncで本番サーバを死活監視する。障害時はPacemakerが稼働系サーバから待機系サーバに切り替える(フェイルオーバーする)という仕組みだ。
OSSのため、ソフトウェアのソースコードは公開されており、技術力があればソースコードを解析し、自社の環境に合わせて改修を加えたり、外部ツールと連携させたりもできる。だが、OSSに詳しいエンジニアがいない企業の場合、それは難しい。サイオステクノロジーはLinux-HAクラスタスタックを簡単に活用するためのサポートサービス「LINBIT クラスタスタックサポート」を提供している。サポートサービスは幾つかあり、Linux-HAクラスタスタックで実現したい要件に合わせて選択できる。
「LINBIT クラスタスタックサポート HA」は稼働系と待機系サーバを組み合わせてクラスタを構築する。クラスタを構成する各サーバのストレージを共有する「共有ストレージ型」とストレージをクラスタ内で共有しない「シェアードナッシング型」の両方に対応する。シンプルに「OSSでHAクラスタを構築したい」といった場合はLINBIT クラスタスタックサポート HAを選ぶといい。「LINBIT クラスタスタックサポート DR」は遠隔地に配置したサーバ間でクラスタを構築する。可用性を高めるだけではなく、災害復旧(Disaster Recovery)対策もしたい場合に有効だ。
Ansibleを使った「簡単なHAクラスタ導入方法」
サイオステクノロジーは「LINBIT クラスタスタックサポートと構成管理ツール『Ansible』を組み合わせれば、HAクラスタ導入の手間を削減できる」という。AnsibleはRed Hatが開発したサーバ構成管理ツールだ。サーバを立ち上げる際に、設定ファイルに従いソフトウェアのインストールや設定を自動実行する。ちなみにOSS版とは別にRed Hatのサポートが付く商用版がある。
サイオステクノロジーは同社のブログで、LINBIT クラスタスタックサポートとAnsibleを組み合わせたHAクラスタの構築例を紹介している。概要は以下の通り。
HAクラスタの構築例
この例ではOSS版のAnsibleを利用し、本番サーバ1台(an-node1)、待機系サーバ2台(an-node2、an-node3)の3台のHAクラスタを構築する。Ansibleを動かすサーバ(esサーバ:Ansible Host)が別途必要なので必要なサーバは4台になる。
事前準備
LINBIT クラスタスタックサポートを入手する。サイオステクノロジーのWebページでアカウントを申請することでデモ版を無料で入手できる。GitHubに公開されている専用の「Ansible Playbook」をダウンロードする。Ansible Playbookは自動化に必要な情報や設定をYAML形式で記述した作業手順書だ。
次に4台の物理サーバ(もしくは仮想サーバ)を用意し、OSをインストールする。サーバ間の通信用にSSHも設定する。Ansible HostにAnsibleをインストールし、ダウンロードしたAnsible Playbookを配置する。設定ファイル(hosts.ini)に各サーバのIPアドレスを記載する。
Ansibleの実行
Ansible HostでAnsibleを実行(ansible-playbookコマンドを実行)する。AnsibleはAnsible Playbookに従って3台のサーバに対し、DRBD、Pacemaker、Corosyncをインストールし、セットアップする。これだけでHAクラスタは構成される。後は正常に動作するかどうかを確認すればいい。
サイオステクノロジーによると「今回の構成を手作業で実現すると11工程必要だ。だが、Ansibleなら5工程で済む」という。
「最も大きな違いは、各サーバにパッケージをセットアップする作業を自動化していることだ。例のように数台のサーバであればそれほど気にならないかもしれないが、サーバ数が増えれば増えるほどその影響は大きくなる。Ansibleによる作業の自動化は工程の削減だけではなく、人為的なミスの抑制という面でも大きなメリットだ」
企業が安心してOSSを利用できるサポート体制
Ansibleを組み合わせればHAクラスタの構築を効率的に実施できる。「適材適所でツールをうまく組み合わせれば、OSS活用のハードルを大きく下げられる」とサイオステクノロジーはいう。
サイオステクノロジーが提供しているLINBIT クラスタスタックサポートには、HAクラスタ構築支援の他に、不明点の問い合わせや問題解決の支援なども含まれる。
「顧客環境の障害の状況、設定ファイル、ログなどの情報を取得し、それらをサイオステクノロジーが解析し、問題を解決する。もしサイオステクノロジーで解決できない問題が発生した場合はLINBITの開発部隊に連携して対処する。企業が安心してOSSを利用できるよう、しっかりとしたサポート体制を整えている」
システムの可用性向上や安価なDRの実現を考えている企業にとってLINBIT クラスタスタックサポートは有効な選択肢だろう。Ansibleと組み合わせたHAクラスタの方法であれば構築も簡単だ。まずは無料でダウンロードし、その実力を試してみてはいかがだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:サイオステクノロジー株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2021年3月7日