LINUX.ORG.RU
ФорумAdmin

Консистентны ли снэпшоты OpenVZ?


0

1

Бэкап делаем vzdump'ом с LVM-снэпшотами.
Не буду долго растекаться мыслью по древу, а задам вопрос что называется «в лоб»: а куда, собственно, vzdump содержимое оперативной памяти своей «как бы виртуальной машины» девает?
Вопрос в том, что при ресторе восстановится состояние «диска», но всё выглядеть-то будет довольно некрасиво - словно всем процессам рубанули резко по мозгам как при отключении питания. Или я неправ?

★★★★★

vzdump - это довольно простой скрипт на perl, можно посмотреть, что именно он делает. Насколько я помню, никаких дампов ОЗУ контейнера он не делает (да и я слабо представляю, можно ли это сделать вообще).

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

И??? Что в этой вики-статье такого умного и, главное, способствующего решению проблемы?
Предыдущий автор высказал гораздо более разумную и аргументированную тчоку зрения, что OpenVZ - это УГ, которое даже снэпшоты виртуалок делать не умеет.
В результате запуска машины с бэкапа мы в общем случае получим нечто, находящееся в состоянии лёгкого сметения чувств после удара лопатой по голове. Ведь всем приложениям, работающим внутри контейнера, никак не скажешь, что вы, мол не обижайтесь на то, что не смогли завершить работу нормально - это в порядке вещей.

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

Вы олигофрен, уважаемый?

There are several ways to provide consistency:

- Stop the CT during backup (very long downtime)


- Use rsync and suspend/resume (minimal downtime)


- Use LVM2 (no downtime)

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

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

DRVTiny ★★★★★
() автор топика

Теоретически vz дампы контейнеров с памятью делать умеет - так как умеет миграцию.

Как я понимаю тебе нужна эта вот опция - «Use rsync and suspend/resume (minimal downtime)». Оно засуспендит (сохранит на диск где то у себя) образ ОЗУ работающего контейнера, при чем похоже прямо в директорию с корневой fs виртуалки, потом сделает бакап. Соотвественно из этого можно восстановить работающие процессы.

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

По этому для бакапа как раз нужно либо корректо их останавливать, лиюо таки делать через снепшот - но это будет эвивалент kill -9 всем процессам. Но это не так страшно так на это серверный юникс софт более-менее рассчитан.

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

suspend в том-то и Ж., что он реально знаете что делает? О, это сказка! Он просто тупо блокирует процессы. И всё! В результирующем снэпшоте, который tar-архив, вы не найдёте чего-либо отдал1ённо похожего не оперативную память виртуалки. Да и вообще... ну какие это нафиг виртуалки-то по сути? Это просто развитие идеи chroot/jail до победного конца - не более того. Вообще интересно, кто-нибудь бэкапит vzdump'ом виртуалки с базами данных например? Ведь реально же такая методика полносью аналогична тупому kill -9, как-то совсем на энтепрайз не тянет...

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

suspend в том-то и Ж., что он реально знаете что делает? О, это

сказка! Он просто тупо блокирует процессы. И всё! В результирующем

снэпшоте, который tar-архив, вы не найдёте чего-либо отдал1ённо

похожего не оперативную память виртуалки.


Паразиты! Я всегда считал их плохими, негодными линупсоедами, подозревал обман! Но не думал что они опустились до такой низости111 :D

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

Да и в новостях постоянно упоминается возможность миграции их виртуалок от ноды к ноде. Так что мне казалось что они эту проблему решили.

Может платная часть продукта?

Да и вообще... ну какие это нафиг виртуалки-то по сути? Это просто

развитие идеи chroot/jail до победного конца - не более того.


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

Мне лично это всегда казалось логичным и красивым развитием идеи chroot/jail, да и солярка пошла по тому же пути, с ее зонами.

Вообще интересно, кто-нибудь бэкапит vzdump'ом виртуалки с базами

данных например? Ведь реально же такая методика полносью аналогична

тупому kill -9, как-то совсем на энтепрайз не тянет...


Ну лично я пользуюсь vserver но там тоже этой фичи нету. А как по вашему обычные машины бекапят, в которых вообще виртуализатора нету? Там же та же проблема.

kernel ★★☆
()

а почитать мануалы сложно, лучше чушь пороть и теоретизировать?
http://wiki.openvz.org/Checkpointing_and_live_migration

2DRVTiny:

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

ага, люди тут мигрируют «в живую» во все поля со всеми данными, а это оказывается kill -9
спасибо!

man vzctl (hint --dumpfile)

зы: openvz конечно говно-говном, но вы совсем уж откровенной хуйни натеоретезировали

r0mik
()
Ответ на: комментарий от r0mik

> openvz конечно говно-говном

в смысле в этом плане, потому как масса нюансов при восстановлении состояния на другом хосте или даже на том же...

r0mik
()
Ответ на: комментарий от r0mik
# vzctl chkpnt 201 --dump --dumpfile /hastorage/data0/bak/201.dump
Setting up checkpoint...
        join context..
Can not join cpt context: No such file or directory
Checkpointing failed


Что бы это да значило?

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

Что это значит, я понял, нужно было сначала всё-таки suspend сделать и выйти изо всех vzctl enter (кстати, интереснейшая задачка - как убить все сеансы vzctl enter'а для машинки)..
Теперь вот не ресторится:

# vzctl restore 555 --dumpfile  /hastorage/data0/bak/555-state.dump
Restoring container ...
Starting container ...
Container is mounted
        undump...
Setting CPU units: 1000
Configure veth devices: veth555.0 
Adding interface veth555.0 to bridge vmbr0 on CT0 for CT555
Error: undump failed: Invalid argument
Restoring failed:
Error: iptables-restore exited with 2
Error: Most probably some iptables modules are not loaded
Error: rst_restore_net: -22
Container start failed
Stopping container ...
Container was stopped
Container is unmounted

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

это и есть нюансы с восстановлением состояния)) несоответствие различных ядерных структур и т.п., в данном случае iptables

r0mik
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.