share facebook facebook twitter menu hatena pocket slack

2011.08.29 MON

パーティション分割されたEBSをresize2fsで拡張

鈴木 宏康

WRITTEN BY 鈴木 宏康

以前、EBSの容量を増やす方法を紹介しましたが、
上記の方法ですと、EBSがパーティション分割されている場合、うまくできません。

パーティション(/dev/sdf1)に対してresize2fsをすると下記のようになり、

# resize2fs /dev/sdf1

resize2fs 1.39 (29-May-2006)
The filesystem is already 5241198 blocks long. Nothing to do!

大元のEBS(/dev/sdf)に対してresize2fsすると、下記のようになってしまいます。

# resize2fs /dev/sdf

resize2fs 1.39 (29-May-2006)
resize2fs: デバイスもしくはリソースがビジー状態です while trying to open /dev/sdf
Couldn't find valid filesystem superblock.

上記より、パーティション分割している場合は、下記のようにfdiskで
パーティションの調整もしなければなりません。

# umount /home

# fdisk /dev/sdf
...
コマンド (m でヘルプ): p
...
デバイス Boot Start End Blocks Id System
/dev/sdf1 1 2610 20964793+ 83 Linux
...
コマンド (m でヘルプ): d
Selected partition 1
...
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-13054, default 1):
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-13054, default 13054):
Using default value 13054
...
コマンド (m でヘルプ): p
...
デバイス Boot Start End Blocks Id System
/dev/sdf1 1 13054 104856223+ 83 Linux
...
コマンド (m でヘルプ): w
...
ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

上記はパーティション(/dev/sdf1)を一旦削除して、
終点シリンダを増加させたEBSに合ったものにした形で作り直しています。

そして、resize2fsです。

# mount /home

# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda1 10321208 1308404 8488516 14% /
none 3932160 0 3932160 0% /dev/shm
/dev/sdf1 20635700 17689260 1898204 91% /home
# resize2fs /dev/sdf1
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/sdf1 is mounted on /home; on-line resizing required
Performing an on-line resize of /dev/sdf1 to 26214055 (4k) blocks.
The filesystem on /dev/sdf1 is now 26214055 blocks long.
# df -k
Filesystem 1K-ブロック 使用 使用可 使用% マウント位置
/dev/sda1 10321208 1308404 8488516 14% /
none 3932160 0 3932160 0% /dev/shm
/dev/sdf1 103210940 17705312 80264180 19% /home

今度は無事、サイズを拡張することができました。

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。