Костыль для нормальной остановки витуалок под virtualbox в nas4free

May 15, 2017 22:46

ВАЖНО В более поздних сборках описанный костыль создаёт дополнительные проблемы и к применению НЕ рекомендую.

Актуальная сборка nas4free (11.0.0.4.4249) имеет баг. Если попытаться выключить виртуалку через vnc клиент, то процесс никогда не завершается и остаётся в состоянии Stopping... Обидно, что проблема уже возникала и была адресована. Как ( Read more... )

vnc, virtual, nas, nas4free

Leave a comment

Спасибо! ext_1470786 May 15 2017, 21:01:39 UTC
Большое спасибо! сделал, работает.

Можете подсказать, как N4F пояснить, что ВМ при перезагрузке надобно не убивать до смерти а сохранять состояние?

Reply

Re: Спасибо! 2gusia May 15 2017, 21:31:17 UTC
К сожалению, никак. Евгений делал решение, предлагал разрабам. Но там нашлась проблема из за которой он решение отозвал. Детали я уж и не помню, да и не так важно.

Reply

Re: Спасибо! ext_1470786 May 16 2017, 10:55:10 UTC
Странно. ведь когда еще VBox не был интегрирован в дистрибутив, там были скрипты для запуска и для останова при перезагрузке. Я сейчас наваял скрипт, он отрабатывает, успешно сохраняет машины, но при добавлении в Command scripts не работает. Не знаете, куда копать?

Reply

Re: Спасибо! 2gusia May 16 2017, 11:55:55 UTC
Тогда Евгений тащил VBox, у негго работало. Но он же и сказал мне, что с тем скриптом какая-то проблема.

А скрипт если из командной строки отрабатывает - то и ис командного скрипта должен. Выpsdftnt только явным образом нужный шелл и все команды даёте с полными именами от корня.

Тип - ShutDown

можно при тесте bash -x запускать и смотреть выхлоп.

Reply

Re: Спасибо! ext_1470786 May 16 2017, 12:38:03 UTC
Вроде всё правильно делаю.
Есть опасение, что система не ждет, пока скрипт ответит, что закончил, и тупо его убивает.

Придется куда-нибудь воткнуть для тестинга систему, а то на боевом сервере как-то неудобно этим заниматься.
Ещё раз спасибо.

Reply

Re: Спасибо! ext_1470786 May 16 2017, 17:56:56 UTC
Всё заработало. Спасибо за подсказку - забыл прописать путь к sudo. Вот скрипт:

#!/bin/sh
/usr/local/bin/sudo -u vboxusers /usr/local/bin/VBoxManage list runningvms | tr -s '\" {' '%{' | cut -d '%' -f3 | while read uuid; do
/usr/local/bin/sudo -u vboxusers /usr/local/bin/VBoxManage controlvm $uuid savestate;
done

Reply


Leave a comment

Up