У меня есть логический том, который используется для xen-диска:
Disk /dev/d0_vg/backup: 10.7 GB, 10737418240 bytes
1 heads, 1 sectors/track, 20971520 cylinders, total 20971520 sectors
Units = cylinders of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00001b22
Device Boot Start End Blocks Id System
/dev/d0_vg/backup1 * 64 208839 104388 83 Linux
/dev/d0_vg/backup2 208846 19406517 9598836 83 Linux
/dev/d0_vg/backup3 19406521 20964808 779144 82 Linux swap / Solaris
Как я могу указать правильное смещение для монтирования резервной копии2, корневой файловой системы?
Я попробовал следовать этой статье и рассчитать стартовую позицию:
https://www.novell.com/coolsolutions/tip/19710.html
208846*512=106929152
mount -o loop,offset=106929152 /dev/d0_vg/backup2 /mnt/
Я всегда получаю "mount: you must specify the filesystem type"
ошибка, поэтому он не пытается читать ее с того места, где должен. Кто-нибудь знает, в чем проблема?
Если я правильно прочитал ваш вопрос, у вас есть гипервизор Linux (Xen dom0) с томами Linux LVM, которые используются в качестве виртуальных дисков для ваших гостей Xen (domU). И вы хотите получить доступ к данным в этом LVM непосредственно из гипервизора, минуя гостевую систему Xen.
Я больше не использую Xen, но полагаю, что процесс похож на то, что я делаю с гостями KVM:
Выключите гостевой домU. (доступ к файловой системе из двух разных мест требует повреждения данных)
На гипервизоре запустить kpartx
который будет сканировать LVM для таблицы разделов и создавать записи устройств для каждого найденного раздела (где, как я предполагаю, есть группа томов Гости и LVM гостевое-имя-диска который является виртуальным жестким диском для вашего domU)
[root@dom0 ]# kpartx -a /dev/Guests/guestname-diskname
Если у вас было три раздела в гостевой системе Xen, это должно привести к появлению трех новых записей устройств: /dev/Guests/guestname-diskname[1-3]
Тогда вы сможете смонтировать раздел с файловой системой просто с помощью:
[root@dom0 ]# mount -t ext3 /dev/Guests/guestname-diskname2 /mnt
Это становится немного сложнее, если вы также использовали LVM внутри domU; то перегородки имеют тип 8e Linux LVM
и отформатированы как физические тома, которые вы пока не можете просто смонтировать, и требуется обман LVM. Вместо команды монтирования шаги становятся:
Надеюсь, вы сможете обнаружить группу томов, которая существовала в domU:
[root@dom0 ]# vgscan
Found volume group "Guests" using metadata type lvm2
Found volume group "VG-guestname" using metadata type lvm2 <== NEW!
Далее вам нужно включить группу томов "VG-гостевое имя" :
[root@dom0 ]# vgchange -a y guestname
И lvscan
должен отображать логические тома, которые были созданы в вашем domU, и записи устройства сопоставления обычно создаются сейчас, что позволяет вам делать что-то вроде:
[root@dom0 ]# mount -t ext3 /dev/VG-guestname/guest-lvname /mnt
IIRC это было невозможно в Xen, но может произойти с KVM, неудобный случай, когда имя группы томов, используемой в гипервизоре, совпадает с именем, назначенным в гостевой системе.
Ни в коем случае, вероятно, ваше крепление не имеет необходимой возможности для использования этого сложного крепления с обратной связью.
Если вы что-то монтируете так, команда mount сначала вызывает losetup
, и, наконец, монтирует это losetup
устройство. Это нормально /dev/loop0
(или больше).
С помощью команды losetup вы можете смонтировать файл или часть файла, как если бы это был обычный раздел. Это практически то же самое, что инструмент демона для племени любителей окон. На этот раз мы используем этот losetup для отображения части /dev/d0_vg
на новое блочное устройство, чтобы /dev/loop0
.
Вы можете сделать это в два этапа:
losetup /dev/loop0 /dev/d0_vg --offset=$[208846*512]
mount /dev/loop0 /mnt
После команды losetup вы можете проверить, нашли ли вы настоящую файловую систему с помощью команды file -szL /dev/loop0
.
После размонтирования вам нужно было удалить устройство loop0 командой losetup -d
.