ハードウェアRAID
マザーボードやRAIDカードのBIOSからRAIDを組む方法
メリット
- 一度組みさえすればソフトウェアRAIDより問題は起きにくいかも
- ボリューム上に/bootもブートローダーも置くことができる
デメリット
- OS側にドライバが必要。CentOSやUbuntuであれば困ることは少ない
- OSから個別HDDの状態を見るのが難しい
おまけ
OS別RAID/SATA増設カード系ハードウェア対応状況(個人の体感です)
Ubuntu※ | △ | 多くのハードウェアに対応するが、マザーボードのRAID、RAIDカードは認識してくれないことがある |
Ubuntu Server | 〇 | Ubuntuよりかなりまし? CentOSと変わらないかも |
CentOS | ◎ | CentOSで認識してくれないならあきらめてる |
NetBSD | △ | Solarisよりまし |
Solaris | × | 増設カードが全く認識されない |
※純正のUbuntuではなくBasixで検証したため、本家Ubuntuは異なる可能性あり
mdadm
内部的にはソフトウェアRAIDとハードウェアRAIDのハイブリッドらしいが、まあソフトウェアRAIDと考えておけばいいと思う。
RAIDの種類は0, 1, 5, 6, JBODなどが選べる。
メリット
- HDD自体をRAID組むこともできるが、複数のパーティーションでRAID組むこともできる
- mdadmで組んだボリュームには/bootを置くことができる
デメリット
- RAID1を組んだ場合、ブートローダーは一方のディスクにしか書き込まれない。ブートローダーも冗長化する場合は手動で書き込む必要あり。
LVM
多数のボリュームを高度な柔軟性を保ちつつ臨機応変に使用できる。
複数のPV(フィジカルボリューム)でVG(ボリュームグループ)を作成し、それらを切り分けて多数のLV(ロジカルボリューム)として使用可能。LV作成時にRAID0/1を指定すればVG内の複数のボリュームにデータが書き込まれ、ストライピング化/ミラーリング化される。
RAIDで言えばJBOD、RAID0/1/10と同じことができる。RAID5や6などは不可能。
メリット
- 自由度は高い
デメリット
- PVの作成→VGの作成→LVの作成、の手順が必要で、RAIDを組みたいだけなら手間がかかる。
- ブートローダーも/bootも置けない。/bootはLVMでないボリュームもしくはパーティーションに置く必要がある。
ZFS
SolarisやFreeNASなどで使用できる。またUbuntu19.10以降はUbuntuでも/bootにZFSが使用できる。
ZFSはファイルシステムで、ファイルシステム自体にRAID機能も持っている。また、SSDをHDDのキャッシュにするL2ARCといった機能もある。
また、RAID0や1以外は名前が異なり、以下のように対応する。
- RAID-Z→RAID5
- RAID-Z2→RAID6
- RAID-Z3→(トリプルパリティ)
いずれも単なるRAID5, 6より細かい部分が改良されているらしい。
コメント