VMWare Player(CentOS)で仮想ディスク(LVM)のサイズを変更する
LVMのディスクサイズを変更しようとしたが、いろいろとハマったのでメモ。
◆準備物
GParted 0.10.0-3 iso パーティションの変更ツール
以下のサイトからLiveCDのISOのイメージgparted-live-0.10.0-3.isoをダウンロードします。
http://gparted.sourceforge.net/download.php
※実はubuntuでも別のパーティションから起動したlinuxから操作できれば
良いとの事らしいが、実際に次のISOではうまく実行できなかった。
GPartedだとすんなりうまくいったのでそちらを採用する。
ubuntu-ja-11.10-desktop-i386.iso
というか、これに気付くまでに一晩かかってしまった(汗
◆VMWare側の設定
仮想マシン→仮想マシンの設定
画面でハードディスクを選択します。
ユーティリティで「拡張」をクリックします。
ディスク容量の拡張ウインドウがポップアップするので、
「ディスク最大サイズ」で拡張するサイズに変更する。
今回は10GBイメージを16GBに拡張する。
◆CentOSを起動しターミナルで作業を行う
まず、dfにて確認。
# df -H Filesystem Size Used Avail Use% マウント位置 /dev/mapper/VolGroup00-LogVol00 6.2G 6.2G 0 100% / ←何故か100%になってしまっていた(汗 /dev/sda1 104M 104M 0 100% /boot tmpfs 530M 0 530M 0% /dev/shm
fstabも確認する。
# cat /etc/fstab /dev/VolGroup00/LogVol00 / ext3 defaults 1 1 LABEL=/boot /boot ext3 defaults 1 2 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0
パーティーションを変更設定する。
# fdisk /dev/sda このディスクのシリンダ数は 2088 に設定されています。 間違いではないのですが、1024 を超えているため、以下の場合 に問題を生じうる事を確認しましょう: 1) ブート時に実行するソフトウェア (例. バージョンが古い LILO) 2) 別の OS のブートやパーティション作成ソフト (例. DOS FDISK, OS/2 FDISK) コマンド (m でヘルプ): p ←パーティションを表示させます Disk /dev/sda: 17.1 GB, 17179869184 bytes 255 heads, 63 sectors/track, 2088 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 1305 10377990 8e Linux LVM ←今回のresize対象 コマンド (m でヘルプ): d ←パーティションを削除(書き込まない限り消えないらしい) 領域番号 (1-4): 2 ←対象のパーティションの番号 コマンド (m でヘルプ): n ←新たにパーティションを作成 コマンドアクション e 拡張 p 基本領域 (1-4) p 領域番号 (1-4): 2 ←番号は以前と同じものを入力する 最初 シリンダ (14-2088, default 14): ←デフォルトのままでOKらしい Using default value 14 終点 シリンダ または +サイズ または +サイズM または +サイズK (14-2088, default 2088): ←デフォルトのままでOKらしい Using default value 2088 コマンド (m でヘルプ): t ←パーティションタイプを変更 領域番号 (1-4): 2 ←番号は以前と同じ 16進数コード (L コマンドでコードリスト表示): L 0 空 1e Hidden W95 FAT1 80 古い Minix bf Solaris 1 FAT12 24 NEC DOS 81 Minix / 古い c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 82 Linux swap / So c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 83 Linux c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 84 OS/2 隠し C: c7 Syrinx 5 拡張領域 41 PPC PReP Boot 85 Linux 拡張領 da 非 FS デー 6 FAT16 42 SFS 86 NTFS ボリュ db CP/M / CTOS / . 7 HPFS/NTFS 4d QNX4.x 87 NTFS ボリュ de Dell ユーテ 8 AIX 4e QNX4.x 2nd part 88 Linux plaintext df BootIt 9 AIX ブート 4f QNX4.x 3rd part 8e Linux LVM e1 DOS access a OS/2 ブート 50 OnTrack DM 93 Amoeba e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad ee EFI GPT f W95 Ext'd (LBA) 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC 11 隠し FAT12 56 Golden Bow a7 NeXTSTEP f1 SpeedStor 12 Compaq 診断 5c Priam Edisk a8 Darwin UFS f4 SpeedStor 14 隠し FAT16 <3 61 SpeedStor a9 NetBSD f2 DOS セカン 16 隠し FAT16 63 GNU HURD また ab Darwin boot fb VMware VMFS 17 隠し HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI スワッ fd Linux raid 自 1b Hidden W95 FAT3 70 DiskSecure Mult bb 隠し Boot Wiz fe LANstep 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT 16進数コード (L コマンドでコードリスト表示): 8e ←Linux LVMを指定する 領域のシステムタイプを 2 から 8e (Linux LVM) に変更しました コマンド (m でヘルプ): w ←書き込みして変更する。 領域テーブルは交換されました! ioctl() を呼び出して領域テーブルを再読込みします。 警告: 領域テーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。 カーネルはまだ古いテーブルを使っています。 新しいテーブルは次回リブート時に使えるようになるでしょう。 ディスクを同期させます。
⇒何故か、警告がでてしまったが問題無いようであるので、この後に再起動を行うが
その前に準備をしておく。
ここから先は、別のLinuxで起動して作業することになるのだが、ubuntu 11.10では
何故かうまく作業が出来なかったので、GPartedで作業を進めた。
先ずは設定のために、CentOSをシャットダウンしてVMWareを一度終了させておく。
◆GPartedのブート設定
GPartedはLiveCDのISOイメージをブートするように設定する。
しかしそのままだと仮想ディスクからブートしてしまうのでBIOSにてブートの優先順位を
仮想CD-ROMを一番上にする必要がある。
仮想マシンでBIOSを起動するには、VMware構成ファイル(拡張子がvmxファイル)を編集します。
中身はテキストファイルなので、メモ帳等で開いて以下の設定を一番下の行等に追記します。
bios.forceSetupOnce = "TRUE"
次に、仮想マシン→仮想マシンの設定
より画面でCD/DVDを選択します。
「デバイスのステータス」で起動時に接続にチェックを入れます。
「接続」でISOイメージファイルを使用するを選択し、参照ボタンでダウンロードした
GPartedのISOファイルを指定します。
◆仮想BIOSの設定
仮想マシンを再生します。するとBIOS画面が表示されます。
矢印ボタンでBootタグを選択し、CD-ROMを一番上に持ってきます。
”-”を押すと上に移動します。
F10 Save & Exitで設定を保存してリブートします。
◆GPartedでの作業
リブートすると、GPartedが仮想CD-ROMから起動します。
画面が表示されたらGParted Live(Default settings)でエンターキーを押下します。
次にキーマップの選択が表示されます。
タブキーで移動して「select keymap from full list」でエンターキーを押下します。
次にリストから「Japanese / PC 110 / Standard」を選択して「OK」を押下します。
次に言語設定をします。
言語設定画面が表示されるので、15を入力してエンターキーを押下します。
次に起動モードの選択を問われるので、そのままエンターキーを押下します。
暫くするとGPartedが起動します。
画面のTerminalアイコンをダブルクリックして起動させておきます。
◆ここからは、サイズの拡張設定を進めます。
PV(Physical Volume)のサイズを拡張します。
※以下作業はコピーが取れなかったので、参考URLからの写し。
# pvresize /dev/sda2 Physical volume "/dev/sda2" changed 1 physical volume(s) resized / 0 physical volume(s) not resized
次に、LV(Logical Volume)の拡張を行います。
実際どれだけ拡張すれば最大まで拡張出来るのかを知る為に一度大きめのサイズを指定して、
コマンドを実行しわざとエラーを発生させます。
なおここで指定する「ディスクグループ/ボリューム」は最初に
/etc/fstabで確認したものを指定します。
# lvextend -L+30G /dev/VolGroup00/LogVol00 Extending logical volume LogVol00 to 19.88GB Insufficient free space: 160 extents needed, but only 128 available
エラーが発生すると残りの余りが表示されるので、availableと言われている数字を利用し、
サイズではなくLE単位で拡張します。
# lvextend -l+128 VolGroup00/LogVol00 Extending logical volume LogVol00 to 18.88GB Logical volume LogVol00 successfully resized
次にe2fsckにてエラーチェックします。
# e2fsck -f /dev/VolGroup00/LogVol00 e2fsck 1.41.3 (12-Oct-2008) Adding dirhash hint to filesystem. Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Pass 5: Checking group summary information /dev/VolGroup00/LogVol00: ***** FILE SYSTEM WAS MODIFIED ***** /dev/VolGroup00/LogVol00: 170410/3899392 files (1.2% non-contiguous), 1310690/38 99392 blocks
次にfilesystemのサイズ変更をして、エラーが出なければ完了です。
# resize2fs /dev/VolGroup00/LogVol00 resize2fs 1.41.3 (12-Oct-2008) Resizing the filesystem on /dev/VolGroup00/LogVol00 to 4947968 (4k) blocks. The filesystem on /dev/VolGroup00/LogVol00 is now 4947986 blocks long.
⇒再起動を行いCentOSを起動します。
◆容量の確認
再起動後に増えているか確認します。
# df -H Filesystem Size Used Avail Use% マウント位置 /dev/mapper/VolGroup00-LogVol00 20G 4.9G 14G 27% / /dev/sda1 104M 20M 80M 20% /boot tmpfs 262M 0 262M 0% /dev/shm