suspend и не ext3 [message #51522] |
Tue, 08 July 2014 02:23  |
|
Привет.
Есть дистрибутив типа Slax с ядром OpenVZ. Ядра 2.6.18 и 2.6.32 (последние). Никаких проблем с житьём под aufs как корневой системой нет: компиляция, запуск-останов контейнеров... А вот с suspend -- да, не хочет. Если разместить /vz/private/XXX на ext3 (mount -o bind) -- тогда работает (simfs, qouta off)
Вопрос: в чем смысл зависимости от типа файловой системы? Работать то работает...
2.6.32
------
Setting up checkpoint...
suspend...
Can not suspend container: Device or resource busy
Error: file struct is referenced outside 3 4
Checkpointing failed
2.6.18
------
Setting up checkpoint...
suspend...
dump...
Can not dump container: Invalid argument
Error: pg->mapping!=f_mapping: 001e8000 dc601628 dc61480c 162688
Error: dump_one_vma: funkey page
Checkpointing failed
Заметьте: 2.6.18 suspend выполняет, а ругается на что-то другое.
|
|
|
Re: suspend и не ext3 [message #51530 is a reply to message #51522] |
Thu, 10 July 2014 00:47   |
|
Попытка грубо обойти в ядре проверки, мешающие CP, не удалась: всё закончилось перезагрузкой при выполнении CP. В процессе правки ядра выяснилось, что для случая LiveCD под процесс проверки попадает magic от squashfs. Вывод: хотя CP -- это то, что непрерывно дорабатывается в каждой версии ovz, эта часть -- самая сырая.
PS: Hibernate то выполняется и ему не мешает squashfs.
[Updated on: Thu, 10 July 2014 00:48] Report message to a moderator
|
|
|
Re: suspend и не ext3 [message #51543 is a reply to message #51522] |
Mon, 14 July 2014 18:40   |
|
Удалось добиться suspend при использовании aufs через NFS.
На /vz/aufs/202 монтируется aufs. Далее
mount -t nfs localhost:/vz/aufs/202 /vz/private/202
В /etc/exports
/vz/aufs/202 *(rw,no_root_squash,no_subtree_check,fsid=0x83)
template на 202 был centos6. При попытке сразу сделать suspend он не удаётся. Надо подождать минуты 2, пока по
появится приглашение от консоли. После этого suspend/resume проходят нормально.
PS: aufs в ядре собрана с поддержкой nfs (nfs export)
[Updated on: Mon, 14 July 2014 18:58] Report message to a moderator
|
|
|
Re: suspend и не ext3 [message #51546 is a reply to message #51543] |
Tue, 15 July 2014 12:31   |
|
Обрадованный успехом с checkpoint/restore при использовании NFS, по-второму разу решился попробовать aufs для /vz/private/202. Выяснилось, что если приложение открыло какой-то файл в CT, то реально он виден для checkpoint/restore как файл того каталога, который включен в UNION. В основном это файл из squashfs, и путь к нему, естественно, вовсе не совпадает с /vz/private/202. Проверки при checkpoint было сравнительно легко отключить и checkpoint проходил. Но для restore заставить открыть файл, который лежит вне CT root, не удалось.
Setting CPU units: 1000
Restore error, undump failed: No such file or directory
Error: rst_open_file: failed to lookup path '/livecd/images/_vz_private_202/ct-202-01-base.lzm/lib/libnss_files-2.12.so':
-2
|
|
|
Re: suspend и не ext3 [message #51550 is a reply to message #51546] |
Wed, 16 July 2014 15:23  |
|
Удача. Получилось сделать suspend/restore без использования NFS. Вместо этого посредником выступила bindfs. Это fuse-fs, аналог
mount -o bind UNIONDIR /vz/private/202
При использовании "mount -o bind" checkpoint не проходит. А при использовании аналога из fuse -- всё OK.
bindfs UNIONDIR /vz/private/202
|
|
|