Могу ли я создать образ ОС объемом более 10 ГБ в Google Compute Engine?

Мне нужно загрузить около 500 экземпляров с определенным образом, чтобы выполнить работу с большими файлами, требующими доступа POSIX к более чем 10 ГБ. Согласно этому документу https://developers.google.com/compute/docs/images невозможно создать загрузочный диск объемом более 10 ГБ, а мне нужен доступ POSIX к более чем 10 ГБ. Означает ли это, что мне нужно будет создать еще один незагрузочный диск на каждом экземпляре с нужным мне дисковым пространством? Есть ли другой способ сделать это?


person user1193085    schedule 03.06.2014    source источник
comment
возможный дубликат Как получить больший загрузочный диск на Google Compute Engine   -  person maljub01    schedule 25.01.2015


Ответы (4)


Этот документ относится к ограничению размера образа операционной системы, а не размера загрузочного диска.

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

gcutil adddisk "disk-1" --size_gb="15" --zone="europe-west1-b" --source_image="https://www.googleapis.com/compute/v1/projects/debian-cloud/ глобальные/изображения/debian-7-wheezy-v20140522"

gcutil addinstance "instance-1" --zone="europe-west1-b" --machine_type="n1-standard-1" --network="default" --external_ip_address="ephemeral" --metadata="sshKeys: " --disk="disk-1,deviceName=disk-1,mode=READ_WRITE,boot" --auto_delete_boot_disk="true"

См.: https://developers.google.com/compute/docs/disks#create_disk

person IanGSY    schedule 03.06.2014

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

Он использует cloud-initramfs-growroot:

автоматически изменять размер корневого раздела при первой загрузке

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

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

См. мой сценарий growroot.sh для детали и как вы можете адаптировать его к вашему варианту использования.

person Misha Brukman    schedule 01.09.2014

У вас есть два варианта:

  1. Создайте загрузочный диск размером более 10 ГБ, но затем вам потребуется переразметить его, поскольку по умолчанию предоставляемые образы ВМ расширяются до 10 ГБ, поэтому вам потребуется использовать эти инструкции и запустите fdisk, перезагрузите компьютер, а затем запустите resize2fs, чтобы расширить доступное пространство до полного размера диска. Вы можете автоматизировать его, чтобы он запускался как часть создания экземпляра, используя сценарии запуска. .

  2. Другой вариант — создать отдельный постоянный диск и подключить его отдельно, но тогда это будет не загрузочный диск, а просто диск данных. Для этого вы можете воспользоваться инструкциями на этой же странице, а именно:

    • gcutil adddisk [...]
    • gcutil attachdisk [...], если загрузочные диски и диски с данными не добавляются при создании инстанса через gcutil addinstance --disk=disk1 --disk=disk2 [...], в этом случае это не нужно
    • /usr/share/google/safe_format_and_mount [...] чтобы автоматизировать остальное
person Misha Brukman    schedule 08.06.2014

Вы можете легко сделать это без необходимости вручную изменять размер/разметку/форматировать диск или без каких-либо сложностей, представленных во всех других ответах на StackOverflow. Пожалуйста, посмотрите мой ответ здесь о том, как это можно сделать: Как увеличить загрузочный диск в Google Compute Engine

person maljub01    schedule 25.01.2015