boot
-
AWS Linux Boot EBSボリューム容量変更時resize2fsができない場合の解決策
*この方法を実施する際にはテスト環境でテストをした上で本番に適用する事を強くお勧めします。まあ、まともなエンジニアならいきなり本番はないと思いますが。 AWSのEBS Bootボリュームサイズを拡張する方法に関してネットでたくさんの情報が乗っているがresize2fsがそのままでは効かない場合がある。 ここは私が試して成功した方法を示す。 参考になったサイトはこちら ボリューム変更の一般的な手順は以下のようになる。 (以下の手順の詳細はネット上検索すると山ほどでる) 現在のBootボリュームのsnapshotをとる snapshotより新しいEBSボリューム(好きなサイズを指定)を生成 起動中のinstanceをstop instanceのBoot ボリュームをdetach(device 名前を控える-sdaのようなもの) 増量したdeviceをattach(device名前は上の手順で控えたもの) instanceを起動 sudo resize2fs /dev/拡張したいdevice名前 (各自設定のdevice名前) [ここからが本題] 上記の手順に従ってもThe filesystem is already xxx blocks long. Nothing to do!でる場合の解決策 これは増量されたサイズに対して実際に容量が割り当てられていないのが原因fdiskを利用し新しくdisk容量を割り当てる事で解決可能。ただいくつか注意点があるのでここにその手順を示す。 前置き 以下は上記の6.instance起動後からの手順。 基本suで作業.私の環境ではattachした時のdevice名sdaに対してlinuxの/dev上では xvda1,xvda2,xvda3があり [xvda1->/mnt/boot] [xvda2->/] [xvda3-> swap] 領域としてマウントされていた。ここのdevice名は各自環境のものにかえること. 下記手順どおりならデータが削除される事はなかったが領域の指定(シリンダ)を間違えるとデータがなくなる可能性があるので注意 手順は以上で終了