Я хочу записать сценарий, который работает с LVM (создает физические тома, группы объема, и т.д.) на компьютере с двумя жесткими дисками. Однако у меня нет второго жесткого диска в моем ПК, ни я хочу добавить тот.
Там какие-либо пути состоят в том, чтобы эмулировать такие условия помимо использования Виртуального Поля?
Я хочу смочь управлять некоторыми виртуальными физическими томами, группами объема, т.е. использованием pvcreate
, vgcreate
, lvcreate
, и т.д.
Если Вы хотите играть вокруг с LVM, не внося изменения в разделы на Ваших дисках, да, это может быть сделано. Создайте несколько редких файлов, которые могут служить Вашими "виртуальными дисками". Затем создайте разделы на тех файлах и установите циклические устройства с помощью образов дисков. Оттуда, можно играть вокруг с LVM на циклических устройствах, которые указывают на образы дисков.
Сделайте свои редкие файлы
Выполните следующее в терминале для создания двух редких файлов. Редкие файлы всегда сообщают, что они - предопределенный, фиксированный размер, но в действительности, они первоначально используют 0 байтов дискового пространства. Поскольку они записаны в, они могут вырасти, или до они достигают, их предопределенный размер или диск, содержащий их, больше не имеют пространства.
truncate -s 1T /tmp/disk1.img
truncate -s 1T /tmp/disk2.img
Создайте разделы на образах дисков
Теперь у Вас есть два файла, которые можно рассматривать как диски. Используйте fdisk для разделения этих изображений. Если Вы не знаете, как использовать fdisk для создания разделов, можно проверить это учебное руководство или выполнить команды, ниже которых создаст два раздела 512G каждый на обоих образах дисков.
sudo sfdisk /tmp/disk1.img <<< "$(base64 -d <<< "bGFiZWw6IGRvcwpsYWJlbC1pZDogMHhkODdlMWQ1MwpkZXZpY2U6IC90bXAvZGlzazEuaW1nCnVuaXQ6IHNlY3RvcnMKCi90bXAvZGlzazEuaW1nMSA6IHN0YXJ0PSAgICAgICAgMjA0OCwgc2l6ZT0gIDEwNzM3NDE4MjQsIHR5cGU9ODMKL3RtcC9kaXNrMS5pbWcyIDogc3RhcnQ9ICAxMDczNzQzODcyLCBzaXplPSAgMTA3MzczOTc3NiwgdHlwZT04Mwo=")"
sudo sfdisk /tmp/disk2.img <<< "$(base64 -d <<< "bGFiZWw6IGRvcwpsYWJlbC1pZDogMHg4ZWMwYWYyZgpkZXZpY2U6IC90bXAvZGlzazIuaW1nCnVuaXQ6IHNlY3RvcnMKCi90bXAvZGlzazIuaW1nMSA6IHN0YXJ0PSAgICAgICAgMjA0OCwgc2l6ZT0gIDEwNzM3NDE4MjQsIHR5cGU9ODMKL3RtcC9kaXNrMi5pbWcyIDogc3RhcnQ9ICAxMDczNzQzODcyLCBzaXplPSAgMTA3MzczOTc3NiwgdHlwZT04Mwo=")"
Установка отображает на циклических устройствах
Затем мы позволяем, подключили наши образы дисков к некоторым циклическим устройствам так, чтобы мы могли работать с разделами. В терминале, выполненном следующие команды (losetup -f
возвращает следующее доступное циклическое устройство),
sudo losetup -P $(losetup -f) /tmp/disk1.img
sudo losetup -P $(losetup -f) /tmp/disk2.img
Определите, с какими устройствами наши разделы подключены
Теперь мы должны выяснить, какие циклические устройства указывают на наши разделы. Выполните следующее в терминале:
sudo losetup -a | grep -P "disk[12].img | cut -f1 -d:"
/dev/loop3 /dev/loop4Это циклические устройства интереса, который мы будем искать в выводе следующей команды
sudo blkid
/dev/loop3: PTUUID="d87e1d53" PTTYPE="dos" /dev/loop3p1: PARTUUID="d87e1d53-01" /dev/loop3p2: PARTUUID="d87e1d53-02" /dev/loop4: PTUUID="8ec0af2f" PTTYPE="dos" /dev/loop4p1: PARTUUID="8ec0af2f-01" /dev/loop4p2: PARTUUID="8ec0af2f-02"Таким образом, мои disk1 разделы в
/dev/loop3p1
и /dev/loop3p2
, и мои disk2 разделы в /dev/loop4p1
и /dev/loop4p2
. Вы, вероятно, хороши для движения отсюда, но я продолжу пример конфигурация LVM.Пример установка LVM
Я только собираюсь использовать disk1, раздел 1 и disk2 раздел 2 в моей конфигурации LVM. От терминала выполняет следующее, заменяя пути к циклическим устройствам по мере необходимости:
sudo pvcreate /dev/loop3p1 /dev/loop4p2
vgcreate my_volume_group /dev/loop3p1 /dev/loop4p2
sudo lvcreate --name root --size 30G my_volume_group
sudo lvcreate --name swap --size 4G my_volume_group
sudo lvcreate --name home --extents +100%free my_volume_group
Теперь у меня есть единственная группа объема с 1 ТБ места, которое занято от 512G на disk1.img и 512G на disk2.img. Это может быть проверено путем выполнения:
sudo pvs
какие выводы PV VG Fmt Attr PSize PFree /dev/loop3p1 my_volume_group lvm2 a-- 512.00g 0 /dev/loop4p2 my_volume_group lvm2 a-- 512.00g 0
sudo vgs
какие выводы VG #PV #LV #SN Attr VSize VFree my_volume_group 2 3 0 wz--n- 1023.99g 0
sudo lvs
какие выводы LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home my_volume_group -wi-a----- 989.99g root my_volume_group -wi-a----- 30.00g swap my_volume_group -wi-a----- 4.00g