У нас есть десятки узлов Ubuntu, где мне нужно изменить размер жесткого диска до разных размеров. В настоящее время я делаю все следующие шаги вручную:
/dev/sda2
и /dev/sda5
.lvextend -r /dev/ubuntu/root /dev/sda5
, чтобы расширить LVM и изменить размер раздела до максимально возможного.df -h
если все в порядке.Я хотел бы автоматизировать этот процесс, в лучшем случае предоставить список имен узлов и соответствующих размеров и позволить инструменту делать свою работу. В случае отсутствия автоматизированного решения я хотел бы услышать о микрооптимизации каждого из этих шагов, чтобы облегчить мою утомительную работу.
Мы уже автоматически инициализируем наши узлы с помощью Chef и шаблона виртуальной машины с размером жесткого диска 16 ГБ.
Есть какие-нибудь умные идеи?
Как писал @ewwhite, вы захотите повторно просканировать шину, чтобы обновить ОС информацией о новом размере диска.
Но тогда вам нужно будет войти в fdisk и - возможно, парадоксально Удалить перегородку, и - это важно - воссоздайте новый с тем же началом, но с новым концом перед сохранением таблицы разделов.
Обновите информацию о разделе, запустив partx /dev/sda[n]
Наконец, мы используем pvresize
, lvextend
, и соответствующая реализация *_growfs
чтобы получить новый размер корневой файловой системы.
Как обычно: очень маловероятно, что это что-то сломает, если вы не сделаете что-то не так, но всегда имейте рабочие резервные копии перед изменением информации о разделах на важном компьютере.
(Вот ссылка на более подробное описание процесса Я сделал это некоторое время назад.)
Это можно сделать без перезагрузки или неприятного шага с DVD ...
Сначала разверните диск на уровне vCenter / vSphere. Вы знаете, как это сделать. Он также может быть автоматизирован или написан по сценарию.
Показать текущий размер блочного устройства ...
# fdisk -l
Повторно просканируйте шину SCSI в виртуальной машине, чтобы определить новый размер диска.
# echo 1 > /sys/class/scsi_disk/0:0:0:0/device/rescan
(Примечание. Идентификаторы дисков могут отличаться, но имеют тенденцию соответствуют узлам устройства SCSI виртуальной машины. Вы, вероятно, увидите 0: 0: 0: 0 для корневого тома, с которым вы имеете дело.)
Проверьте это с помощью dmesg | tail
или другой fdisk -l
Продолжайте свою магию LVM ...
Это должно обо всем позаботиться.