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:ディスク拡張の概要
図1:ディスク拡張の概要

 
外側の器から拡げて、最後に中身を拡げるイメージだ。
 

VMwareの仮想ディスクの容量を増やす

vSphere Clientからディスクを拡張したいサーバを選択し、『サマリ』タブを開く。
『設定の編集』(①)をクリック。
『仮想マシンのプロパティ』ウィンドウが開くので、『ハードウェア』タブからディスクを拡張したい『ハードディスク』(②)を選択。
『プロビジョニング済みサイズ』(③)を拡張したいサイズに変更し、『OK』ボタン(④)をクリック。
 
図2:仮想ディスクの拡張(1)
図2:仮想ディスクの拡張(1)

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


8 Responses to “VMwareのゲストOS(CentOS6.4)のディスク容量を増やす方法”

  1. same より:

    ありがとうございます。
    非常に参考になりました!

  2. Junrei より:

    どういたしまして、参考になって何よりです。

  3. go より:

    ありがとうございます。
    とても参考になりました。

  4. Junrei より:

    どういたしまして、参考になって何よりです。

  5. bunmegu より:

    ありがとうございました。非常に参考になりました。
    VMWare環境ではなく、VirtualBOX環境でのCentOSに対して行いましたが、VirtualBOXでディスク追加した場合は、fdiskによるパーテション追加部分は必要なくて、それ以外の手順はアップして頂いている内容に習えば問題なく
    追加したディスクも認識できるようになりました。

  6. Junrei より:

    こちらこそ貴重な情報をありがとうございます。
    何かリクエストがあれば、できるだけ情報をアップしていきたいと思いますので、よろしくお願いいたします。

  7. […] VMwareのゲストOS(CentOS6.4)のディスク容量を増やす方法 […]

Leave a Reply