LINUX.ORG.RU
решено ФорумAdmin

Скопировать raw to zvol

 ,


0

1

лор, помоги, пожалуйста, скопировать данные из raw в zvol.

Исходный raw.

# sfdisk -l /vm/ssd/test/root.hdd
sfdisk: Disk root.hdd: cannot get geometry

Disk root.hdd: 1305 cylinders, 255 heads, 63 sectors/track
sfdisk: Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units: cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
root.hdd1   *      0+     31-     31-    248832   83  Linux
root.hdd2         31+   1305-   1275-  10233857    5  Extended
root.hdd3          0       -       0          0    0  Empty
root.hdd4          0       -       0          0    0  Empty
root.hdd5         31+   1305-   1275-  10233856   8e  Linux LVM

zvol в который будем копировать.

# sfdisk -l /dev/zvol/ssd/test

Disk /dev/zvol/ssd/test: 20805 cylinders, 16 heads, 63 sectors/track

Копирую таблицу разделов.

sfdisk -d root.hdd | sfdisk --force /dev/zvol/ssd/test

Проверяю.

# sfdisk -l /dev/zvol/ssd/test

Disk /dev/zvol/ssd/test: 20805 cylinders, 16 heads, 63 sectors/track
sfdisk: Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units: cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/zvol/ssd/test1   *      2+    495-    494-    248832   83  Linux
/dev/zvol/ssd/test2        497+  20803-  20306-  10233857    5  Extended
/dev/zvol/ssd/test3          0       -       0          0    0  Empty
/dev/zvol/ssd/test4          0       -       0          0    0  Empty
/dev/zvol/ssd/test5        497+  20803-  20306-  10233856   8e  Linux LVM

Копирую данные из raw => zvol.

# losetup /dev/loop0 /vm/ssd/test/root.hdd
# kpartx -a /dev/loop0
# ls /dev/loop0* /dev/mapper/loop0*
/dev/loop0  /dev/mapper/loop0p1  /dev/mapper/loop0p2  /dev/mapper/loop0p5

# dd if=/dev/mapper/loop0p1 of=/dev/zvol/ssd/test-part1
# dd if=/dev/mapper/loop0p2 of=/dev/zvol/ssd/test-part2
# dd if=/dev/mapper/loop0p5 of=/dev/zvol/ssd/test-part5

Пробую загрузить VM и получаю => booting from hard disk... => https://poiuty.com/img/00/d830e20b9fd23498b085a7ffd2f7f600.png
Смотрю еще раз sfdisk -l

sfdisk -l /dev/zvol/ssd/test

Disk /dev/zvol/ssd/test: 20805 cylinders, 16 heads, 63 sectors/track
sfdisk: Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.
Units: cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/zvol/ssd/test1   *      2+    495-    494-    248832   83  Linux
/dev/zvol/ssd/test2        497+  20803-  20306-  10233857    5  Extended
/dev/zvol/ssd/test3          0       -       0          0    0  Empty
/dev/zvol/ssd/test4          0       -       0          0    0  Empty
/dev/zvol/ssd/test5        497+  20803-  20306-  10233856   8e  Linux LVM
		start: (c,h,s) expected (497,12,29) found (31,59,29)
		end: (c,h,s) expected (1023,15,63) found (1023,254,63)


А зачем копировать по одному разделу, если тебе надо скопировать весь диск? Размеры разделов на источнике/назначении должны различаться? Судя по тому, что ты копируешь MBR через sfdisk - нет. Так и копируй тогда весь том

dd if=/vm/ssd/test/root.hdd of=/dev/zvol/ssd/test bs=8M
Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Когда делаю инстал VM в zvol => получаю USED 1G.
Если делаю dd целиком (тот же обьем данных только в raw) => получаю USED 10G.

На сколько я понял, нужно скопировать размеры разделов.
Далее монтировать zvol и VM => и скопировать данные. Верно?

poiuty
() автор топика
Последнее исправление: poiuty (всего исправлений: 1)
Ответ на: комментарий от poiuty

сжатие на томе то включено, данные то сжимаемы, том то без резерва.

vxzvxz ★★★
()
Ответ на: комментарий от poiuty

Если ты будешь копировать dd - у тебя будут посекторные копии и неважно, будешь ли ты копировать разделы или весь диск целиком - занятым будет считаться каждый скопированный сектор.

Используй partimage если хочешь чтобы занятное место на zvol было равно объему реально занятых данных

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Через partimage не получилось.
Данные можно залить любым способом dd или cp -rp.
Когда запускаю VM => booting from hard disk...
Получилось запустить после

dd if=/backup/vm/test/root.hdd of=/dev/zvol/raid0/test bs=512 count=101

bs 880 hex => https://dl.dropboxusercontent.com/u/59491914/logs/hex/1.log
bs 512 count 101 hex => https://dl.dropboxusercontent.com/u/59491914/logs/hex/2.log

Что находится во втором файле и почему без этого VM не запускалась?

poiuty
() автор топика
Последнее исправление: poiuty (всего исправлений: 2)
Ответ на: комментарий от poiuty

Без понятия, только что проверил у меня прекрасно все залилось после развертывания MBR(dd if=img of=zvol bs=512 count=1) и последующего залития образов через partimage в полученные разделы

Судя по твоей ошибке - ты не скопировал или неверно скопировал MBR

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.