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

Ошибка изменения размера файловой системы в облачной конфигурации

Итак, мое приключение началось так: у меня была виртуальная машина OpenSUSE 13.1, и я хотел перейти на 13.2, так что одно из основных различий между двумя сообществами amis (13.1 - '' и 13.2 -ami-3a6cc64d) заключалась в том, что образ 13.2 использует HVM - вместо PV - тип виртуализации.

Первая проблема, с которой я столкнулся, заключалась в том, что в моем шаблоне CloudFormation использовался /dev/sda device_name в BlockDeviceMappings, НО, по-видимому, это не тот тип device_name, которого ожидает тип изображения HVM (см. Вот для получения дополнительной информации). Это привело к тому, что экземпляр EC2 даже не попал в running штат.

Так или иначе, я смог преодолеть это препятствие, назначив /dev/sda1, как рекомендовано, чтобы мой экземпляр наконец смог правильно запуститься.

НО - теперь при запуске некоторые из моих сервисов не запускаются из-за неудачных зависимостей, которые я смог отследить до облачной конфигурации, которая не завершается правильно, независимо от того, что AWS сказал ему сделать:

Если я сбегу $ systemctl ... cloud-init-local.service loaded active exited Initial cloud-init job (pre-networking) cloud-init.service loaded failed failed Initial cloud-init job (metadata service crawler) ...

После проверки журналов (/ var / log / syslog) я вижу следующее: ... Failed to resize filesystem (cmd=('resize2fs', '/dev/hda1'))#012Traceback ... но я не настраивал это сам, это то, что AWS каким-то образом решил сделать с моим изображением через облачную конфигурацию ...

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

Заранее спасибо!!

Хорошо, получается, что мне пришлось явно отключить поведение облачной конфигурации по умолчанию, используя resize_rootfs атрибут:

# resize_rootfs should the / filesytem be resized on first boot
# this allows you to launch an instance with a larger disk / partition
# and have the instance automatically grow / to accomoddate it
# set to 'False' to disable
# by default, the resizefs is done early in boot, and blocks
# if resize_rootfs is set to 'noblock', then it will be run in parallel
resize_rootfs: True

установив для него значение False, ошибка была удалена, поэтому cloud-init.service служба больше не отказывает при запуске.

(Большинство ресурсов, которые я изначально нашел, наводили меня на мысль, что я должен использовать Growpart, но это было не так.)