アクティブ物理ボリュームでRAID1を設定する(Debian 9stretch)

アクティブ物理ボリュームでRAID1を設定する(Debian 9stretch)

このガイドに従ってRAID1を設定しようとしました。 https://www.howtoforge.com/set-up-raid1-on-a-running-lvm-system-debian-etch

現在、2つの6TBドライブがあり、そのうちの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

RAID1を使用sdcして設定する方法はsdd

答え1

sddミラーボリュームはVGに追加して作成できます。

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

まあ、怠惰オプションは、単に現在の構成をインポートして/dev/sddそのままLVMに追加し、LVM自体がRAIDを処理できるようにすることです。これはmdadmまったく参加していないことを意味します(少なくとも直接は参加しません)。ロミオの答えを見てください。素晴らしい答えです。

を使用したい場合はmdadm不可能ではありませんが(ディスクの最後にバージョン1.0メタデータを使用)、適切な方法これを行う方法は、パーティションを分割し/dev/sddmdadmそのパーティションにRAIDを配置し、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(mkfs、rsyncを使用した場合)でUUIDを更新し、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、ファイルシステム)を提供します。使用中に暗号化を追加することもできます。 ;-)

関連情報