だから、私の冒険は次のように始まりました:私はOpenSUSE 13.1 VMを持っていて、13.2にアップグレードしたかったので、2つのコミュニティamis(13.1-``と13.2 -_AMI-3a6cc64d
_)の主な違いの1つは13.2イメージは、PVではなくHVM仮想化タイプを使用します。
私が最初に遭遇した問題は、CloudFormationテンプレートがBlockDeviceMappingsの下で_/dev/sda
_ device_nameを使用していたことでしたが、HVMタイプのイメージが期待するdevice_nameのタイプではないようです( ここ を参照)より詳しい情報)。その結果、EC2インスタンスはrunning
状態にさえなりませんでした。
とにかく、推奨されているように_/dev/sda1
_を割り当てることでその障害を克服することができたので、私のインスタンスはようやく正常に起動することができました。
しかし、起動時に、依存関係が失敗したために、いくつかのサービスが開始されません。これは、AWSが指示したとおりに正しく終了しないcloud-configまで追跡できました。
$ 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
attribute を使用して、デフォルトのcloud-config動作を明示的に無効にする必要があることがわかりました。
# 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を使用する必要があると私に信じさせていましたが、そうではありませんでした。)