このガイドに従って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/sdd
、mdadm
そのパーティションに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、ファイルシステム)を提供します。使用中に暗号化を追加することもできます。 ;-)