OpenVZ Forum


Home » International » Russian » ovz backup & checkpointing
ovz backup & checkpointing [message #7280] Tue, 10 October 2006 06:03 Go to next message
enpx is currently offline  enpx
Messages: 50
Registered: October 2006
Member
Здраствуйте!

Как правильно выполнять бэкап VE? Вот тут http://forum.openvz.org/index.php?t=msg&goto=1888& предлагают tar & rsync - как-то слишком грубо. После прочтения вот этого http://wiki.openvz.org/Checkpointing_and_live_migration решил сделать так:

[root@m0 ~]# vzctl chkpnt 101 --suspend
Setting up checkpoint...
        suspend...
        get context...
Checkpointing completed succesfully
[root@m0 ~]# vzctl chkpnt 101 --dump --dumpfile 101.dump
Setting up checkpoint...
        join context..
        dump...
Can not dump VE: Device or resource busy
unsupported netdevice eth2
Checkpointing failed
[root@m0 ~]# ls -l 101.dump
-rw------- 1 root root 3424 Oct 10 11:36 101.dump


В VE проброшена сетевая карта eth2 с помощью --netdev_add. После ее удаления ничего не изменилось.

Создал новый VE и проделал то же:

[root@m0 ~]# vzctl create 103 --ostemplate centos-4-i386-minimal --config vps.basic
Creating VE private area: /var/lib/vz/private/103
Performing postcreate actions
VE private area was created
[root@m0 ~]# vzctl start 103
Starting VE ...
VE is mounted
Setting CPU units: 1000
VE start in progress...
[root@m0 ~]# vzctl enter 103
entered into VE 103
...
[root@m0 ~]# vzctl chkpnt 103 --suspend
Setting up checkpoint...
        suspend...
        get context...
Checkpointing completed succesfully
[root@m0 ~]# vzctl chkpnt 103 --dump --dumpfile 103.dump
Setting up checkpoint...
        join context..
        dump...
Can not dump VE: Invalid argument
page without mapping at 00dd0000@18768
dump_one_vma: funkey page
Checkpointing failed


В чем дело?
Re: ovz backup & checkpointing [message #7284 is a reply to message #7280] Tue, 10 October 2006 08:57 Go to previous messageGo to next message
enpx is currently offline  enpx
Messages: 50
Registered: October 2006
Member
Прочитал http://bugzilla.openvz.org/show_bug.cgi?id=203, сделал как предложено, в результате получил дамп размером 512K:

[root@m0 ~]# vzctl chkpnt 103 --suspend
Setting up checkpoint...
        suspend...
        get context...
Checkpointing completed succesfully
[root@m0 ~]# vzctl chkpnt 103 --dump --dumpfile 103.dump
Setting up checkpoint...
        join context..
        dump...
Checkpointing completed succesfully
[root@m0 ~]# du 103.dump 
512K    103.dump


Что бы это могло значить?
Re: ovz backup & checkpointing [message #7285 is a reply to message #7284] Tue, 10 October 2006 09:04 Go to previous messageGo to next message
Andrey Mirkin is currently offline  Andrey Mirkin
Messages: 193
Registered: May 2006
Senior Member
enpx wrote on Tue, 10 October 2006 04:57

Прочитал http://bugzilla.openvz.org/show_bug.cgi?id=203, сделал как предложено, в результате получил дамп размером 512K:

[root@m0 ~]# vzctl chkpnt 103 --suspend
Setting up checkpoint...
        suspend...
        get context...
Checkpointing completed succesfully
[root@m0 ~]# vzctl chkpnt 103 --dump --dumpfile 103.dump
Setting up checkpoint...
        join context..
        dump...
Checkpointing completed succesfully
[root@m0 ~]# du 103.dump 
512K    103.dump


Что бы это могло значить?

Это значит, что дамп VPS (процессы, их память, другие кернельные структуры и т.д.) занимает 512 Кб. Если в VPS было мало процессов, то это нормально.
В этот дамп не попадает файловая система, ее надо сохранять (например, при помощи tar'а) отдельно.


Andrey Mirkin
http://static.openvz.org/userbars/openvz-developer.png
Re: ovz backup & checkpointing [message #7287 is a reply to message #7280] Tue, 10 October 2006 09:22 Go to previous messageGo to next message
Andrey Mirkin is currently offline  Andrey Mirkin
Messages: 193
Registered: May 2006
Senior Member
enpx wrote on Tue, 10 October 2006 02:03

Здраствуйте!

Как правильно выполнять бэкап VE? Вот тут http://forum.openvz.org/index.php?t=msg&goto=1888& предлагают tar & rsync - как-то слишком грубо.


Почему грубо? Для бэкапа файловой системы этого достаточно.
Quote:

После прочтения вот этого http://wiki.openvz.org/Checkpointing_and_live_migration решил сделать так:

[root@m0 ~]# vzctl chkpnt 101 --suspend
Setting up checkpoint...
        suspend...
        get context...
Checkpointing completed succesfully
[root@m0 ~]# vzctl chkpnt 101 --dump --dumpfile 101.dump
Setting up checkpoint...
        join context..
        dump...
Can not dump VE: Device or resource busy
unsupported netdevice eth2
Checkpointing failed
[root@m0 ~]# ls -l 101.dump
-rw------- 1 root root 3424 Oct 10 11:36 101.dump


В VE проброшена сетевая карта eth2 с помощью --netdev_add. После ее удаления ничего не изменилось.


Даже если перезапустить VPS?
Quote:


Создал новый VE и проделал то же:

[root@m0 ~]# vzctl create 103 --ostemplate centos-4-i386-minimal --config vps.basic
Creating VE private area: /var/lib/vz/private/103
Performing postcreate actions
VE private area was created
[root@m0 ~]# vzctl start 103
Starting VE ...
VE is mounted
Setting CPU units: 1000
VE start in progress...
[root@m0 ~]# vzctl enter 103
entered into VE 103
...
[root@m0 ~]# vzctl chkpnt 103 --suspend
Setting up checkpoint...
        suspend...
        get context...
Checkpointing completed succesfully
[root@m0 ~]# vzctl chkpnt 103 --dump --dumpfile 103.dump
Setting up checkpoint...
        join context..
        dump...
Can not dump VE: Invalid argument
page without mapping at 00dd0000@18768
dump_one_vma: funkey page
Checkpointing failed


В чем дело?


Это из-за vsyscall. Какое ядро вы используете? Какая у вас архитектура и какой процессор?


Andrey Mirkin
http://static.openvz.org/userbars/openvz-developer.png
Re: ovz backup & checkpointing [message #7289 is a reply to message #7285] Tue, 10 October 2006 09:34 Go to previous messageGo to next message
enpx is currently offline  enpx
Messages: 50
Registered: October 2006
Member
Quote:


Это значит, что дамп VPS (процессы, их память, другие кернельные структуры и т.д.) занимает 512 Кб. Если в VPS было мало процессов, то это нормально.
В этот дамп не попадает файловая система, ее надо сохранять (например, при помощи tar'а) отдельно.


Спасибо, я просто неправильно прочел http://wiki.openvz.org/Checkpointing_and_live_migration
Re: ovz backup & checkpointing [message #7291 is a reply to message #7287] Tue, 10 October 2006 09:42 Go to previous messageGo to next message
enpx is currently offline  enpx
Messages: 50
Registered: October 2006
Member
Quote:


Почему грубо? Для бэкапа файловой системы этого достаточно.



Мы рискуем получить несогласованный бэкап, в котором одни файлы были прочитаны раньше и попали в бэкап не в таком виде, в каком они были к моменту окончания бэкапа - для файлов СУБД, например, это может быть проблемой. Для LVM я использовал снапшоты, чтобы этого избежать.

Правильно ли я понимаю, что для получить согласованный бэкап можно так:

1. делаем suspend и chkpnt
2. сжимаем var/lib/vz/private/$VEID и откладываем в сторонку вместе с дампом
3. делаем resume

При необходимости восстановить VE из бэкапа мы:

1. делаем resume
2. на место var/lib/vz/private/$VEID переносим то, что отложили
3. делаем vzctl restore $VEID --undump --dumpfile <path>

И работаем с тем что было до бэкапа, верно?

Правильно ли я также понимаю, что VE, внутри которых не происходит интенсивных модификаций ФС (или согласованность не важна) проще бэкапить на ходу с помощью tar/cpio/rsync?

Если внутри VE живет, скажем, PostgreSQL, что будет правильнее: бэкапить его с помощью suspend/chkpnt/copy или бэкапить БД средствами самого PostgreSQL, а все прочее с помощью tar/cpio/rsync?
Re: ovz backup & checkpointing [message #7292 is a reply to message #7291] Tue, 10 October 2006 10:14 Go to previous messageGo to next message
Andrey Mirkin is currently offline  Andrey Mirkin
Messages: 193
Registered: May 2006
Senior Member
enpx wrote on Tue, 10 October 2006 05:42


Правильно ли я понимаю, что для получить согласованный бэкап можно так:

1. делаем suspend и chkpnt
2. сжимаем var/lib/vz/private/$VEID и откладываем в сторонку вместе с дампом
3. делаем resume


1а. делаем vzctl chkpnt VEID --suspend
1б. делаем vzctl chkpnt VEID --dump --dumpfile FILE
Впс заморожена, поэтому мы мы можем делать:
2. сжимаем var/lib/vz/private/$VEID и откладываем в сторонку вместе с дампом
3. делаем vzctl chkpnt VEID --resume
Quote:


При необходимости восстановить VE из бэкапа мы:

1. делаем resume
2. на место var/lib/vz/private/$VEID переносим то, что отложили
3. делаем vzctl restore $VEID --undump --dumpfile <path>


1. на место var/lib/vz/private/$VEID переносим то, что отложили
2. делаем vzctl restore $VEID --undump --dumpfile <path>
3. делаем vzctl restore $VEID --resume
Quote:


И работаем с тем что было до бэкапа, верно?


Да, все верно.
Quote:


Правильно ли я также понимаю, что VE, внутри которых не происходит интенсивных модификаций ФС (или согласованность не важна) проще бэкапить на ходу с помощью tar/cpio/rsync?


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


Если внутри VE живет, скажем, PostgreSQL, что будет правильнее: бэкапить его с помощью suspend/chkpnt/copy или бэкапить БД средствами самого PostgreSQL, а все прочее с помощью tar/cpio/rsync?


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

Удачи!


Andrey Mirkin
http://static.openvz.org/userbars/openvz-developer.png
Re: ovz backup & checkpointing [message #7312 is a reply to message #7291] Wed, 11 October 2006 04:38 Go to previous messageGo to next message
dev is currently offline  dev
Messages: 1693
Registered: September 2005
Location: Moscow
Senior Member

достаточно просто заморозить VE:
# 1st tar of whole VE private area
# vzctl chkpnt VEID --suspend
# incremental backup of VE private area (for speedup)
# vzctl chkpnt VEID --resume

и все.
сам checkpointing нужен лишь в том случае, если вы хотите иметь не только dump файловой системы, но и состояния процессов.

P.S. LVM snapshot'ами все так же можно пользоваться.
Например, сделать snapshot и спокойно скопировать данные VE. Такая копия будет consistent с точки зрения Баз Данных.


http://static.openvz.org/userbars/openvz-developer.png
Re: ovz backup & checkpointing [message #38738 is a reply to message #7280] Fri, 22 January 2010 19:53 Go to previous messageGo to next message
Artemiy117 is currently offline  Artemiy117
Messages: 11
Registered: January 2010
Junior Member
Народ, у меня такая проблема я делаю:
# vzctl chkpnt 2 --suspend
Setting up checkpoint...
        suspend...
        get context...
Checkpointing completed succesfully


Далее как говорилось выше:
# vzctl chkpnt 2 --dump --dumpfile /home/user/backup/vps2/dump
Setting up checkpoint...
        join context..
        dump...
Can not dump container: Device or resource busy
Error: splice is used by 11244,440(nginx)
Checkpointing failed


И тут у меня ругается, что nginx там еще теплится, или что? Почему он не может дамп сделать? И можно ли пропустить этот шаг, то есть после suspend сразу заtar'ить VE?
Re: ovz backup & checkpointing [message #38773 is a reply to message #7280] Tue, 26 January 2010 09:21 Go to previous message
Artemiy117 is currently offline  Artemiy117
Messages: 11
Registered: January 2010
Junior Member
Народ, помогите. Ни одни способом сделать бэкап, описанным тут не дали результатов. Вываливается ошибка:
# vzdump --suspend --dumpdir /home/user/backup 004
INFO: Starting new backup job - vzdump --suspend --dumpdir /home/user/backup 004
Use of uninitialized value $vmtype in concatenation (.) or string at /usr/sbin/vzdump line 1308.
INFO: Starting Backup of VM 004 ()
Use of uninitialized value $dir in -d at /usr/sbin/vzdump line 763.
Use of uninitialized value $dir in concatenation (.) or string at /usr/sbin/vzdump line 763.
ERROR: Backup of VM 004 failed - directory '' does not exist
# vzdump --dumpdir /home/user/backup/vps4 --snapshot 004
INFO: Starting new backup job - vzdump --dumpdir /home/user/backup/vps4 --snapshot 004
Use of uninitialized value $vmtype in concatenation (.) or string at /usr/sbin/vzdump line 1308.
INFO: Starting Backup of VM 004 ()
Use of uninitialized value $dir in -d at /usr/sbin/vzdump line 763.
Use of uninitialized value $dir in concatenation (.) or string at /usr/sbin/vzdump line 763.
ERROR: Backup of VM 004 failed - directory '' does not exist

Ткните пожалуйста, где грабли?
Previous Topic: [SOLVED] /dev/null permissions
Next Topic: OpenVZ виснет
Goto Forum:
  


Current Time: Sun Oct 06 09:25:22 GMT 2024

Total time taken to generate the page: 0.04380 seconds