Linux MD RAID 10アレイを拡張して、より大きなディスクを使用する


11

これは可能だと理解していることからは可能ですが、正確にそれを実行する方法については正直な回答が見つかりません。また、自分で実験してデータを失うリスクを冒したくないので、ここで質問します。

CentOSを実行している5つのディスクを備えたホームサーバーがあります。1つはOSを保持するSSDです。残りの4つのディスクは、mdraidでRAID10に構成された4TBハードドライブです。使用中のファイルシステムはxfsです。

4TBディスクを8TBディスクに交換することを検討しています。新しいRAIDを再構成してデータを失うことなく、この交換を行うために正確に何が必要ですか?

Details output:

[root@fluttershy ~]# mdadm -D /dev/md127
/dev/md127:
        Version : 1.2
  Creation Time : Mon Apr 18 12:46:24 2016
     Raid Level : raid10
     Array Size : 7813771264 (7451.79 GiB 8001.30 GB)
  Used Dev Size : 3906885632 (3725.90 GiB 4000.65 GB)
   Raid Devices : 4
  Total Devices : 4
    Persistence : Superblock is persistent

  Intent Bitmap : Internal

    Update Time : Mon Jun 13 11:04:41 2016
          State : clean 
 Active Devices : 4
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 0

         Layout : near=2
     Chunk Size : 512K

           Name : fluttershy:data  (local to host fluttershy)
           UUID : aa8f857a:g8bd0344:06d2f6d3:bac01a46
         Events : 13440

    Number   Major   Minor   RaidDevice State
       0       8        1        0      active sync set-A   /dev/sda1
       1       8       17        1      active sync set-B   /dev/sdb1
       2       8       33        2      active sync set-A   /dev/sdc1
       3       8       49        3      active sync set-B   /dev/sdd1

回答:


14

各ディスクについて次の手順を実行します。/dev/sda1必要に応じて他のディスクと交換してください。次のディスクに進む前に、1つのディスクに対してこれらの手順をすべて完了する必要があります。

  • MDが使用を停止するように、ディスクに障害のマークを付けます。 mdadm --manage /dev/md127 --fail /dev/sda1
  • アレイからディスクを取り外します。 mdadm --manage /dev/md127 --remove /dev/sda1
  • ディスクを物理的に交換します。
  • type 0xDAを使用して新しいディスクをパーティション化し、1つのパーティションをディスク全体に広げます。
  • 新しいディスクをアレイに追加します。 mdadm --manage /dev/md127 --add /dev/sda1

交換用ディスクを追加すると、MDがアレイを再構築します。次のディスクに進む前に、再構築が完了していることを確認してください。を実行すると、アレイのステータスを確認できcat /proc/mdstatます。

すべてのディスクを交換してアレイを再構築したら、アレイを拡張して、すべてのディスクの最大容量をで満たしますmdadm --grow /dev/md127 --size=max。そこからファイルシステムのサイズを変更して、拡張RAIDをいっぱいにすることができます。あなたのケースでは、xfs_growfsコマンドを使用してください。

MDアレイを拡張する方法の詳細については、Linux RAID wikiを参照してください

他のディスク操作タスクと同様に、開始する前にバックアップを取る必要があります。


1
おそらく、再構築の進行状況を確認する方法を追加してください->tim@MushaV3 ~ $ cat /proc/mdstat Personalities : [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] md1 : active raid1 sdb1[0] sda1[1] 131008 blocks [2/2] [UU] bitmap: 0/1 pages [0KB], 65536KB chunk
djsmiley2kStaysInside

2

最初に、各ディスクを1つずつ交換する必要があります。

これを行うには、各ディスクを「失敗」させ、それを新しい8Tbの代替品と交換します。スペアポートがある場合は、追加のディスクを追加してから、ディスクを削除する代わりにmdadmを「交換」することができます。レイドと失敗のリスクが高い。

この質問は、私がそれを「安全に」行うために見つけることができる最良の方法を詳述しています

これが完了したら、既存のFSを新しく作成されたスペースに拡張するだけです。このためのコマンドは「xfs_growfs」のようですが、xfsを使用してこれを正確に行う方法を説明した経験はありません。

いつものように、バックアップを準備してください(RAIDはバックアップではありません!)。


raid10とmdraidを設定すると、余分なスペースも認識されますか?ミラーリングされたペアごとに1つずつ、2つを同時に交換する必要がありますか?
ケフカ

すべてのディスクを交換した後でのみスペースを追加すると、認識されます。
djsmiley2kStaysInside 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.