Назад | Перейти на главную страницу

Не удается смонтировать том моментального снимка LVM

У меня есть логический том, который служит файловой системой для виртуальной гостевой ОС. Я доволен состоянием моей гостевой ОС и хотел бы сделать резервную копию. Я создал снимок с помощью 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, диспетчер устройств, и наверняка никто не скажет ему, что неправильно настроен раздел.