awk
solución.
$ awk -F= '/name="rsv-group-name"/{g=$NF}/data="name4"/{print substr(g,2,length(g)-5)}' inputfile
Вы можете создать зеркальные тома, добавив 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
Что ж, ленивый вариант будет состоять в том, чтобы просто принять текущую конфигурацию, добавить /dev/sdd
в LVM как есть и позволить LVM самому управлять RAID за вас. Это означает, что mdadm
вообще не участвует (во всяком случае, не напрямую ). Смотрите ответ Ромео, он хороший.
Если вы хотите использовать 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
Вот и всё...
В целом это дало бы вам настройку, которую большинство людей ожидает (жесткий диск, разделы, рейд, lvm, файловые системы ). Вы также можете добавить шифрование, пока вы это делаете. ;-)