Доступ к дискам(разделам) виртуальных машин (lvm in lvm)

Иногда бывает необходимо получить доступ к дисковым разделам виртуальных машин. Здесь я постараюсь описать возможности доступа как для файлов-имидждей виртуальных машин, так и для LVM, в случае, если виртуалки стоят на LVM разделах.

В случае с разделами на файлах-имиджах, будем использовать lood-девайсы.
Далее, несколько возможных вариантов файлов-имиджей:

1. имидж содержит один раздел, например sda1, именно раздел, а не диск с один разделом.

решение:

# losetup /dev/loop1 /home/vm/centos.img #маппим раздел
# mount /dev/loop1 /mnt # монтируем раздел

и мы можем работать с разделом примонтированным в /mnt

отключение:

# umount /dev/loop1
# losetup -d /dev/loop1

2. имидж содержит диск с несколькими разделами.

решение:

# kpartx -l /home/vm/centos.img #смотрим разделы
loop0p1 : 0 1024000 /dev/loop0 2048
loop0p2 : 0 15751168 /dev/loop0 1026048

# kpartx -a /home/vm/centos.img #маппим разделы

в результате получаем в /dev/mapper/ два раздела:
loop0p1 loop0p2

которые можно смонтировать, например

# mount /dev/mapper/loop0p1 /mnt

отключение:

# umount /dev/mapper/loop0p1
# kpartx -d /home/vm/centos.img

3. имидж содержит в себе LVM разделы

представим, что раздел loop0p2 из второго пункта содержит в себе LVM-тома

решение:

# lvm pvscan #сканируем на наличие LVM-томов
PV /dev/dm-1 VG VolGroup lvm2 [7.51 GiB / 0 free]
Total: 1 [7.51 GiB] / in use: 1 [7.51 GiB] / in no VG: 0 [0 ]

# lvm vgchange -a y VolGroup

в результате получаем в /dev/mapper еще два раздела:
VolGroup-lv_root VolGroup-lv_swap

теперь можно монтировать и работать с разделом:

# mount /dev/mapper/VolGroup-lv_root /mnt

отключение:

# umount /dev/mapper/VolGroup-lv_root
# lvm vgchange -a n VolGroup
# kpartx -d /home/vm/centos.img

В случае с виртуальной машиной на LVM-разделе, все идентично, за исключением того, что loop-девайсы не используются. к примеру виртуальная машина на разделе /dev/mapper/vol-centos1

1. один раздел
напрямую монтируем раздел

# mount /dev/mapper/vol-centos1 /mnt

2. несколько разделов

# kpartx -l /dev/mapper/vol-centos1 #смотрим разделы
vol-centos1p1: 0 1024000 /dev/loop0 2048
vol-centos1p2: 0 15751168 /dev/loop0 1026048

# kpartx -a /dev/mapper/vol-centos1 #маппим разделы

далее монтируем:

# mount /dev/mapper/vol-centos1p1 /mnt

3. LVM разделы (lvm in lvm)

# lvm pvscan #сканируем на наличие LVM-томов
PV /dev/mapper/vol-centos1p2 VG VolGroup lvm2 [7.51 GiB / 0 free]
Total: 1 [7.51 GiB] / in use: 1 [7.51 GiB] / in no VG: 0 [0 ]

# lvm vgchange -a y VolGroup #активируем группу LVM-томов

получаем в /dev/mapper два новых раздела:
VolGroup-lv_root VolGroup-lv_swap

можем монтировать и работать:

# mount /dev/mapper/VolGroup-lv_root /mnt

отключение:

# umount /dev/mapper/VolGroup-lv_root
# lvm vgchange -a n VolGroup
# kpartx -d /dev/mapper/vol-centos1

Вот и все.

Удачи в настройках.
© shadow_alone