アクティブな物理ボリュームを使用した RAID1 の設定 (Debian 9 ストレッチ)

アクティブな物理ボリュームを使用した RAID1 の設定 (Debian 9 ストレッチ)

私は RAID1 を設定するために次のガイドに従おうとしています: https://www.howtoforge.com/set-up-raid1-on-a-running-lvm-system-debian-etch

現在、6TB のハード ドライブが 2 つあり、そのうちの 1 つに物理ボリュームを直接作成し、もう 1 つは新品で未使用です。

sdc                8:32   0   5.5T  0 disk
├─DATA-user_data 254:0    0     4T  0 lvm
└─DATA-app_data  254:1    0     1T  0 lvm
sdd                8:48   0   5.5T  0 disk

物理sdcボリュームには、2つの論理ボリュームを含む単一のボリュームグループがあります。

root@server:# pvscan
  PV /dev/sdc   VG DATA            lvm2 [5.46 TiB / 469.03 GiB free]
  Total: 1 [5.46 TiB] / in use: 1 [5.46 TiB] / in no VG: 0 [0   ]
root@server:# vgscan
  Reading volume groups from cache.
  Found volume group "DATA" using metadata type lvm2
root@server:# lvscan
  ACTIVE            '/dev/DATA/user_data' [4.00 TiB] inherit
  ACTIVE            '/dev/DATA/app_data' [1.00 TiB] inherit

sdcガイドの指示に従って、からにパーティション テーブルをコピーする必要があるところまで来ましたが、にはパーティション テーブルがないsddので、もちろんこれは不可能です。sdc

sdcとを使用して RAID1 を設定するにはどうすればよいですかsdd?

答え1

sddVGに追加することでミラーボリュームを作成できます

pvcreate /dev/sdd
vgextend DATA /dev/sdd

そして各LVのコピー数を変更する

lvconvert -m1 DATA/user_data
lvconvert -m1 DATA/app_data

(1 はデータのコピーが 2 つ、0 はコピーが 1 つであることを意味します) 次のコマンドでミラーリングの進行状況を確認できます。

lvs -a -o name,copy_percent,devices DATA

答え2

さて、怠け者オプションとしては、現在の構成をそのまま LVM に追加し/dev/sdd、LVM 自体に RAID を処理させることです。つまり、mdadmまったく関与しません (少なくとも直接は)。Romeo の回答を参照してください。良い回答です。

を使用する場合mdadm、遅れてこれを行うことは不可能ではありませんが(ディスクの最後にバージョン1.0のメタデータを使用)、適切な方法これを実行するには、 をパーティション分割し/dev/sdd、そのパーティションに RAID を配置しmdadm、その RAID に LVM を配置して、データを移行します。コピーが適切であることを確認したら、 を解消し/dev/sdc、同じようにパーティション分割して、RAID に追加します。

だいたい:

# partition step
parted /dev/sdd
(parted) mklabel gpt
(parted) mkpart md0_0 1MiB -1MiB
(parted) print free
(parted) quit

# mdadm step
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdd1 missing
mdadm --detail --scan > /etc/mdadm.conf

# lvm step (rsync variant, two independent copies)
vgcreate RAIDDATA /dev/md0
lvcreate ...
mkfs ...
mount ...
# LV structure and filesystems as you see fit, then copy everything over
rsync -a /mnt/DATA/. /mnt/RAIDDATA/.

# alternative lvm step (pvmove variant, single copy)
vgextend DATA /dev/md0
pvmove /dev/sdc
vgreduce DATA /dev/sdc

ファイルを移行すると、rsyncより高速かつ安全になります (何か問題が起きても、元のコピーはそのまま残ります)。同時に、ユーザー エラーが発生しやすくなります (rsync何か見落としがあったかどうかがわかりにくくなります)。

データの移行はpvmove時間がかかり、リスクも高くなります (何か問題が発生すると、元のコピーも失われます) が、何も失われることはありません (削除されたファイルなどを含む)。

この時点で、fstab / grub の UUID (mkfs、rsync を使用した場合) を更新し、initramfs を更新する必要があります。再起動して、すべてが正常であり、/dev/sdc使用されていないことを確認します。その後、RAID に追加できます。

# partition step
parted /dev/sdc
(parted) mklabel gpt
(parted) mkpart md0_1 1MiB -1MiB
(parted) print free
(parted) quit

# raid resync step
mdadm /dev/md0 --add /dev/sdc1
watch -n 60 cat /proc/mdstat

以上です...

全体として、ほとんどの人が期待するセットアップ (ハード ドライブ、パーティション、RAID、LVM、ファイル システム) が提供されます。ついでに暗号化も追加できます。 ;-)

関連情報