|
|
|||||||||||||||||||||||||||||
|
Гибернация на PROXMOX2Источник: habrahabr siv237
Для чего это надоГибернация (спящий режим) - это режим выключения системы при котором её текущее состояние, включая состояние ОЗУ, сохраняется на энергонезависимое хранилище. Этот режим при использовании совместно с Proxmox позволяет значительно ускорить процесс завершения работы основной - хост-системы без необходимости завершать работу гостевых виртуальных систем. Особенно удобно, когда в качестве гостевой системы развернуты терминальные сервера на Windows. Ведь при штатном завершении работы такой системы, в окнах пользователей появляется запрос на сохранение редактируемого документа и если Как это работаетProxmox 2.2 работает на базе debian 6 и практически всё, что описано ниже в той или иной степени относится и к нему. Активация режима гибернации требует наличия выделенного диска который будет виден GRUB напрямую при загрузке или отдельного раздела swap на системном диске. С логическим томом swap создающимся автоматически при установке внутри LVM, мне запустить гибернацию не удалось. При этом proxmox не позволяет создать нужную для такого режима структуру диска в процессе установки. Связанно это вероятно с концепцией максимальной простоты развертывания системы с которой может справится даже домохозяйка. Самое простое решение, это просто добавить еще один жесткий диск в сервер и назначить его хранилищем для режима гибернации, но мы рассмотрим более сложный вариант с изысканием свободного места на том-же диске куда поставился proxmox.
Исходные данныеПри установке proxmox полностью задействует 1 из дисков уничтожая всю информацию на нём и создавая определенную структуру разделов:
Таким образом мы узнали, что на физическом диске место не занятое под разделы составляет всего 352kB, что явно не достаточно для раздела подкачки на который система будет сохранять состояние занятой оперативной памяти при гибернации. Такой раздел должен иметь размер не менее чем размер ОЗУ ноды. Примем, что необходимый нам размер, это 32 Гб. Посмотрим теперь, из каких логических томов состоит наш физический том расположенный на втором разделе
видим
Подготовка носителяВыясним то, сколько свободного места уже сейчас внутри физического тома LVM2.
Смотрим значение PFree
Это значит, что мы сразу можем уменьшить раздел на физическом диске на 16.00 Гб, но наша задача получить 32 Гб, поэтому будем изыскивать дополнительные данные. Будем отбирать нужное нам пространство у логического тома data. Для этого мы уменьшим размер /dev/pve/data на 16 Гб. Данный процесс выполняется в 2 этапа. Сначала уменьшается размер файловой системы, а уже затем уменьшается размер самого логического тома. Так как процедура потенциально не безопасная, то будет выполнено отмонтирование файловой системы на период ресайзинга, соответственно все виртуальные машины, расположенные в /var/lib/vz должны быть остановлены на это время.
Ответим y Теперь вновь выполним
Мы видим, что объем свободного места внутри физического тома возрос до 32 Гб. Теперь мы можем спокойно сократить его размер размер на размер доступного свободного места + 1 Гб для подстраховки: Подсчитаем итоговый размер физического тома 297-32+1=266
Вновь посмотрим, что у нас получилось
Размер физического тома LVM сократился на: 297.59 - 266 + 0.412 = 32,002 Гб Но несмотря на это, размер раздела содержащего структуру LVM на жестком диске остался неизменным:
Это нас не устраивает, так как необходимо получить свободное место под новый раздел в таблице разделов физического диска. На данный момент не удалось обнаружить готовых утилит, способных изменять разделы содержащие структуру lvm2, поэтому просто удалим и заново создадим раздел на жестком диске с началом как у исходного но меньшего размера. Это потенциально довольно опасная процедура. Рассчитаем параметры 2-го раздела, который мы в результате хотим получить. Он должен быть меньше текущего на 32 Гб Тип primary Удалим раздел 2 подверждая игнорирование предупреждений
Создаем раздел заного, но меньшего размера чем было
Назначим флаг lvm разделу
Смотрим результат
Видим, что на физическом диске появилось свободное место под будущий раздел
Создаем раздел типа swap. Его параметры: Тип primary Выполним:
Подготовительная работа закончена и теперь можно приступать непосредственно к настройке гибернации Активация hibernateУстановка компонентов
Добавление параметров в grub и fstab
Подключим новый раздел в качестве файла подкачки к системе
Обновим загрузчик
Можно приступать к тестированию непосредственно режима гибернации. Но прежде очень желательно выполнить перезагрузку сервера, если такая возможность имеется, так как произошли довольно серьезные изменения в структуре носителя!
Выполним полную гибернацию с выключением питания системы
Теперь осталось назначить выполнение этой команды при событии разряда батареи на ИБП, но это уже другая история которую я надеюсь опишу в следующей статье. Ссылки по теме
|
|