意外と知らない・・・シリーズ

HDD2台構成によるレベル1(ミラーリング)で構築した
RAIDを、データーを残したままHDD3台のRAID5にしたい。
ちょっと小難しい作業に思えるかもしれませんが
Linuxカーネルのmdドライバなら実に簡単に実現
できちゃうんですね。

例えばsdaとsdbで作成した【/dev/md*】を
以下のコマンドでRAID5に変更します。

# mdadm --grow /dev/md0 --level=raid5

ただし上記はHDDは2台なので2台構成のRAID5です。
これは3台構成のRAID5で1台がコケて、2台で稼働中の
縮退運転とは違います。
このようにRAID5はHDD2台でも構成できますが、冗長化という
観点からは2台のRAID5ではなんの意味もありません。
で、もう1台のsdcを参加させます。

# mdadm /dev/md* --add /dev/sdc
# mdadm --grow /dev/md* --raid-devices=3
 

この素晴らしい機能のキモは【grow】です。
GROWとはアレイの拡大縮小や各RAIDレベル
アクティブデバイス数の変更などができるモードです。

ちなみに拙生がお試ししたのはCentOS7であります。
カーネルやmdadmコマンドのバージョンにより
変換可能なレベルやHDDの構成が異なります。

試してちゃんと稼働したもの。

RAID0 → RAID5
RAID1 → RAID5
RAID1 → RAID0

他にもできるようですが3つしかやっていません。

raid10 → raid0

現在4台のHDDを取り付けられる予備機がないのです。
(スペース&電源容量の余裕等)
しかもこの組み合わせの変更は一生しないと思われます。(笑

RAID4がらみ

データがせっかくストライピングで処理が早いのに、
専用のパリティドライブが1台なのでアクセスが集中し、
処理のボトルネックとなってしまうので嫌いす。
というかRAID4ってほとんど使われてませんよね。

RAID6がらみ
 
HDD4台分&2D-XOR方式は専用パリティドライブという
上記2つのの理由と一緒。
さらにP+Qのraid6はパリティの2重化による負荷の増大で、
raid5よりパフォーマンスが悪く、また障害時にHDDを
交換した際のリビルドに至るまでの作業も結構面倒なので嫌い。

関連ポスト → こちら  ←

HOME

おすすめ