EC2でCentOS5.9を使う際にVolumeが拡張されなかった時の対処メモ


EC2でCentOS5.9のイメージを使って500GBのストレージと共にインスタンスを作ったら、10GBくらいしか認識されていなかった・・・。どうやらCentOSをEC2で使う時にはパーティションとかいろいろやらなきゃいけない様子。ググッて出てくる情報はCentOS6以降に関するものだけで、使えないコマンドやインストールするのが面倒なコマンドが前提になっていたので改めてメモを残します。システム移管などで古い環境を使わざるを得ない時の参考にしてください。

複数環境を触りつつ手順書を作りつつだったので、手順書からコピペした歳にrootユーザーなのにsudoしたりしてますが気にしないで下さい。あとボリュームだったりパーティションだったり領域だったりと、いろんな単語の意味を勘違いして使ってるかもしれません。ツッコミお待ちしております・・・orz

参考にさせて頂いたサイト

事象

df -h

こんな感じで10GBくらいしか認識されていない。500GBで作ったのになぜ・・・

おおまかな手順

  1. 認識されていない領域を使って新しくパーティションを作る。
  2. 作ったパーティションをLVMのグループに追加する。
  3. リサイズする。

LVMというのは複数の物理領域を1つの論理領域として扱える仕組みです。

やってみよう

1. 認識されていない領域を使ってパーティションを作る。

今のパーティションを確認する。

fdisk -l

536.8GBあるということはここでは表示されていますね。
しかし /dev/hda1/dev/hda2 というデバイスのサイズを合わせても全然足りません。余されている領域を使って、新しいパーティションを作りましょう。
パーティションを作るには fdisk コマンドを使います。

fdisk /dev/hda

コマンドを実行するとfdiskのコンソールが立ち上がります。ここでfdiskのコマンドを打っていくことでパーティションの作成・削除などができます。ここでも一応パーティションを確認。

p

ちなみに /dev/hda というのは僕の環境下での話なので、上の確認コマンドで /dev/sda1 とか出ていた人は fdisk /dev/sda とかにしましょう。

新しくパーティションを作る。

新しいパーティションを使うには n コマンドです。次に拡張するか作成するかを選びます。 p を入力しましょう。作成時には何個目のパーティションを作るのかも入力します。確認時に2つ表示されていたので今回は 3 です。

n
p
3

ここまでいくと作りたいパーティションの開始地点と終了地点のシリンダを入力します。どちらもデフォルト値が最小値と最大値になっているので、何も入力せずに Enter を押せば、余っている領域を全て割り当てられます。

終わったらもう一度 p で結果を確認してみましょう。

新しいパーティションが表示されていますね。今回は後でLVMとして1つの領域として扱うことになりますので、作ったパーティションをLVM用の設定に変更します。
設定のためには t です。さらに、LVMを意味する 8e を入力します。

t
8e

パーティションの設定を反映する。

ここまで入力したものはすぐに反映されません。 p で確認すると実際に値が変更されて表示されますが、これは予定としての表示です。

設定を反映するには w です。

w

これでパーティションは完成です。なにか失敗とか出ていますが大丈夫です。再起動しましょう。

reboot

2. 作ったパーティションをLVMのグループに追加する。

作ったパーティションをLVMのグループ(これらを1つのデバイスとして扱うぞというまとまり)に加えてあげましょう。

作ったLVMパーティションを物理領域として登録する。

pvcreate /dev/hda3

物理領域をグループに追加する。

vgextend VolGroup00 /dev/hda3

領域を拡張する。

lvextend -L +450Gb /dev/mapper/VolGroup00-LogVol00

これ正しくは +489GB ですね。余りが出て勿体無い。どこ見ればズバッと割り当てるサイズがわかるんだ・・・。

3. リサイズする。

ここまでくればリサイズして終わりです。

resize2fs /dev/mapper/VolGroup00-LogVol00

ちょっと時間がかかります。終わったら結果を確認してみましょう!

やったぜ!