Назад | Перейти на главную страницу

Как автоматически увеличить размер раздела нескольких узлов Ubuntu в VMware vSphere?

У нас есть десятки узлов Ubuntu, где мне нужно изменить размер жесткого диска до разных размеров. В настоящее время я делаю все следующие шаги вручную:

  1. Увеличьте размер виртуального жесткого диска каждого узла в VMware vCenter.
  2. Измените конфигурацию DVD-привода, смонтируйте GParted ISO, загрузитесь из BIOS и измените порядок загрузки.
  3. Загрузитесь в GParted, увеличьте вручную /dev/sda2 и /dev/sda5.
  4. Остановите виртуальную машину, отключите DVD-привод и запустите виртуальную машину.
  5. Использовать lvextend -r /dev/ubuntu/root /dev/sda5 , чтобы расширить LVM и изменить размер раздела до максимально возможного.
  6. По желанию: Проверить с 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 ...

Это должно обо всем позаботиться.