У меня есть логический том, который служит файловой системой для виртуальной гостевой ОС. Я доволен состоянием моей гостевой ОС и хотел бы сделать резервную копию. Я создал снимок с помощью lvcreate
и я пытаюсь смонтировать моментальный снимок, чтобы сохранить данные для резервного копирования.
Что действительно странно, так это то, что я абсолютно не могу смонтировать моментальный снимок LVM.
$> mount /dev/guest_images_lvm/cvfunc_vol1_ss /mnt/ops/backup/
mount: you must specify the filesystem type
Используя -t
параметр монтирования. Я пробовал ext3 и ext4 для типа файловой системы, но в каждом случае получаю следующую ошибку:
mount: wrong fs type, bad option, bad superblock on /dev/mapper/guest_images_lvm-cvfunc_vol1
Вот результат lvs
для тома моментального снимка:
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
cvfunc_vol1_ss guest_images_lvm swi-a- 1.00g cvfunc_vol1 0.00
Какие параметры нужно указать для монтирования, чтобы смонтировать снимок LVM? Есть ли другой способ определить тип файловой системы снимка? Как бы то ни было, я позволил графическому интерфейсу пользователя RedHat KVM virt-manager создать том.
РЕДАКТИРОВАТЬ Дополнительная информация по запросу.
Выход lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
cvfunc_vol1 guest_images_lvm owi-a- 20.00g
cvfunc_vol1_ss guest_images_lvm swi-a- 1.00g cvfunc_vol1 0.00
cvfunc_vol2 guest_images_lvm -wi-ao 20.00g
lv_home vg_softrekcvdev0100 -wi-ao 25.68g
lv_root vg_softrekcvdev0100 -wi-ao 32.34g
lv_swap vg_softrekcvdev0100 -wi-ao 9.81g
Выход lvdisplay
для рассматриваемого объема
--- Logical volume ---
LV Name /dev/guest_images_lvm/cvfunc_vol1_ss
VG Name guest_images_lvm
LV UUID YA4m5i-yf7R-hO95-gb0F-iXqQ-PQjU-tXhAp0
LV Write Access read/write
LV snapshot status active destination for /dev/guest_images_lvm/cvfunc_vol1
LV Status available
# open 0
LV Size 20.00 GiB
Current LE 5120
COW-table size 1.00 GiB
COW-table LE 256
Allocated to snapshot 0.00%
Snapshot chunk size 4.00 KiB
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:5
Выход dd
команда, предложенная в комментарии ниже:
# dd if=/dev/guest_images_lvm/cvfunc_vol1_ss bs=1024 count=1 | file -
1+0 records in
1+0 records out
1024 bytes (1.0 kB) copied, 1.6909e-05 s, 60.6 MB/s
/dev/stdin: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, boot drive 0x80, 1st sector stage2 0x19041; partition 1: ID=0x83, active, starthead 1, startsector 63, 208782 sectors; partition 2: ID=0x8e, starthead 0, startsector 208845, 41720805 sectors, code offset 0x48
С оговоркой, что я мало что знаю о kvm, я бы предположил, что раздел представляет собой полный образ диска. Если это так, вы должны получить значимую таблицу разделов, если сделаете:
fdisk -l /dev/guest_images_lvm/cvfunc_vol1
Если это так, вам нужно сделать что-то вроде того, что предлагает эта статья: http://www.andremiller.net/content/mounting-hard-disk-image-including-partitions-using-linux
Если это действительно просто раздел, fdisk жалуется так:
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xe3a5124c.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.
РЕДАКТИРОВАТЬ: использование параметров -l согласно предложению Андре, чтобы уменьшить горе для будущих читателей.
Какая файловая система содержится в логическом томе? Узнайте, используя dd if=/dev/SOMETHING bs=1024 count=1 | file -
.
Содержит ли логический том файловую систему XFS? Файловые системы XFS имеют уникальные идентификаторы, и Linux не будет монтировать «одну и ту же» файловую систему дважды, если вы не используете mount -o nouuid
на снимке.
Этот раздел LVM был использован гостем как диск. На этом диске он создал один или несколько разделов. Что вы хотите сделать, так это извлечь эту информацию о разделах и сделать ее доступной для вашей хост-системы.
Самый простой способ сделать это - losetup
LVM:
losetup /dev/loop0 /dev/guest_images_lvm/cvfunc_vol1_ss
И расскажите своему ядру Linux об этих разделах:
partx -a /dev/loop0
Установить:
mount /dev/loop0 /mnt/vm
Чтобы снова очистить:
umount /mnt/vm
partx -d /dev/loop0p*
losetup -d /dev/loop0
Почему вы не можете просто добавить разделы из LVM и вам нужно сделать дополнительный шаг через losetup
? Поскольку вы, конечно, можете перечислить разделы на LVM, и это будет то же самое:
% sudo losetup -a
/dev/loop0: [0005]:19633989 (/dev/mapper/vg0-mail01--root)
% sudo partx -s /dev/loop0 ; sudo partx -s /dev/vg0/mail01-root
NR START END SECTORS SIZE NAME UUID
1 2048 20969471 20967424 10G
NR START END SECTORS SIZE NAME UUID
1 2048 20969471 20967424 10G
Причина в том, что LVM управляется dm
, диспетчер устройств, и наверняка никто не скажет ему, что неправильно настроен раздел.