こんにちは、システムライフ(SL)大学です。SL大学とは2022年に立ち上がった社内教育機関で、毎月勉強会を開催しています。その一部を学習ノートとして公開いたします。
オンプレサーバーを導入するときの注意点を、初心者向けにまとめるシリーズ。今回は冗長化についてまとめます。
システムの冗長化とは
当社は業務システムを提供しているので、システムが止まる=お客様業務がストップすることを意味します。これを回避する目的でシステムの予備+切り替え体制を作っておくのが「冗長化」です。サーバーはシステムの心臓部なので、オンプレ導入時は「有事の際にいかにサーバーを止めないか」を考えなければなりません。
その具体的なアプローチとして、①ハードディスク(以降HDD表記)、②電源、③ネットワークの3つの観点から冗長化を考えます。ほかにも、サーバーをもう1台入れて待機系サーバーとして使用する手法(ホットスタンバイなど)がありますが、今回は割愛。
①HDDの冗長化
私たちが普段使っているパソコンは、HDDは1本です(物理的に)。HDDがダメになるとOSも立ち上がりません。サーバーの場合は、冗長化を目的にHDDを複数本いれます(物理的に)。これをRAID構成といい、いくつかパターンがあります。
冗長化のパターンについて
RAID構成のパターンとは、1つのデータを複数のHDDに分散して保存したり、同時に複製保存したりする冗長化手法のことです。前者で代表的なのがRAID0(レイド・ゼロ、別名:ストライピング)、後者で代表的なのがRAID1(別名:ミラーリング)。
ミラーリングを採用することが多い印象で、2本のHDDにまったく同じ情報が書き込まれていくため、片方のHDDが壊れてももう片方のHDDでサーバー機能は維持されます(維持されている間に壊れたHDDを交換してRAIDを復旧する)。ちなみにストライピングの場合、2本のHDDに分散してデータ保存するので、片方のHDDが壊れるとそこにしか書き込まれていないデータが存在するため復元できず、耐障害性は低め(※ストライピングの利点は、分散するぶん大量のデータを読み書きする場面では処理速度が上がるところ)。
冗長化の制御について
1つのデータを複数のHDDに分散して保存したり、同時に複製保存したりするための制御については、「RAIDコントローラー」という物理的な機械が行っていることが多いです(HDDと一緒にサーバー本体に組み込まれた形で納品される)。HDD本数に関わるためRAID構成は購入時に決める必要がありますが、メーカーによっては指定したRAIDを設定済みの状態で納品してくれるため、この場合は当社がRAID設定する必要はありません。
ソフトウェアでRAID構成するパターンもあり、機械(RAIDコントローラー)が1つ不要になるためサーバー価格は少し安価になります。ただ安全性はRAIDコントローラー方式のほうが高いため、やはりそちらを採用されるケースが多いです。
②電源の冗長化
まず、無停電電源装置(UPS)について
停電や断線などのトラブルでサーバーへの電源供給が予期せず止まった場合、そのまま電源ロスしてサーバーが落ちると故障の原因になります。それを防ぐため、一定時間だけ電源供給を保証してくれるのがUPSです。一定時間というのは短いと10数分という単位だったりするので、目的としてはその間に電源復旧や安全なサーバーシャットダウンを行う時間的猶予を設けるイメージになります(なので厳密には“サーバー機能を止めない”意味での冗長化ではない)。
この構成ではサーバーの電源ケーブルをコンセントに直接差すのではなく、コンセントとUPSを繋ぐ形でUPSが一度電源をとり、サーバーはUPSから電源をとります(サーバーの電源ケーブルをUPSのコンセント穴に差す)。尚、電力容量が大きいUPSになると容量の大きな電源コンセント(200Vなど)に差すことを前提に作られており、コンセント形状が普段見たこともないやつだったりするので注意。
また、UPSとサーバーは電源ケーブル以外に通信ケーブルでも接続する必要があり(UPSの電源状態をサーバーに伝えるため)、それぞれの通信規格(シリアルポート/USB/LAN)は購入前のチェックポイントです。以前だとUPSはシリアルポートが標準だった印象ですが、最近のサーバーはシリアルポートがついていないものもよく見かけます。
電源ケーブルの冗長化
サーバー機によっては、背面に電源ケーブルを取り付ける穴が2箇所あることがあります。こういったサーバー機は、コード断線などでサーバーへの電源供給が止まらないよう、電源も冗長化できる仕様です。むしろ、電源ケーブルを2本差せるサーバーはちゃんと2本差していないと本体が警告してきます(サーバーランプがオレンジなどの警告色で点灯する)。サーバー設置時は、正しい電源接続ができてるかをサーバーランプで必ず確認しなければなりません(緑が正常)。
尚、上述のとおりオンプレサーバーの電源ケーブル接続先はUPSであることが多いので、UPSを2つ準備できない場合は1本はUPS、1本はコンセントに差すなどして電源ルートを分けるのがベターです(仮にUPSが壊れても電源供給が止まらないようになる)。
③ネットワークの冗長化
これも購入するサーバー機次第ですが、背面にLANポート(NIC)が2個ついてるものがあります。電源と違って片方だけ使う運用でも問題はありませんが、付いているのであればぜひ活かしてLANネットワークも冗長化しましょう。
Teamingによる冗長化
2本のLANを1つのIPアドレスとして管理するやり方があります。これを「Teaming」といいます。Teamingすることで、LANケーブルが断線してももう片方のLANが生きていれば、サーバーがダウンすることなく継続稼働が可能です。そのためにはLANケーブルを別々のハブに差してルートを分けておくのが大事になります。
TeamingはWindows Serverの標準機能なので、サーバーマネージャーアプリに入って有効化設定をちょこちょこやるだけで設定完了します。(ちなみにTeamingするとLAN2本分になるので、単純に使用帯域が増大するメリットもある)
バックアップLANを構築して冗長化
企業によっては、大容量のファイル移動が必要な場面に備えて、社内LANとは別に「バックアップLAN」を設けるケースがあります(社内LANは192.168.x.x、バックアップLANは10.20.x.xが割り振られているイメージ)。社内LANに大量のデータを流すとLANがひっ迫して他の業務に支障をきたしてしまうので、大量データを受け渡しするときはバックアップLANを使うのです。
このようなケースでは、2つのNICを「社内LAN」「バックアップLAN」で用途分けして使用することもできます(1つのサーバーを異なるネットワークに繫げる)。
≫関連ノート:オンプレサーバー導入時の注意点(初心者向けまとめ)
≫関連ノート:
≫関連ノート: