VMware ESXi などの仮想環境で、ゲストOS作成時「割り当てHDD容量」の見積りを誤りますと、いわゆる「/」が足りなくなる問題が発生します。その場合の対処として、HDD構成が「LVM(Logical Volume Manager)」であれば後から容量増設が可能です。(2014/09/19作成)
MichaelGaida / Pixabay
0.本紙の作業概要
VMware ESXi 既存ゲスト環境は、20GのHDDがLVMで設置されています。
上記環境に、HDDを30Gの新規追加、LVMボリューム「+20G」分容量を増やします。
作業時、対象ゲストOSは停止させる必要があります。
作業時、スナップショットがあると仮想ディスクサイズを増やせないです。
本紙でよく出現する「用語」を以下に補足します。
LVMとは…
LVM(Logical Volume Manager)とは、何台かのディスクをひとつのグループにまとめ、そこから論理ボリューム(パーティション)を切り出すことのできるHP-UXの機能です。 LVMでは、システムの運用を継続したまま論理ボリュームのサイズ変更やディスク追加が可能です。(参考文献:日本HP)
FDISKとは…
「 FDISK」とは、ハードディスクドライブに対して、論理的なパーティション(区画)を設定するためのMS-DOSのコマンドのことです。 PC互換機では、FDISKというプログラムを使ってハードディスクドライブに対して論理的なパーティションを設定することになっています。 システムに新しいハードディスクドライブを接続した場合は、まず最初にこのFDISKコマンドでパーティションを設定し、FORMATコマンドでフォーマットを行なうことによって、ユーザーが利用できる状態になります。(参考文献:Lenovo)
1.環境情報
ホストOS: VMware ESXi バージョン 5.1.0
ゲストOS: CentOS release 5.9
2.ゲストOS:新規HDDを追加
VMware ESXi 対象ゲストOSに「新規HDD」を追加します。なお VMware ESXi 上のHDDの追加方法については割愛します。
(HDD増設前)
# fdisk -l
ddisk /ev/hda: 21.4 gb, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/ddev/hda1 * 1 13 104391 83 linux
/dev/hda2 14 2610 20860402+ 8e Linux LVM
# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
19G 16G 1.4G 93% /
/dev/hda1 99M 34M 61M 36% /boot
tmpfs 1006M 0 1006M 0% /dev/shm
(HDD増設後)
# fdisk -l Disk /dev/hda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/hda1 * 1 13 104391 83 Linux /dev/hda2 14 2610 20860402+ 8e Linux LVM Disk /dev/sda: 32.2 GB, 32212254720 bytes 255 heads, 63 sectors/track, 3916 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes ディスク /dev/sda は正常な領域テーブルを含んでいません
3.ゲストOS:HDDの初期設定(fdisk)
ゲストOS上で、増設したHDDに「fdisk」コマンドで初期設定を行います。
# fdisk /dev/sda デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも 含んでいません 新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。 このディスクのシリンダ数は 3916 に設定されています。 間違いではないのですが、1024 を超えているため、以下の場合 に問題を生じうる事を確認しましょう: 1) ブート時に実行するソフトウェア (例. バージョンが古い LILO) 2) 別の OS のブートやパーティション作成ソフト (例. DOS FDISK, OS/2 FDISK) 警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって 正常になります コマンド (m でヘルプ): m コマンドの動作 a ブート可能フラグをつける b bsd ディスクラベルを編集する c dos 互換フラグをつける d 領域を削除する l 既知の領域タイプをリスト表示する m このメニューを表示する n 新たに領域を作成する o 新たに空の DOS 領域テーブルを作成する p 領域テーブルを表示する q 変更を保存せずに終了する s 空の Sun ディスクラベルを作成する t 領域のシステム ID を変更する u 表示/項目ユニットを変更する v 領域テーブルを照合する w テーブルをディスクに書き込み、終了する x 特別な機能 (エキスパート専用) コマンド (m でヘルプ): p Disk /dev/sda: 32.2 GB, 32212254720 bytes 255 heads, 63 sectors/track, 3916 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System コマンド (m でヘルプ): n コマンドアクション e 拡張 p 基本領域 (1-4) p 領域番号 (1-4): 1 最初 シリンダ (1-3916, default 1): Using default value 1 終点 シリンダ または +サイズ または +サイズM または +サイズK (1-3916, default 3916): Using default value 3916 コマンド (m でヘルプ): p Disk /dev/sda: 32.2 GB, 32212254720 bytes 255 heads, 63 sectors/track, 3916 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sda1 1 3916 31455238+ 83 Linux コマンド (m でヘルプ): t Selected partition 1 16進数コード (L コマンドでコードリスト表示): 8e 領域のシステムタイプを 1 から 8e (Linux LVM) に変更しました コマンド (m でヘルプ): p Disk /dev/sda: 32.2 GB, 32212254720 bytes 255 heads, 63 sectors/track, 3916 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sda1 1 3916 31455238+ 8e Linux LVM コマンド (m でヘルプ): w 領域テーブルは交換されました! ioctl() を呼び出して領域テーブルを再読込みします。 ディスクを同期させます。 # /sbin/shutdown -r now
4.ゲストOS:LVMによる論理ボリューム拡張
ゲストOS上で、LVMによる論理ボリューム拡張します。
# fdisk -l
Disk /dev/hda: 21.4 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 2610 20860402+ 8e Linux LVM
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/sda1 1 3916 31455238+ 8e Linux LVM
LVM物理ボリュームを作成
# pvcreate /dev/sda1
Writing physical volume data to disk "/dev/sda1"
Physical volume "/dev/sda1" successfully created
物理ボリュームの情報を表示する(ボリュームグループ割り当て前)
# pvdisplay
--- Physical volume ---
PV Name /dev/hda2
VG Name VolGroup00
PV Size 19.89 GB / not usable 19.49 MB
Allocatable yes (but full)
PE Size (KByte) 32768
Total PE 636
Free PE 0
Allocated PE 636
PV UUID BptsvR-MYKn-dfOq-Tjp1-COMu-FwSS-c9grFb
"/dev/sda1" is a new physical volume of "30.00 GB"
--- NEW Physical volume ---
PV Name /dev/sda1
VG Name
PV Size 30.00 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID QNuZpW-SL3L-yLZj-PG3K-yfHe-XOfL-4R1S3D
ボリュームグループに物理ボリュームを割り当てる
# vgextend VolGroup00 /dev/sda1
Volume group "VolGroup00" successfully extended
物理ボリュームの情報を表示する(ボリュームグループ割り当て後)
# pvdisplay
--- Physical volume ---
PV Name /dev/hda2
VG Name VolGroup00
PV Size 19.89 GB / not usable 19.49 MB
Allocatable yes (but full)
PE Size (KByte) 32768
Total PE 636
Free PE 0
Allocated PE 636
PV UUID BptsvR-MYKn-dfOq-Tjp1-COMu-FwSS-c9grFb
"/dev/sda1" is a new physical volume of "30.00 GB"
--- NEW Physical volume ---
PV Name /dev/sda1
VG Name
PV Size 30.00 GB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID QNuZpW-SL3L-yLZj-PG3K-yfHe-XOfL-4R1S3D
論理ボリュームを増加させる
# lvextend -L +20Gb /dev/VolGroup00/LogVol00
Extending logical volume LogVol00 to 38.88 GB
Logical volume LogVol00 successfully resized
ファイルシステムサイズの再認識
# resize2fs /dev/VolGroup00/LogVol00
resize2fs 1.39 (29-May-2006)
Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
Performing an on-line resize of /dev/VolGroup00/LogVol00 to 10190848 (4k) blocks.
The filesystem on /dev/VolGroup00/LogVol00 is now 10190848 blocks long.
容量の確認
# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
38G 16G 20G 45% /
/dev/hda1 99M 34M 61M 36% /boot
tmpfs 1006M 0 1006M 0% /dev/shm
以上
Auto Amazon Links: プロダクトが見つかりません。
よしまさのブログをもっと見る
購読すると最新の投稿がメールで送信されます。
