OpenVZ Forum


Home » International » Russian » vzmigrate: останавливается синхронизация
vzmigrate: останавливается синхронизация [message #37957] Fri, 06 November 2009 11:10 Go to next message
lithium is currently offline  lithium
Messages: 78
Registered: April 2007
Member
Наконец-то завел дополнительные ноды, начал переносить контейнеры, все перешли нормально, самый большой (с почтой) оставил на десерт. Однако, при копировании 2,3 ГБ из 2,5 процесс замирает, суммарное время процсса sshd на ноде-получателе и ssh и rsync на источнике перестают расти. Вывод vzmigrate:
# vzmigrate -v --online hn1 101
OPT:-v
OPT:--online
OPT:hn1
Starting online migration of CT 101 to hn1
OpenVZ is running...
    Loading /etc/vz/vz.conf and /etc/vz/conf/101.conf files
    Check IPs on destination node: 10.3.128.xx
Preparing remote node
    Copying config file
101.conf                                                                                                                                                                      100% 1758     1.7KB/s   00:00
Saved parameters for CT 101
    Creating remote container root dir
    Creating remote container private dir
Initializing remote quota
    Quota init
    Turning remote quota on
Syncing private


На этом после копирования 2,3 ГБ все замирает (ждал часа полтора). Варианты с --online и без него никак не влияют. Повторный запуск иногда просто можно запустить, один раз пришлось отключать квоту для будущего контейнера на ноде-получателе, один раз контейнер даже успел появиться в выводе vzlist -a как не запущенный.
ОС - CentOS 5.4.
Ядро на ноде-получателе
2.6.18-128.2.1.el5.028stab064.7PAE #1
на источнике
2.6.18-128.2.1.el5.028stab064.7 #1 SMP
(оба i686)
Весь софт самый последний, обновляется через yum.

Re: vzmigrate: останавливается синхронизация [message #37958 is a reply to message #37957] Fri, 06 November 2009 11:19 Go to previous messageGo to next message
lithium is currently offline  lithium
Messages: 78
Registered: April 2007
Member
сейчас запустил strace на каждый процесс на ноде-источнике: vzmigrate, подчиненные awk, grep, rsync и подчиненный ему ssh. Везде тишина.
vzmigrate застрял на waitpid()
grep и awk на read()
rsync и ssh на select().

В логах (message, secure, vzctl.log и вывод dmesg) ничего подозрительного.

P.S. Небольшое уточнение:
ssh не замер на одном вызове, а повторяет его:
select(5, NULL, [4], NULL, {0, 301000}) = 0 (Timeout)
select(5, NULL, [4], NULL, {60, 0}) = 0 (Timeout)
select(5, NULL, [4], NULL, {60, 0}) = 0 (Timeout)
select(5, NULL, [4], NULL, {60, 0}) = 0 (Timeout)
select(5, NULL, [4], NULL, {60, 0}) = 0 (Timeout)

[Updated on: Fri, 06 November 2009 11:31]

Report message to a moderator

Re: vzmigrate: останавливается синхронизация [message #37959 is a reply to message #37957] Fri, 06 November 2009 11:20 Go to previous messageGo to next message
kir is currently offline  kir
Messages: 1645
Registered: August 2005
Location: Moscow, Russia
Senior Member

Посмотрите, что делает rsync (strace), может, станет понятнее.

Kir Kolyshkin
http://static.openvz.org/userbars/openvz-developer.png
Re: vzmigrate: останавливается синхронизация [message #37960 is a reply to message #37959] Fri, 06 November 2009 11:24 Go to previous messageGo to next message
lithium is currently offline  lithium
Messages: 78
Registered: April 2007
Member
см. выше (успел Wink )
Re: vzmigrate: останавливается синхронизация [message #37964 is a reply to message #37958] Fri, 06 November 2009 12:29 Go to previous messageGo to next message
lithium is currently offline  lithium
Messages: 78
Registered: April 2007
Member
с помощью scp несжатый дамп скопировался без проблем...
Re: vzmigrate: останавливается синхронизация [message #37967 is a reply to message #37964] Fri, 06 November 2009 13:26 Go to previous messageGo to next message
kir is currently offline  kir
Messages: 1645
Registered: August 2005
Location: Moscow, Russia
Senior Member

Видимо, это проблема с rsync. Посмотрите, иногда разные версии rsync плохо друг с другом работают.

Ещё могут помочь опции
-r no --keep-dst


Kir Kolyshkin
http://static.openvz.org/userbars/openvz-developer.png
Re: vzmigrate: останавливается синхронизация [message #37968 is a reply to message #37957] Fri, 06 November 2009 13:34 Go to previous messageGo to next message
lithium is currently offline  lithium
Messages: 78
Registered: April 2007
Member
Путем запуска vzquota stat на ноде-получателе нашел в чем проблема -- на исходной ноде размер контейнера (diskspace) оказался между softlimit (2,3 ГБ) и hardlimit (2,6 ГБ) (но все работало, df -h показывал ~70%), а на ноде-получателе, судя по всему, за размер softlimit выйти было нельзя, при копировании все стопорилось когда размер файлов на диске упирался в soflimit. Вот вывод vzquota stat на получателе когда все затыкалось:

[root@hn1 vz-scripts]# vzquota stat 101
   resource          usage       softlimit      hardlimit    grace
  1k-blocks        2359300*        2359296        2621440     none
     inodes          47820          200000         220000

Увеличил квоту на исходной ноде перед переносом до 3:3,5 ГБ-- все перенеслось нормально. (Надо все-таки почитать про управление ресурсами). Странный момент в том, что судя по тому, что я вижу при пролистывании экрана putty, df -h внутри контейнера перед переносом показывал:

Файловая система      Разм  Исп  Дост  Исп% смонтирована на
/dev/simfs            2,3G  1,6G  668M  72% /
none                  252M  8,0K  252M   1% /dev

хотя, как оказалось, занято было около 2,5 ГБ (это несоответствие не заметил), а сейчас, на новой ноде, внутри контейнера показывает:

Файловая система      Разм  Исп  Дост  Исп% смонтирована на
/dev/simfs            2,9G  2,6G  369M  88% /
none                  2,0G  8,0K  2,0G   1% /dev


Сейчас проверил, на старой ноде в единственном оставшемся контейнере все показывается нормально, хотя, он не рабочий (для экспериментов), его объем в последнее время не рос. Может после моих каких-то действий что-то сбойнуло...

P.S. (чуть не забыл) Cпасибо за помощь Smile

[Updated on: Fri, 06 November 2009 13:35]

Report message to a moderator

Re: vzmigrate: останавливается синхронизация [message #37969 is a reply to message #37968] Fri, 06 November 2009 13:51 Go to previous messageGo to next message
lithium is currently offline  lithium
Messages: 78
Registered: April 2007
Member
P.P.S. Наверное, идеологически правильно было бы, если бы в подобных ситуациях выдавалась какая-нибудь ошибка.
Re: vzmigrate: останавливается синхронизация [message #37971 is a reply to message #37968] Fri, 06 November 2009 14:00 Go to previous messageGo to next message
kir is currently offline  kir
Messages: 1645
Registered: August 2005
Location: Moscow, Russia
Senior Member

Значит, во-первых, на source системе, видимо, стоял grace period, а на dest он был в 0.

Во-вторых, расхождение в квотах может быть вызвано тем, что вы помимо квоты что-то писали в контейнер, например так:

vzctl stop NNN
vzctl umount NNN # на всякий случай
cp some /vz/private/NNN/tmp

При этом, понятное дело, учёта никакого нет, а также нет возможности потом (при старте контейнера) увидеть, что квоту надо пересчитывать.

Правильно писать в контейнер так:
vzctl mount NNN
cp some /vz/root/NNN/tmp


При этом записываемое будет учитываться в квоту, и она не разойдётся с реальными значениями.

Теперь как пересчитать квоту. Проще всего вот так:
vzctl stop NNN
vzctl umount NNN # на всякий случай
vzquota drop NNN
vzctl start NNN # тут будет пересчитываться квота



Kir Kolyshkin
http://static.openvz.org/userbars/openvz-developer.png
Re: vzmigrate: останавливается синхронизация [message #37974 is a reply to message #37971] Fri, 06 November 2009 14:37 Go to previous messageGo to next message
lithium is currently offline  lithium
Messages: 78
Registered: April 2007
Member
> Значит, во-первых, на source системе, видимо, стоял grace period, а на dest он был в 0.

Я пока не в курсе, где это настраивается (соотв-но, сам это нигде не менял), если это про параметр QUOTATIME в конфиге CT, то он равен нулю (и был перенесен на новую систему с тем же параметром).

> Во-вторых, расхождение в квотах может быть вызвано тем, что вы помимо квоты что-то писали в контейнер [...]

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

> Теперь как пересчитать квоту. [...]

Насколько я понял, при переносе она пересчиталась, если это просто совет на будущее, то тогда ясно, спасибо за совет.

Re: vzmigrate: останавливается синхронизация [message #37975 is a reply to message #37974] Fri, 06 November 2009 15:04 Go to previous messageGo to next message
kir is currently offline  kir
Messages: 1645
Registered: August 2005
Location: Moscow, Russia
Senior Member

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

Quote:
мне казалось, что квота пересчитывается при перезапуске контейнера


Нет, она пересчитывается не при каждом старте квоты, а только тогда, когда, скажем, нет квотафайла. То есть ситуацию, когда квота файл есть, но значения в нём неверные, нельзя задетектить.

При миграции она естественным путём пересчитывается -- сначала инициализируется и включается квота, потом всё копируется, и в процессе копирования считается.

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

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


Kir Kolyshkin
http://static.openvz.org/userbars/openvz-developer.png
Re: vzmigrate: останавливается синхронизация [message #37976 is a reply to message #37975] Fri, 06 November 2009 15:08 Go to previous messageGo to next message
lithium is currently offline  lithium
Messages: 78
Registered: April 2007
Member
> Поэтому разве что смотреть на второй системе, не появились ли ошибки квоты, и в этом случае их как-то показывать и останавливать процесс...

Вы имеете в виду работу программ или действия человека?
Re: vzmigrate: останавливается синхронизация [message #37977 is a reply to message #37976] Fri, 06 November 2009 15:47 Go to previous messageGo to next message
kir is currently offline  kir
Messages: 1645
Registered: August 2005
Location: Moscow, Russia
Senior Member

Я имею в виду действия программы (скрипт vzmigrate мог бы, в принципе, в фоновом режиме смотреть dmesg | tail и что-нибудь оттуда уяснять для себя).

Хотя, конечно, в целом это проблема rsync -- ему наверняка говорят "кончилась дисковая квота", тут бы надо выйти с ошибкой, а он задумывается.


Kir Kolyshkin
http://static.openvz.org/userbars/openvz-developer.png
Re: vzmigrate: останавливается синхронизация [message #37992 is a reply to message #37977] Sat, 07 November 2009 11:56 Go to previous messageGo to next message
lithium is currently offline  lithium
Messages: 78
Registered: April 2007
Member
если будет время, посмотрю с помощью strace что происходит с ssh и rsync на src-ноде и с sshd на dst-ноде.
Re: vzmigrate: останавливается синхронизация [message #38016 is a reply to message #37977] Mon, 09 November 2009 11:09 Go to previous messageGo to next message
lithium is currently offline  lithium
Messages: 78
Registered: April 2007
Member
запустил трассивроку еще и на сервер ssh на получателе, получилось куча файлов, в самом большом из них в конце:

write(1, "\340\322\344\202\270\320\327\272/\372Q\214L^\324lq\32\352\212\264\17\375\315\200\21\33\211\252PB\r"..., 122880) = -1 EDQUOT (Disk quota exceeded)
write(4, "R\0\0\10rsync: write failed on \"/vz/"..., 86) = 86
rt_sigaction(SIGUSR1, {0x1, [], SA_RESTORER, 0x138e98}, NULL, 8) = 0
rt_sigaction(SIGUSR2, {0x1, [], SA_RESTORER, 0x138e98}, NULL, 8) = 0
write(4, "L\0\0\10rsync error: error in file I"..., 80) = 80
exit_group(11)                          = ?


Так что проблема, наверное, все-таки в rsync...
Re: vzmigrate: останавливается синхронизация [message #38073 is a reply to message #38016] Fri, 13 November 2009 14:36 Go to previous messageGo to next message
maratrus is currently offline  maratrus
Messages: 1495
Registered: August 2007
Location: Moscow
Senior Member
Здравствуйте,

опция --implace у rsync тоже может помочь обойти проблемы с квотой (если квота для VE почти закончилась и хочется копировать файл, размер которого больше, чем позволяется VE в квоте, так как rsync может сначала копировать файл во временный, а потом ставить его на место, таким образом возможет двойной счет, если уже какой-то файл был до это скопирован).

[Updated on: Fri, 13 November 2009 14:39]

Report message to a moderator

Re: vzmigrate: останавливается синхронизация [message #38075 is a reply to message #38073] Fri, 13 November 2009 14:51 Go to previous message
lithium is currently offline  lithium
Messages: 78
Registered: April 2007
Member
спасибо за подсказку, но для меня не проблема просто увеличить квоту Wink
Previous Topic: simfs
Next Topic: Создание лайф диска openvz
Goto Forum:
  


Current Time: Sat Nov 09 00:20:32 GMT 2024

Total time taken to generate the page: 0.03212 seconds