Как увеличить размер корневого диска в Google Compute Engine?

Размер корневого диска в GCE составляет 10 гигов. Как это увеличить? Я не могу найти вариант в консоли или флаги gcutil. Это легко сделать в AWS.

Ответы

Ответ 1

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

В блоге, в котором объявлено о функции, есть подробности, и вы можете посмотреть документы, как это сделать через консоль:

Измените размер постоянного диска в консоли облачной платформы Google:

  1. Перейдите на страницу Compute Engine.
  2. Нажмите "Диски" на боковой панели
  3. Нажмите на название диска, размер которого вы хотите изменить.
  4. В верхней части страницы сведений о диске нажмите "Изменить".
  5. В поле "Размер" введите новый размер вашего диска.
  6. В нижней части страницы сведений о диске нажмите "Сохранить", чтобы применить изменения к диску.
  7. После изменения размера диска необходимо изменить размер разделов диска, чтобы операционная система могла получить доступ к дополнительному пространству.

Или через CLI:

gcloud compute disks resize example-disk --size 250

Обратите внимание, что некоторые операционные системы автоматически изменят размер вашего раздела при перезагрузке, не требуя от вас каких-либо ручных действий с такими инструментами, как fdisk, resize2fs или xfs_growfs, поэтому этого должно быть достаточно просто измените размер диска и перезагрузите виртуальную машину, чтобы изменения вступили в силу.

Ответ 2

  • создать новый диск из моментального снимка, но при этом увеличить размер
  • создать новый экземпляр, используя новый, диск с объявлением
  • объявить раздел для распознавания нового пространства (https://cloud.google.com/compute/docs/disks/persistent-disks#repartitionrootpd) (ПРИМЕЧАНИЕ: обратите особое внимание на начальный сектор, не просто слепо нажмите на возврат, вы может, однако, слепо нанести ответный удар на конечный сектор)
  • sudo resize2fs/dev/sda1 (обратите внимание: этот шаг не указан в облачных документах Google)

Ответ 4

С помощью нового инструмента командной строки GCoud вы можете выбрать размер и тип загрузочного диска при создании экземпляра:

gcloud compute instances create foo-instance --boot-disk-size 100 --image "xxxxxx"

Затем измените размер корневого раздела, используя следующие инструкции: https://cloud.google.com/compute/docs/disks#repartitionrootpd

Документация: https://cloud.google.com/sdk/gcloud/reference/compute/instances/create

Edit: После изменения размера корневого раздела вам необходимо перезагрузить свой экземпляр, чтобы заставить систему перечитать таблицу разделов. Это делает этот трюк непригодным при запуске script (выполняется при каждом запуске/перезагрузке).

Ответ 5

Это больше похоже на ответ на ответ @user1130176, но если вы используете CentOS 7+, для шага №4 (расширение файловой системы) вам необходимо сделать следующее: xfs_growfs /dev/sda1

Новые диски на CentOS 7 имеют тип xfs. Надеюсь, это поможет, это было не очень ясно из всех ссылок вокруг.

Ответ 6

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

Ответ 7

Теперь вы можете изменить размер постоянного диска:

gcloud compute disks resize DISK_NAME [DISK_NAME …] --size SIZE [--zone ZONE]

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

Ответ 8

Я знаю, что это старая тема, но я сделал это, используя более простой метод, чем описанный выше. Все это из пользовательского интерфейса облачной консоли без необходимости беспокоиться или выполнять какие-либо специальные команды всего за несколько минут и щелчков.

Однако это требует создания нового экземпляра, а не изменения размера диска на уже работающем экземпляре.

  1. Создайте снимок диска, который вы хотите увеличить

    Нажмите на экземпляр, затем на диск, затем у вас будет "создать снимок", дайте ему имя и дождитесь создания снимка. (Вам не нужно отключать экземпляр для этого)

  2. Создайте новый экземпляр из снимка и укажите новый размер

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

Это надежный способ увеличить диск, не вызывая ошибок раздела, не требующий каких-либо команд или специальных действий.

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

Ответ 9

Для всех, кто не смог найти рабочий ответ, я нашел этого script кого-то любезно отправил:

https://gist.github.com/xelwarto/6f5c6556613c9215b1e1

# Requires cloud-utils-growpart to be installed

# Resize ROOT FS
part=`df --output=source / |grep "/dev/"`
if [ ! -z "$part" ] ; then
  len=${#part}
  p=`echo $part|cut -c$len`
  d=`echo $part|cut -c1-$(($len-1))`

  growpart "$d" "$p"
  xfs_growfs "$part"
fi