1

Если я на хостовой системе сделаю снимок с raw образа, при запущенной виртуалке, он сделается корректно?
Например
Сам образ ВМ:

 Консоль:
qemu-img info /home/xlin/iso/images/mageia.img
image: /home/xlin/iso/images/mageia.img
file format: raw
virtual size: 488G (524288000000 bytes)
disk size: 26G

Делаю снимок
 Консоль:
qemu-img create -f qcow2 -b /home/xlin/iso/images/mageia.img  /home/xlin/iso/images/bakcup/mageia_snap2.img
Formatting '/home/xlin/iso/images/bakcup/mageia_snap2.img', fmt=qcow2 size=524288000000 backing_file='/home/xlin/iso/images/mageia.img' encryption=off cluster_size=65536

Вот что получилось
 Консоль:
qemu-img info /home/xlin/iso/images/bakcup/mageia_snap2.img
image: /home/xlin/iso/images/bakcup/mageia_snap2.img
file format: qcow2
virtual size: 488G (524288000000 bytes)
disk size: 140K
cluster_size: 65536
backing file: /home/xlin/iso/images/mageia.img (actual path: /home/xlin/iso/images/mageia.img)

В итоге, если сравнивать два снимка, первый до обновления программ, второй после.

 Консоль:
[root@micro bakcup]# stat mageia_snap1.img
  File: «mageia_snap1.img»
  Size: 262144          Blocks: 280        IO Block: 4096   обычный файл
Device: fd02h/64770d    Inode: 88604699    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-07-14 16:09:06.351212094 +0400
Modify: 2012-07-11 08:42:59.518005086 +0400
Change: 2012-07-11 08:42:59.518005086 +0400


[root@micro bakcup]# stat mageia_snap2.img
  File: «mageia_snap2.img»
  Size: 262144          Blocks: 280        IO Block: 4096   обычный файл
Device: fd02h/64770d    Inode: 88604700    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2012-07-14 16:12:27.701993872 +0400
Modify: 2012-07-14 16:09:17.237997519 +0400
Change: 2012-07-14 16:09:17.237997519 +0400


В итоге размер у них одинаковый. Или все таки гостевую систему надо останавливать?

З.Ы. Попутно. Как потом из этих снимков откатиться? Знаю как работать с qcow2, но не с raw.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

2

живой снепшот пока что не поддерживается. то есть снять можно, но ВМ продолжит бежать как бежала, и не перескочит на снепшот.
да и технология не так проста как кажется - http://wiki.qemu.org/Features/Snapshots

так что пока что надо останавливать ВМ, брать снепшот и перенапрявлять ВМ на снепшот вместо основного имиджа при следующем запуске

ну или пользоваться либвиртом, он сам все умеет. или если совсем по хорошему - переходить на более серьезную систему управления, например оВирт - http://wiki.ovirt.org/wiki/Live_Snapshots

3

Если я остановлю ВМ, сделаю снапшот как сделал выше, и запущу снова виртуалку, то работа ОС продолжит как и было работать?

Приспичет мне откатиться, я же могу просто запустить ВМ со снапшота, указав в XML файле путь к нему?

З.Ы. ovirt можно накатить на систему где работают ВМ на KVM? Что бы не порушить чего бы.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

4

XliN пишет:

Если я остановлю ВМ, сделаю снапшот как сделал выше, и запущу снова виртуалку, то работа ОС продолжит как и было работать?

конечно. только надо будет в настройках ВМ изменить путь к диску на путь к снепшоту. Откат такой же - останавливаем ВМ, меняем путь к снепшоту на путь к более раннему снепшоту или к основному диску, и включаемся.

надо только быть осторожным - если откатиться назад, то имиджи более поздних снепшотов надо стирать, чтоб не занимали место. Ну и чтоб не попытаться на них включиться снова, и не удивиться - они окажутся испорченными, потому что имиджи на которых они полагались изменились

5

XliN пишет:

З.Ы. ovirt можно накатить на систему где работают ВМ на KVM? Что бы не порушить чего бы.

нет, овирт надо планировать как систему, это инфраструктура а не пакет который можно поставить и снести

6

dyasny пишет:

нет, овирт надо планировать как систему, это инфраструктура а не пакет который можно поставить и снести

Ну у меня пока только две ВМ крутятся на CentOS 6.2. Может мне еще не поздно переехать на oVirt? Я так понимаю там администрирование идет средствами web интерфейса?

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

7

овирт требует дополнительного железа
управляющий сервер, централизированный сторедж... короче это система для сотен и тысяч ВМ на сотнях хостов

8

Все ясно. Не буду рыпаться. Спасибо за помощь. Переделал raw в qcow2. Снимаю теперь без перезапуска. Просто на этой ВМ крутятся сайты и скорость там думаю не критический параметр.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

9

а толку от такого съема без перезапуска? ВМ продолжает крутиться в основном имидже, откат невозможен

10

ну как не возможен? откатываемся с помощью virsh  к нужному снимку.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

11

Или я что то не понимаю? При сьеме снимка, виртуалка становится не доступна на это время. Хромает матчасть?

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

12

virsh да, так работает. хотя опять же это не нормальный живой снепшот, и откат при нагруженной ВМ может привести к потере информации. я думал снепшот делается руками, через qemu-img - тогда ВМ не подхватит снепшот и ничего не изменится вообще.

для нормального ЖИВОГО снепшота, нужна поддержка внутри гостевой системы, агент который заставит весь in-flight IO записаться на диск перед тем как снимется снепшот. Иначе при откате окажется что на диске нет информации которая на момент снятия снепшота была еще в памяти и записалась уже в снепшот а не в предыдущий имидж

13

Как узнать есть ли потдержка такая в гостевой? Важно что бы информация из памяти тоже писалась, а не отбразывалась.

MX 23.6 Libretto x86_64
Чем больше я работаю админом, тем больше понимаю, насколько волшебна фраза - "Нет технической возможности!"

14

это не поддержка в гостевой а дополнительный агент который общается с хостом, и которому хост говорит что надо сделать quiesce, перед тем как снять снепшот живьем. в RHEV 3.1 это делает RHEV guest agent, в апстриме qemu, это должен делать qemu-ga, но по моему пока это только планы на бумаге (я все таки намного ближе к энтерпрайз решениям, и апстримовые дела стараюсь не трогать - просто времени на все нет)