Linuxソフトウェアraidをraid5からraid6に変換します


11

現在、RAID5アレイに3つの1.5TBディスクを持つファイルサーバーがあります。ほぼ満杯なので、3つの追加ディスク(それぞれ1.5 TB)を入手しました。

6TBのスペースで十分であり、RAID6の安全性を高めたいので、RAID6に切り替えたいと思います。私は完全なバックアップを持っています-つまり、単に新しいアレイを作成してバックアップを復元できます-バックアップを復元せずに切り替えたいと思います。これは可能ですか?

回答:


9

お探しの用語は「RAIDレベルの移行」です。

よると、この、それは可能です。まだ行っていませんが、新しいドライブをホットスペアとして既存のアレイに追加し、mdadmを使用してRAIDレベルとRAIDデバイスの数を更新する必要があるように見えます。

これを行うには、最近のmdadmが必要です。mdadm-2.6.9(例、centos 5.x)はサポートしていないようですが、mdadm-3.1.4(例、ubuntu 11.10)はサポートしています。

   Grow   Grow (or shrink) an array, or otherwise reshape it in some way.  Currently supported growth options including changing the active size of component devices and
          changing the number of active devices in RAID levels 1/4/5/6, changing the RAID level between 1, 5, and 6, changing the chunk size and  layout  for  RAID5  and
          RAID5, as well as adding or removing a write-intent bitmap.

たとえば、最初に新しいホットスペアデバイス/ dev / sdgをRAID5アレイに追加します。

$ sudo mdadm --manage /dev/md/md0 --add /dev/sdg

次に、RAID6アレイに変換し、クリーンな状態に再構築します。--raid-devices 4は、新しいアレイに合計でいくつのドライブがあるかを示します。

$ sudo mdadm --grow /dev/md/md0 --raid-devices 4 --level 6

しかし、これがどれほど速くなるかはわかりません。ハードウェアRAIDコントローラーでRAIDレベルの移行を行った私の経験では、新しいアレイを最初から作成し、バックアップを回復する方が迅速でした。


3
RAID 5からRAID 6への移行には、2つの遅い操作があります。ディスク間でデータを再ストライプ化し、追加のパリティディスクの2番目のパリティ値を計算します。ワイプ/復元には、おそらくサイズ変更と同じ時間がかかります。
アンドリュー

1
また、特定のカーネルバージョンが必要です。これは難しい方法です。
Sirex

私はgentooにいるので、私のカーネルとmdadmはどちらもかなり最近のバージョンです-それで問題はないはずです。
シーフマスター

1
あなたが参照するリンクは私が書いたものです。注:実際にそれを行う方法に関するドキュメントを実際には読んでいませんでしたが、30台のドライブ(そのようなもの)を備えた仮想マシンを作成し、いじり始めました。だから、塩の粒とポストのすべてを取る、それは...単にBraindumpのだ
マーティンM.

1
@ServerHorror:注意。mdadm manページを含むより広いインターネットでは、raidレベルの移行は可能だと主張しています。:)
ダニエルローソン

7

必須の警告:失敗を計画します。バックアップの準備を整え、可能なダウンタイムを考慮してください。

また、VMなどで以前にテストします。これは私のメモからのものであり、これは長い間行っていません。これは不完全かもしれません。

  1. addディスクをアレイに接続する必要があります。

    mdadm --manage /dev/md0 --add /dev/sdf  
    

    3つのディスクのそれぞれに対してこれを行い、それに応じてデバイス名を置き換えます。

  2. 配列を成長させます。

    mdadm --grow /dev/md0 --level 6 --raid-devices 6 
    

3

この--backup-fileオプションを使用すると、電力が失われた場合でも、再起動後にデバイスを拡大し続け、データの損失を防ぐことができます。

mdadm --grow /dev/md0 --level=raid6 --raid-devices=6 --backup-file=/root/mdadm5-6_backup_md0

バックアップファイルは、拡大するアレイの一部ではなく、ファイルシステムに保存する必要があります。

--backup-file=ときに必要とされる--grow利用可能な予備デバイスが存在しない場合RAID5やRAID6におけるRAID-デバイスの数を増加させる、または、変更RAIDレベルまたはレイアウトを縮小するために使用されます。以下のRAID-DEVICESの変更に関するGROW MODEセクションを参照してください。ファイルは、再構成されるRAIDアレイではなく、別のデバイスに保存する必要があります。

--continue--freeze-reshapeアセンブリのオプションを補完します。--grow操作が中断され、--freeze-reshapeアレイのアセンブリ中に使用されたために自動的に再起動されない場合に必要です。このオプションは、保留中の形状変更を継続するために-G、(--grow)コマンドおよびデバイスとともに使用されます。形状の継続に必要なすべてのパラメーターは、配列メタデータから読み取られます。最初の--growコマンドで--backup-file=オプションの設定が必要な場合、継続オプションではまったく同じバックアップファイルも指定する必要があります。

--continueオプションと一緒に渡される他のパラメーターは無視されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.