複数のNICを束ねる事で、耐障害性向上・トラフィック負荷分散を図る技術。
目的に応じて複数の分散方法から最適な物を選択する必要がある。
様々な別名があり、Bonding(ボンディング)以外には、チーミング(Teaming)、
CiscoだとPortChannel(リンクアグリゲーション)と呼ぶ事もある。
ここではLinuxのソフトウェアRAIDを取り扱う
ソフトウェアRAIDの場合、違う型番のHDDを使ったり柔軟な構成を組める。
しかし、ソフトウェアRAIDのバグ=RAIDアレイ崩壊の可能性もある点に注意する。
RAID同期ステータスの確認方法
# cat /proc/mdstat
HDDが故障した時にRAIDアレイ(RAID-1など)を再構築するには、mdadmコマンドを利用する。
説明に使う各HDDのステータスは下記の通りとする。
ステータス | /dev/md0 | /dev/md1 | |
/dev/sda | 稼働 | /dev/sda1 | /dev/sda2 |
/dev/sdb | 故障 | /dev/sdb1 | /dev/sdb2 |
# mdadm /dev/md0 -f /dev/sdb1 # mdadm /dev/md1 -f /dev/sdb2 # cat /proc/mdstat
# mdadm /dev/md0 -r /dev/sdb1 # mdadm /dev/md1 -r /dev/sdb2
# fdisk -l /dev/sda # fdisk /dev/sdb : w --- 稼働中のHDDと同じパーティション(Start-End)を作成する パーティション情報をそのままダンプする場合は↓のコマンドを打つ === # sfdisk -d /dev/sda | sfdisk /dev/sdb –force
# fdis /dev/sdb : t : fd Changed System type of partition 1 to fd (Linux raid autodetect) : w
# mdadm /dev/md0 --add /dev/sdb1 # mdadm /dev/md1 --add /dev/sdb2
# cat /proc/mdstat # mdadm --detail /dev/md0 # mdadm --detail /dev/md1
kernelのアップデート・再インストール、RAID-1アレイの再構築後は、
RAID-1で冗長化している2台のHDDそれぞれにgrubを入れ直す必要がある。
今回は、/dev/sdaと/dev/sdbでRAID-1を組んでいる事とする。
grubのデバイス指定はLinuxのデバイス指定とリンクしていないので、
明示的に設定を行う必要がある。
例えば、rootデバイスが/dev/sdaの場合、カンマの後の指定は下記のようになる。
/dev/sda | grub> device (hd0) /dev/sda |
/dev/sda1 | grub> root (hd0,0) |
/dev/sda2 | grub> root (hd0,1) |
/dev/sdb3 | grub> root (hd0,2) |
grubを手動インストールする際は、デバイスIDが大きいサブ側(/dev/sdb)へ先にインストールし、
その後にデバイスIDが小さいメイン側(/dev/sda)へインストールする
# grub --- > root (hd1,0) > setup (hd1) > root (hd0,0) > setup (hd0) > quit