Wednesday, 12 February 2014

Как себя ведет ploop диск в процессе снятия/мержа снапшота?

Итак, состояние до:
[root@ovz12 ~]# ls -la /vz/private/1232/root.hdd/
итого 1,2G
drwx------ 2 root root 4,0K Фев 12 22:36 .drwx------ 5 root root 4,0K Фев 12 22:36 ..-rw-r--r-- 1 root root  790 Фев 12 22:36 DiskDescriptor.xml
-rw------- 1 root root    0 Ноя 24 18:02 DiskDescriptor.xml.lck
-rw------- 1 root root 1,1G Фев  4 20:08 root.hdd
[root@ovz12 ~]# md5sum /vz/private/1232/root.hdd/DiskDescriptor.xml
f0840189b5ca3490eccba32a94e7930b  /vz/private/1232/root.hdd/DiskDescriptor.xml
Создаем снапшот:
[root@ovz12 ~]# vzctl snapshot 1232 --id 0b0d3181-c4e3-4564-aae5-4a1d5df2186a
Creating snapshot {0b0d3181-c4e3-4564-aae5-4a1d5df2186a}
Storing /vz/private/1232/Snapshots.xml.tmp
Setting up checkpoint...
suspend...
get context...
Checkpointing completed successfully
Storing /vz/private/1232/root.hdd/DiskDescriptor.xml.tmp
Creating delta /vz/private/1232/root.hdd/root.hdd.{4c6e204d-e1b0-4bc9-aa22-82537b3b5505} bs=2048 size=12288000 sectors v2
Creating snapshot dev=/dev/ploop41556 img=/vz/private/1232/root.hdd/root.hdd.{4c6e204d-e1b0-4bc9-aa22-82537b3b5505}
ploop snapshot {0b0d3181-c4e3-4564-aae5-4a1d5df2186a} has been successfully created
Setting up checkpoint...
join context..
dump...
Checkpointing completed successfully
Resuming...
Snapshot {0b0d3181-c4e3-4564-aae5-4a1d5df2186a} has been successfully created
После этого меняется размер и содержимое дескриптора (DiskDescriptor.xml):
[root@ovz12 ~]# md5sum /vz/private/1232/root.hdd/DiskDescriptor.xml
f8c5469b4eb192cd90b9ceba7f437a8e  /vz/private/1232/root.hdd/DiskDescriptor.xml

И также мы обнаруживаем файл дельты, который используется для записи изменений:
[root@ovz12 ~]# ls -la /vz/private/1232/root.hdd/
итого 1,2G
drwx------ 2 root root 4,0K Фев 12 22:37 .drwx------ 5 root root 4,0K Фев 12 22:37 ..-rw-r--r-- 1 root root 1,2K Фев 12 22:37 DiskDescriptor.xml
-rw------- 1 root root    0 Ноя 24 18:02 DiskDescriptor.xml.lck
-rw------- 1 root root 1,1G Фев  4 20:08 root.hdd
-rw------- 1 root root 4,0M Фев 12 22:37 root.hdd.{4c6e204d-e1b0-4bc9-aa22-82537b3b5505}

Теперь проводим обратный мерж данных:
[root@ovz12 ~]# vzctl snapshot-delete 1232 --id 0b0d3181-c4e3-4564-aae5-4a1d5df2186a
Deleting snapshot {0b0d3181-c4e3-4564-aae5-4a1d5df2186a}
Storing /vz/private/1232/Snapshots.xml.tmp
Opening delta /vz/private/1232/root.hdd/root.hdd
Merging top delta
Storing /vz/private/1232/root.hdd/DiskDescriptor.xml
Removing /vz/private/1232/root.hdd/root.hdd.{4c6e204d-e1b0-4bc9-aa22-82537b3b5505}
ploop snapshot {0b0d3181-c4e3-4564-aae5-4a1d5df2186a} has been successfully merged
Snapshot {0b0d3181-c4e3-4564-aae5-4a1d5df2186a} has been successfully deleted
В результате дескриптор придет в такое же состояние как был ранее (ключевая сумма не изменится), но пропадет файл дельты, так как будет интегрирован в оснвоной диск:
[root@ovz12 ~]# ls -la /vz/private/1232/root.hdd/
итого 1,2G
drwx------ 2 root root 4,0K Фев 12 22:37 .drwx------ 5 root root 4,0K Фев 12 22:37 ..-rw-r--r-- 1 root root  790 Фев 12 22:37 DiskDescriptor.xml
-rw------- 1 root root    0 Ноя 24 18:02 DiskDescriptor.xml.lck
-rw------- 1 root root 1,1G Фев  4 20:08 root.hdd
[root@ovz12 ~]# md5sum /vz/private/1232/root.hdd/DiskDescriptor.xml
f0840189b5ca3490eccba32a94e7930b  /vz/private/1232/root.hdd/DiskDescriptor.xml

No comments:

Post a Comment

Note: only a member of this blog may post a comment.