Как установить начальный размер диска для виртуальных серверов Ubuntu 20, предоставленных Cloud-init, при самостоятельном хостинге?
Я изучал cloudinit docs , но я не вижу возможности установить размер диска. Свойство Cloud-init disk size выглядит неудачно названным, поскольку в документах это свойство описывается как процент от общего дискового пространства , которое будет занимать раздел. Таким образом, размер 30 сделает раздел 30% всего диска.
Также в некоторых местах в документации упоминается об изменении размера файловой системы до 100% диска при первой загрузке, но я не вижу, как указать этот начальный размер диска для размер этого раздела необходимо изменить.
Является ли Cloud-init предназначенной ролью только после того, как какой-то другой процесс создал начальные диски?
Мой вариант использования - автоматизировать создание виртуальных серверов Ubuntu 20, которые я размещаю самостоятельно. То, что я успешно делал в течение многих лет с помощью комбинации Virtualbox и пользовательских сценариев оболочки. IMHO Cloud-init framework добавляет сложности без явных преимуществ для простых домашних установок. По логике, должна существовать точка масштабирования, когда затраты времени и усилий на использование Cloud-init начинают окупать этот долг. Поэтому я пытаюсь использовать фреймворк подготовки системы, который входит в комплект Ubuntu. Кажется, есть много интересных функций, таких как создание пользователей, изменение размера дисков при первой загрузке. Система просто должна быть увеличена в начале. Конечно, я мог бы добавить в систему дополнительный диск, но это добавляет дополнительное управление для резервного копирования и т. Д.
Предполагаемая роль Cloud-init только после того, как какой-либо другой процесс создал начальные диски?
да - это так. Cloud init работает « внутри » гостя, он не может изменить фактический размер предоставленного диска. Это может повлиять только на то, какой объем файловой системы на нем будет потреблять диск.
Порядок рабочего процесса:
Чтобы изменить размер диска для различных созданных гостей, вам нужно создать разные размеры на шаге №1 на хосте.
Если вы хотите, вы можете взглянуть на uvtool, который выполняет оба вышеуказанных шага, чтобы узнать больше об этом.
P.S. Если вы думаете, что cloud-init больше похож на установщик... то это curtin. Но чтобы было ясно — в виртуальной среде, которая все еще не может изменить размер фактического диска — это всегда будет на уровне гипервизора, предоставляющего указанный диск.