サーバを「止めない」ための冗長化。ソフトの前に、物理レベルの冗長化が土台です。電源とNICの冗長化を中心にまとめます。
単一障害点をサーバ内でも潰す
サーバ1台の中にも、壊れたら止まる部品があります。電源、NIC、ディスク——これらを二重化して、1つ壊れても動き続けるようにします。
電源の二重化
サーバに電源ユニット(PSU)を2つ搭載し、**別々の電源系統(A系/B系)**に挿します。
- 片方のPSUが故障しても、もう片方で稼働継続
- 片系のブレーカーや配電が落ちても大丈夫
- ホットスワップ対応なら、無停止で交換できる
ポイントは、2つを同じ系統に挿さないこと。同じ系統だと、その系統が落ちたら両方止まり、二重化の意味がありません。
NIC冗長化(bonding / teaming)
ネットワークも、NICを2つ以上束ねて冗長化します。LinuxではBonding、Windowsではチーミングと呼びます。
- アクティブ/バックアップ: 普段は1本、故障したらもう1本へ切替。シンプルで確実。
- LACP(リンクアグリゲーション): 複数本を束ねて、冗長化+帯域向上。対向スイッチ側の設定も必要。
Linuxのbonding設定イメージ(概念):
bond0 = eth0 + eth1
mode=active-backup (またはmode=802.3ad でLACP)
これで、1本のケーブル/ポート/NICが故障しても、通信が継続します。さらに、2本を別々のスイッチに挿せば、スイッチ故障にも耐えられます。
ディスクの冗長化
RAID(特に1/5/6/10)で、ディスク故障に備えます。ホットスペア(予備ディスク)を用意しておくと、故障時に自動で組み込まれます。
冗長化しても「片系運転」に気づけるように
冗長化の落とし穴は、片方が壊れても動き続けるがゆえに、壊れたことに気づかないことです。そのまま残り1本も壊れたら全滅します。だから、
- PSU故障、NIC片系ダウン、ディスク故障を監視で検知する
- アラートで「片系運転になった」を知り、早めに部品交換する
まとめ
サーバの冗長化は「電源・NIC・ディスクを二重化し、別系統に分ける」のが基本。そして片系故障を監視で拾い、早く直すところまでがワンセットです。冗長化は入れて終わりでなく、壊れたことに気づける仕組みまで作って完成、というのがDC運用の実感です。