.png)
Я пытаюсь следовать следующему руководству по настройке RAID1: https://www.howtoforge.com/set-up-raid1-on-a-running-lvm-system-debian-etch
В настоящее время у меня два жестких диска по 6 ТБ, я создал физический том непосредственно на одном из них, другой совершенно новый и нетронутый.
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
том имеет одну группу томов, содержащую два логических тома.
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 означает две копии данных, 0 означает одну копию) Вы можете проверить ход зеркалирования с помощью команды типа:
lvs -a -o name,copy_percent,devices DATA
решение2
Ну,ленивыйВариантом было бы просто взять текущую конфигурацию как есть, добавить /dev/sdd
в LVM как есть и позволить LVM самому управлять RAID для вас. Это означает, mdadm
что он вообще не участвует (во всяком случае, не напрямую). Смотрите ответ Romeo, он хороший.
Если вы хотите использовать mdadm
, хотя это возможно сделать с опозданием (используя метаданные версии 1.0 в конце диска),надлежащим образомсделать это было бы разбить на разделы /dev/sdd
, поместить mdadm
RAID на раздел, поместить LVM на RAID и перенести данные. И как только вы убедитесь, что копия хороша, вы можете разбить ее на разделы /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
происходит медленнее и более рискованно (что-то пойдет не так, исходная копия тоже будет утеряна), но при этом ничего не будет потеряно (включая удаленные файлы и т. п.).
На этом этапе вы хотите обновить UUID (если вы использовали mkfs, rsync) в fstab / grub и обновить 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, файловые системы). Вы также можете добавить шифрование, пока вы этим занимаетесь. ;-)