web-dev-qa-db-ja.com

XFSでLinuxソフトウェアRAID 5を簡単に拡張できます。ベストプラクティス?

私のUbuntuマシンは、Samba共有を使用するWindows/Linux/Macクライアントのファイルサーバーとして使用しています。データをやり取りすることなく、ハードドライブを追加するだけで簡単に拡張できる必要があります。

これが私がこれまで行ってきた方法です。 4台目のハードドライブを正常に追加しました。これがどのように行われるべきかを知っておくといいでしょう。私は何を間違っているのですか?

最初の3ドライブアレイの作成

私は3つの空のドライブ、/ dev/sdb、/ dev/sdc、/ dev/sddから始めました。

まず、すべてのドライブに空のパーティションを作成しました。

$ fdisk /dev/sdX
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc

3つのディスクすべてに空のRAIDパーティションを作成したら、RAID5アレイを作成しました。

$ mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

これでRAID5アレイが作成され、すでに構築されています。時間はかかりますが、新しい物理LVM2ボリュームの作成を続行できます。

$ pvcreate /dev/md0

次に、新しいボリュームグループを作成します。

$ vgcreate vd_raid /dev/md0

次に、そのボリュームグループ内に新しい論理ボリュームを作成する必要があります。まず、作成されたボリュームグループの正確なサイズを把握する必要があります。

$ vgdisplay vg_raid

サイズは、物理エクステントの「合計PE」を示す行から確認できます。それが509であるとしましょう。今、すべての利用可能なスペースをとる新しい論理ボリュームを作成します。

$ lvcreate -l 509 vg_raid -n lv_raid

最後に、その論理ボリュームの上にファイルシステムを作成できます。

$ mkfs.xfs /dev/mapper/vg_raid-lv_raid

新しく作成したRAIDアレイを使用できるようにするには、ディレクトリを作成してマウントする必要があります。

$ mkdir /raid
$ mount /dev/mapper/vg_raid-lv_raid /raid

これで使用できるようになりました。ただし、再起動後に自動的にマウントするには、RAIDジオメトリをmdadmの構成ファイルに保存する必要があります。

$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf

次に、次の行を/ etc/fstabに追加して、RAIDアレイを自動的にマウントします。

/dev/mapper/vg_raid-lv_raid /raid auto auto,noatime,nodiratime,logbufs=8 0 1

これでRAIDアレイが使用できるようになり、起動するたびに/ raidディレクトリに自動的にマウントされます。

アレイに新しいドライブを追加する

新しいドライブ/ dev/sdeがあり、データを失うことなく、以前に作成したアレイに追加したいとします。

最初に、新しいドライブを他のすべてのドライブと同じようにパーティション化する必要があります。

$ fdisk /dev/sde
n # Create a new partition
p # Primary
1 # First partition
[enter] # Starting point to first sector (default)
[enter] # Ending point to last sector (default)
t # Change partition type
fd # Type: Linux raid autodetect
w # Write changes to disc

次に、RAIDアレイに追加する必要があります。

$ mdadm --add /dev/md0 /dev/sde1

現在、RAID5アレイには4つのドライブが含まれていますが、現在使用されているのは3つだけです。アレイを拡張して、4つのドライブすべてを含める必要があります。

$ mdadm --grow /dev/md0 --raid-devices=4

次に、物理LVM2ボリュームを拡張する必要があります。

$ pvresize /dev/md0

これで、デフォルトで物理ボリュームのサイズが変更され、RAIDアレイで使用可能なすべてのスペースがカバーされます。物理エクステントの新しいサイズを見つける必要があります。

$ vgdisplay vg_raid

新しいサイズが764になったとしましょう(「合計PE」から確認できます)。次に、論理ボリュームを拡張してこれをカバーします。

$ lvextend /dev/mapper/vg_raid-lv_raid -l 764

次に、XFSファイルシステムを拡張します。これは、ファイルシステムがオンラインでマウントされているときに実行する必要があります。

$ xfs_grow /raid

デフォルトでは、使用可能なすべてのスペースをカバーするように拡張されています。最後に、アレイに新しいディスクが含まれるようになったため、RAIDアレイジオメトリを更新する必要があります。追加した行を/etc/mdadm/mdadm.confから削除してから、新しい行を追加します。

$ mdadm --detail --scan >> /etc/mdadm/mdadm.conf
13
Taskinen

あなたはそれを正しく理解していると思います。 man 8 mdadmでのRAID 5の増加に関する警告を理解し、注意してください。

個人的には、LVMボリュームを拡張する場合、既存のRAIDアレイを拡張することはありません。別のRAIDアレイを作成し、そこから新しいphysvolを作成して、同じボリュームグループに追加します。これははるかに安全な操作で(新しいディスクセット全体でRAID5アレイ全体を再書き込みする必要はありません)、アレイのサイズを抑えます。

5
Kamil Kisiel