2012年2月13日月曜日

CentOS 6.2 LVMのディスクサイズ拡張

パーティション構成にLVMが使用されている場合の手順です。 LVMを使用せず、物理ディスクにパーティションが直接マッピングされている場合等は、 GPartedで拡張するのがおすすめですが、そのネタはまた次回。
・LinuxサーバOS: CentOS6.2 (64-bit)
・ホスト名: srv04

■vSphereClientからESXi上の仮想マシンのディスクサイズ拡張
仮想マシンsrv04をシャットダウン
ハードディスク1を16GB→30GBに設定 ■事前状況確認 [root@srv04 ~]# df -h Filesystem Size Used Avail Use% マウント位置 /dev/mapper/vg_srv04-lv_root 14G 3.5G 9.2G 28% / tmpfs 499M 88K 499M 1% /dev/shm /dev/sda1 485M 48M 412M 11% /boot [root@srv04 ~]# fdisk -l ディスク /dev/sda: 32.2 GB, 32212254720 バイト ヘッド 64, セクタ 32, シリンダ 30720 Units = シリンダ数 of 2048 * 512 = 1048576 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x000ce9dd デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2 501 512000 83 Linux パーティション 1 は、シリンダ境界で終わっていません。 /dev/sda2 502 16384 16264192 8e Linux LVM パーティション 2 は、シリンダ境界で終わっていません。 ディスク /dev/mapper/vg_srv04-lv_root: 14.5 GB, 14537457664 バイト ヘッド 255, セクタ 63, シリンダ 1767 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/vg_srv04-lv_root は正常なパーティションテーブルを含んでいません ディスク /dev/mapper/vg_srv04-lv_swap: 2113 MB, 2113929216 バイト ヘッド 255, セクタ 63, シリンダ 257 Units = シリンダ数 of 16065 * 512 = 8225280 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x00000000 ディスク /dev/mapper/vg_srv04-lv_swap は正常なパーティションテーブルを含んでいません [root@srv04 ~]# ■一旦、拡張領域に新規パーティションを作成 [root@srv04 ~]# fdisk /dev/sda 警告: DOS互換モードは廃止予定です。このモード (コマンド 'c') を止めることを 強く推奨します。 and change display units to sectors (command 'u'). コマンド (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 ディスク /dev/sda: 32.2 GB, 32212254720 バイト ヘッド 64, セクタ 32, シリンダ 30720 Units = シリンダ数 of 2048 * 512 = 1048576 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x000ce9dd デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2 501 512000 83 Linux パーティション 1 は、シリンダ境界で終わっていません。 /dev/sda2 502 16384 16264192 8e Linux LVM パーティション 2 は、シリンダ境界で終わっていません。 コマンド (m でヘルプ): n コマンドアクション e 拡張 p 基本パーティション (1-4) p パーティション番号 (1-4): 3 最初 シリンダ (1-30720, 初期値 1): 16385 Last シリンダ, +シリンダ数 or +size{K,M,G} (16385-30720, 初期値 30720): 30720 コマンド (m でヘルプ): w パーティションテーブルは変更されました! ioctl() を呼び出してパーティションテーブルを再読込みします。 警告: パーティションテーブルの再読込みがエラー 16 で失敗しました: デバイスもしくはリソースがビジー状態です。 カーネルはまだ古いテーブルを使っています。新しいテーブルは 次回リブート時か、partprobe(8)またはkpartx(8)を実行した後に 使えるようになるでしょう ディスクを同期しています。 [root@srv04 ~]# reboot →シリンダ境界で終わっていないというメッセージが出ているので、追加パーティション のシリンダの初期値を/dev/sda2の値(16384)の次の値とした。 ⇒再起動後にパーティションを確認すると/dev/sda3が作成されている。 [root@redmine ~]# fdisk -l ディスク /dev/sda: 32.2 GB, 32212254720 バイト ヘッド 64, セクタ 32, シリンダ 30720 Units = シリンダ数 of 2048 * 512 = 1048576 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x000ce9dd デバイス ブート 始点 終点 ブロック Id システム /dev/sda1 * 2 501 512000 83 Linux パーティション 1 は、シリンダ境界で終わっていません。 /dev/sda2 502 16384 16264192 8e Linux LVM パーティション 2 は、シリンダ境界で終わっていません。 /dev/sda3 16385 30720 14680064 83 Linux ディスク /dev/mapper/vg_srv04-lv_root: 14.5 GB, 14537457664 バイト (後略) ■/dev/sda3を元にPhysical Volumeを作り、Volume Group(vg_srv04)に追加 [root@srv04 ~]# pvcreate /dev/sda3 Writing physical volume data to disk "/dev/sda3" Physical volume "/dev/sda3" successfully created [root@srv04 ~]# vgextend vg_srv04 /dev/sda3 Volume group "vg_srv04" successfully extended [root@srv04 ~]# ⇒論理ボリュームに割り当てられるエクステントの個数(Free PEの値)を調べる [root@srv04 ~]# vgdisplay -v Finding all volume groups Finding volume group "vg_srv04" --- Volume group --- VG Name vg_srv04 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 29.50 GiB PE Size 4.00 MiB Total PE 7553 Alloc PE / Size 3970 / 15.51 GiB Free PE / Size 3583 / 14.00 GiB ←ここに注目! VG UUID oJIJHr-uD5d-ZXni-aAEm-nnZd-foA0-5XZvPD --- Logical volume --- LV Name /dev/vg_srv04/lv_root VG Name vg_srv04 LV UUID Siwck8-f0lb-zD8E-8Gdt-a5tH-7Ilq-a1wuqn LV Write Access read/write LV Status available # open 1 LV Size 13.54 GiB Current LE 3466 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:0 --- Logical volume --- LV Name /dev/vg_srv04/lv_swap VG Name vg_srv04 LV UUID xZ92Cs-uPmf-rerw-oEBH-068n-rKAQ-f4wA5y LV Write Access read/write LV Status available # open 1 LV Size 1.97 GiB Current LE 504 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:1 --- Physical volumes --- PV Name /dev/sda2 PV UUID v0cw4G-58Tk-Earn-p4xC-tMch-jkmZ-Pk5SDP PV Status allocatable Total PE / Free PE 3970 / 0 PV Name /dev/sda3 PV UUID xja5iK-Bzdh-FL01-dSda-wY8w-kWEQ-VNOZrS PV Status allocatable Total PE / Free PE 3583 / 3583 [root@srv04 ~]# ■Volume Group(vg_srv04)のLogical Volume(lv_root)を拡張 ⇒エクステント数を指定して論理ボリューム拡大 [root@srv04 ~]# lvextend -l +3583 /dev/vg_srv04/lv_root Extending logical volume lv_root to 27.54 GiB Logical volume lv_root successfully resized [root@srv04 ~]# ⇒resize2fsを実行(拡張サイズが大きいほど時間がかかる) [root@srv04 ~]# resize2fs /dev/vg_srv04/lv_root resize2fs 1.41.12 (17-May-2010) Filesystem at /dev/vg_srv04/lv_root is mounted on /; on-line resizing required old desc_blocks = 1, new_desc_blocks = 2 Performing an on-line resize of /dev/vg_srv04/lv_root to 7218176 (4k) blocks. The filesystem on /dev/vg_srv04/lv_root is now 7218176 blocks long. [root@srv04 ~]#

■拡張完了
[root@srv04 ~]# df -h
Filesystem            Size  Used Avail Use% マウント位置
/dev/mapper/vg_srv04-lv_root
                       28G  3.5G   23G  14% /
tmpfs                 499M   88K  499M   1% /dev/shm
/dev/sda1             485M   48M  412M  11% /boot
[root@srv04 ~]#

0 件のコメント:

コメントを投稿