LVMでは、ディスクサイズを増やすことが出来る。
今回、CentOS6.4でディスクサイズを10GBから20GBまで増やした。
CentOS5系では何回かやっていたが、あまり頻繁にやる作業ではないため、やる度に忘れてしまうので、書き留めておくことにする。
ポイントは、VMwareのディスク設定で割り当て容量を増やし、LVMで使用するパーティションを作成するため、Linuxのパーティション数制限(4パーティション)に引っかかってしまうことだ。
もし、このデメリットを回避したい場合は、『VMwareのゲストOS(CentOS6.4)のディスク容量を増やす方法(ディスク追加)』を参照のこと。
上記の方法であれば、Linuxのパーティション数制限(4パーティション)に引っかかってしまうというデメリットを回避できる。
概要
手順は以下の通り。
1.VMwareの仮想ディスクの容量を増やす
2.ゲストOSのパーティションの作成
3.LVMで使用するためにパーティションを初期化
4.LVMのボリュームグループにパーティションを追加
5.LVMのサイズを拡張
6.ファイルシステムのリサイズ

図1:ディスク拡張の概要
外側の器から拡げて、最後に中身を拡げるイメージだ。
VMwareの仮想ディスクの容量を増やす
vSphere Clientからディスクを拡張したいサーバを選択し、『サマリ』タブを開く。
『設定の編集』(①)をクリック。
『仮想マシンのプロパティ』ウィンドウが開くので、『ハードウェア』タブからディスクを拡張したい『ハードディスク』(②)を選択。
『プロビジョニング済みサイズ』(③)を拡張したいサイズに変更し、『OK』ボタン(④)をクリック。

図2:仮想ディスクの拡張(1)
『サマリ』タブから、『ストレージ使用率の更新』(⑤)をクリック。
『プロビジョニングしたストレージ』のサイズが設定したサイズ以上になっていればOK。
『プロビジョニングしたストレージ』のサイズは、設定したサイズと同じ値にはならないようだ。

