Как попробовать LVM на образах дисков?

Я хочу записать сценарий, который работает с LVM (создает физические тома, группы объема, и т.д.) на компьютере с двумя жесткими дисками. Однако у меня нет второго жесткого диска в моем ПК, ни я хочу добавить тот.

Там какие-либо пути состоят в том, чтобы эмулировать такие условия помимо использования Виртуального Поля?

Я хочу смочь управлять некоторыми виртуальными физическими томами, группами объема, т.е. использованием pvcreate, vgcreate, lvcreate, и т.д.

0
задан 12 June 2017 в 18:38

1 ответ

Используя редкие файлы вместо дисков

Если Вы хотите играть вокруг с 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
  • Установка пара разделов:
    • Partition1: sudo lvcreate --name root --size 30G my_volume_group
    • Partition2: sudo lvcreate --name swap --size 4G my_volume_group
    • Partition3: 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                                                    
    
2
ответ дан 3 November 2019 в 02:26

Другие вопросы по тегам:

Похожие вопросы: