Amazon-Web-Services

Cloud-config 調整文件系統大小失敗

  • January 16, 2016

所以,我的冒險是這樣開始的:我有一個 OpenSUSE 13.1 VM,我想升級到 13.2,所以 2 個社區 amis(13.1 - `` 和 13.2 - ami-3a6cc64d)之間的主要區別之一是 13.2 映像使用 HVM - 而不是 PV - 虛擬化類型。

我遇到的第一個問題是我的 CloudFormation 模板/dev/sda在 BlockDeviceMappings 下使用了 device_name,但顯然這不是 HVM 類型的圖像所期望的 device_name 類型(有關更多資訊,請參見此處)。這導致 EC2 實例甚至沒有進入running狀態。

無論如何,我能夠按照建議通過分配來克服這個障礙/dev/sda1,因此我的實例終於能夠正常啟動。

但是 - 現在在啟動時,由於依賴項失敗,我的一些服務無法啟動,我已經能夠追踪到 cloud-config 沒有正確完成 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 決定通過 cloud-config 對我的圖像執行的操作。 .

我不知道為什麼會發生這種情況,而且我似乎找不到很多相關的文章,所以任何想法都會受到歡迎……!:)

提前致謝!!

好的,事實證明我必須使用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,但事實並非如此。)

引用自:https://serverfault.com/questions/749247