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.ファイルシステムのリサイズ
外側の器から拡げて、最後に中身を拡げるイメージだ。
VMwareの仮想ディスクの容量を増やす
vSphere Clientからディスクを拡張したいサーバを選択し、『サマリ』タブを開く。
『設定の編集』(①)をクリック。
『仮想マシンのプロパティ』ウィンドウが開くので、『ハードウェア』タブからディスクを拡張したい『ハードディスク』(②)を選択。
『プロビジョニング済みサイズ』(③)を拡張したいサイズに変更し、『OK』ボタン(④)をクリック。
『サマリ』タブから、『ストレージ使用率の更新』(⑤)をクリック。
『プロビジョニングしたストレージ』のサイズが設定したサイズ以上になっていればOK。
『プロビジョニングしたストレージ』のサイズは、設定したサイズと同じ値にはならないようだ。
ゲスト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パーティション)に引っかかってしまうというデメリットを回避できる。
ありがとうございます。
非常に参考になりました!
どういたしまして、参考になって何よりです。
ありがとうございます。
とても参考になりました。
どういたしまして、参考になって何よりです。
ありがとうございました。非常に参考になりました。
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では […]