図3:仮想ディスクの拡張(2)
ゲストOSのパーティションの作成
現在のパーティションを確認する。
# fdisk -l
ディスク /dev/sda: 21.5 GB, 21474836480 バイト
ヘッド 255, セクタ 63, シリンダ 2610
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00067f1a
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 64 512000 83 Linux
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2 64 1306 9972736 8e Linux LVM
|
/dev/sdaを使っていて/dev/sda2まで使用しているので、/dev/sda3を追加する。
# fdisk /dev/sda
警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを
強く推奨します。 and change display units to
sectors (command 'u').
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本パーティション (1-4)
p
パーティション番号 (1-4): 3
最初 シリンダ (1306-2610, 初期値 1306):Enterを入力
初期値 1306 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (1306-2610, 初期値 2610):Enterを入力
初期値 2610 を使います
コマンド (m でヘルプ): t
パーティション番号 (1-4): 3
16進数コード (L コマンドでコードリスト表示): 8e
領域のシステムタイプを 3 から 8e (Linux LVM) に変更しました
コマンド (m でヘルプ): p
ディスク /dev/sda: 21.5 GB, 21474836480 バイト
ヘッド 255, セクタ 63, シリンダ 2610
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00067f1a
デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 1 64 512000 83 Linux
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sda2 64 1306 9972736 8e Linux LVM
/dev/sda3 1306 2610 10479065 8e Linux LVM
コマンド (m でヘルプ): w
パーティションテーブルは変更されました!
ioctl() を呼び出してパーティションテーブルを再読込みします。
警告: パーティションテーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。
カーネルはまだ古いテーブルを使っています。新しいテーブルは
次回リブート時か、partprobe(8)またはkpartx(8)を実行した後に
使えるようになるでしょう
ディスクを同期しています。
|
ここで、サーバの再起動を行う。
LVMで使用するためにパーティションを初期化
# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
|
LVMのボリュームグループにパーティションを追加
LVMのボリュームグループ(VG Name)を確認する。
# vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 1
Act PV 1
VG Size 9.51 GiB
PE Size 4.00 MiB
Total PE 2434
Alloc PE / Size 2434 / 9.51 GiB
Free PE / Size 0 / 0
VG UUID BGgxgt-ErSI-cTsd-Ptcw-Ox3f-Gy0B-sfTyDX
|
上記の例では、LVMのボリュームグループ(VG Name)はVolGroupなので、VolGroupにさっき作成した/dev/sda3を追加する。
# vgextend VolGroup /dev/sda3
Volume group "VolGroup" successfully extended
|
LVMのサイズを拡張
パーティション追加後のLVMのボリュームグループの状態を確認する。
# vgdisplay
--- Volume group ---
VG Name VolGroup
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 4
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 2
Max PV 0
Cur PV 2
Act PV 2
VG Size 19.50 GiB
PE Size 4.00 MiB
Total PE 4992
Alloc PE / Size 2434 / 9.51 GiB
Free PE / Size 2558 / 9.99 GiB
VG UUID BGgxgt-ErSI-cTsd-Ptcw-Ox3f-Gy0B-sfTyDX
|
PE Sizeの値とFree PE / Sizeの値から追加可能なボリュームサイズを算出する。
PE Size × Free PE = 4.00 MB × 2558 = 10232 MB
また、今回は上記のボリュームをrootパーティションに追加する。
# df -h
Filesystem Size Used Avail Use% マウント位置
/dev/mapper/VolGroup-lv_root ←rootパーティションのデバイスを確認
5.5G 1.7G 3.6G 32% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 485M 53M 407M 12% /boot
# lvextend -L +10232MB /dev/VolGroup/lv_root ←rootパーティションを拡張
Extending logical volume lv_root to 15.56 GiB
Logical volume lv_root successfully resized
|
ファイルシステムのリサイズ
最後にファイルシステムの拡張を行う。
# resize2fs -f /dev/VolGroup/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/VolGroup/lv_root to 4079616 (4k) blocks.
The filesystem on /dev/VolGroup/lv_root is now 4079616 blocks long.
# df -h
Filesystem Size Used Avail Use% マウント位置
/dev/mapper/VolGroup-lv_root
16G 1.7G 13G 12% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 485M 53M 407M 12% /boot
|
最後に
今回の方法では、Linuxのパーティション数制限(4パーティション)に引っかかってしまうというデメリットがある。
もし、このデメリットを回避したい場合は、『VMwareのゲストOS(CentOS6.4)のディスク容量を増やす方法(ディスク追加)』を参照のこと。
上記の方法であれば、Linuxのパーティション数制限(4パーティション)に引っかかってしまうというデメリットを回避できる。
Categories: CentOS ,VMWare
ありがとうございます。
非常に参考になりました!
どういたしまして、参考になって何よりです。
ありがとうございます。
とても参考になりました。
どういたしまして、参考になって何よりです。
ありがとうございました。非常に参考になりました。
VMWare環境ではなく、VirtualBOX環境でのCentOSに対して行いましたが、VirtualBOXでディスク追加した場合は、fdiskによるパーテション追加部分は必要なくて、それ以外の手順はアップして頂いている内容に習えば問題なく
追加したディスクも認識できるようになりました。
こちらこそ貴重な情報をありがとうございます。
何かリクエストがあれば、できるだけ情報をアップしていきたいと思いますので、よろしくお願いいたします。
[…] VMwareのゲストOS(CentOS6.4)のディスク容量を増やす方法 […]
[…] にした> http://junrei.dip.jp/wordpress/vmware/vmware%E3%81%AE%E3%82%B2%E3%82%B9%E3%83%88os%EF%BC%88centos6-4%EF%BC%89%E3%81%AE%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AF%E5%AE%B9%E9%87%8F%E3%82%92%E5%A2%97%E3%82%84%E3%81%99%E6%96%B9%E6%B3%95/ LVMでは […]