EC2構築時に指定したストレージのサイズが反映されない件

awsでインスタンスを構築するとディスクの容量が構築時に指定したサイズでなくデフォルトサイズの8GBになっていることがある。amazon linux以外で起こりやすい。今回のケースはCentOS6構築時に1TB(1,000GB)を指定したのだが8GBしかない。RedHatでも同様の現象を確認。以下、8GBの環境を壊さずに1TBに移行させる。

lsblkコマンドで確認するとディスクは確保されているがパーティションが8GBになっている。

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.9G  991M  6.6G  13% /
tmpfs           3.9G     0  3.9G   0% /dev/shm

lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0 1000G  0 disk 
└─xvda1 202:1    0    8G  0 part /

インスタンスを構築し直しても動作は同じなのでパーティションの拡張を行う。

fdisk -u /dev/xvda

警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
      強く推奨します。.

コマンド (m でヘルプ): p

ディスク /dev/xvda: 1073.7 GB, 1073741824000 バイト
ヘッド 255, セクタ 63, シリンダ 130541, 合計 2097152000 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00098461

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/xvda1   *        2048    16777215     8387584   83  Linux

*******************************************************************
ここで表示される「始点」の数値は切り直しに必要なのでメモしておくこと
*******************************************************************

コマンド (m でヘルプ): d <--xvda1を一度削除
選択した領域 1

コマンド (m でヘルプ): p

ディスク /dev/xvda: 1073.7 GB, 1073741824000 バイト
ヘッド 255, セクタ 63, シリンダ 130541, 合計 2097152000 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00098461

デバイス ブート      始点        終点     ブロック   Id  システム

コマンド (m でヘルプ): n <--パーティションを作成
コマンドアクション
   e   拡張
   p   基本パーティション (1-4)
p
パーティション番号 (1-4): 1
最初 セクタ (63-2097151999, 初期値 63): 2048 <--メモした「始点」の数値
Last セクタ, +セクタ数 or +size{K,M,G} (2048-2097151999, 初期値 2097151999): 
初期値 2097151999 を使います

コマンド (m でヘルプ): p

ディスク /dev/xvda: 1073.7 GB, 1073741824000 バイト
ヘッド 255, セクタ 63, シリンダ 130541, 合計 2097152000 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00098461

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/xvda1            2048  2097151999  1048574976   83  Linux

コマンド (m でヘルプ): w <--拡張されていることを確認して保存
パーティションテーブルは変更されました!

ioctl() を呼び出してパーティションテーブルを再読込みします。

警告: パーティションテーブルの再読込みがエラー 16 で失敗しました: 
デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。新しいテーブルは
次回リブート時か、partprobe(8)またはkpartx(8)を実行した後に
使えるようになるでしょう
ディスクを同期しています。

***エラーメーッセージが出るが問題ない***

reboot
ここで一度リブート

OS再起動後にパーティションの設定を確認

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.9G  991M  6.6G  13% /
tmpfs           3.9G     0  3.9G   0% /dev/shm

xvda1のパーティションのサイズは8GBのまま

lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0 1000G  0 disk 
└─xvda1 202:1    0 1000G  0 part /

しかし、xvda1のパーティションとしては1TB確保されている。

resize2fsコマンドでパーティションの拡張を行う。EC2環境によって変化すると思うが8GB -> 1TB(EBS)の拡張で10分弱要した。拡張後はdfコマンドで確認

resize2fs  /dev/xvda1
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/xvda1 is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 63
Performing an on-line resize of /dev/xvda1 to 262143744 (4k) blocks.
The filesystem on /dev/xvda1 is now 262143744 blocks long.

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      985G 1006M  934G   1% /
tmpfs           3.9G     0  3.9G   0% /dev/shm

xvda1パーティションの容量が1TBに拡張されていればOK

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です