В соответствии с этот сообщение, это должно быть хорошо, чтобы использовать dd
для преобразования необработанного образа Xen в LVM.
Что я наделал
dd if=/vm.img of=/dev/vg00/vm
Я могу смонтировать vm.img с mount -o loop vm.img /root/tmp
. У него только один загрузочный раздел.
Но я не могу сесть /dev/vg00/vm
.
Может это как-то связано с MBR?
Есть идеи, что может быть не так?
Редактировать:
Теперь я создал новый LV и отформатировал его. И я все еще не могу его смонтировать.
Это та же самая ошибка монтирования, которую я получаю, когда перерисовываю образ.
localhost:~# mkfs.ext3 /dev/vg00/oes2
mke2fs 1.39 (29-May-2006)
Warning: could not erase sector 2: Attempt to write block from filesystem resulted in short write
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2228224 inodes, 4456448 blocks
222822 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
136 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Warning: could not read block 0: Attempt to read block from filesystem resulted in short read
Warning: could not erase sector 0: Attempt to write block from filesystem resulted in short write
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:
Warning, had trouble writing out superblocks.done
This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
localhost:~# mount /dev/vg00/oes2 tmp-lvm/
mount: you must specify the filesystem type
localhost:~# mount -t ext3 /dev/vg00/oes2 tmp-lvm/
mount: wrong fs type, bad option, bad superblock on /dev/vg00/oes2,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
localhost:~# mount -t ext3 /dev/vg00/oes2 tmp-lvm/
localhost:~# fdisk /dev/vg00/oes2
Unable to read /dev/vg00/oes2
localhost:~#
Предупреждение: не удалось стереть сектор 2: попытка записи блока из файловой системы привела к короткой записи
Звучит не очень хорошо. Скорее всего, это означает, что некоторые важные блоки были неправильно записаны на диск. Вы должны проверить SMART-статус вашего жесткого диска, он может содержать ошибки. Smartmontools можно использовать для этой цели. Если вы используете Ubuntu, вы можете запустить простую утилиту SMART, выбрав «Система»> «Администрирование»> «Дисковая утилита». Если жесткий диск поддерживает SMART, вы можете выполнить тест, который проверяет все сектора.
Если проблема не в жестком диске, возможно, ваша группа томов LVM каким-то образом повреждена ?!
Проблема в том, что, поскольку это виртуальная машина, существует раздел из образа, который теперь передается в LVM. При локальном монтаже LVM необходимо установить со смещением.
Вам нужно получить начало раздела на диске. Это распечатает ваши разделы. Возьмите начальный номер загрузочного раздела.
parted -s /dev/vg00/oes2 unit s print example: ie: parted -s /dev/vmstore/kfsnap unit s print Model: Linux device-mapper (snapshot) (dm) Disk /dev/dm-11: 25165824s Sector size (logical/physical): 512B/4096B Partition Table: msdos Number Start End Size Type File system Flags 1 2048s 25163775s 25161728s primary ext4 boot The sector size is: 512, so I then multiply the start by 512 sectors. expr 512 '*' 2048 It spits out this: 1048576
Затем я знаю смещение в образе lvm и теперь могу смонтировать диск через шлейф.
#mount - o loop,offset=1048576 /dev/vmstore/kfsnap /mnt/snap
Вот несколько строк для первого раздела:
parted -s /dev/vg00/oes2 unit s print 2>/dev/null | grep " 1 " | tr -d 's' | awk '{print $2}'