読者です 読者をやめる 読者になる 読者になる

clock-up-blog

go-mi-tech

VirtualBox内CentOSディスク拡張 (物理ディスクによる拡張)

CentOS VirtualBox ディスク

既存ディスク内のプライマリパーティションが4個になってしまっていて、これ以上容量を拡張することができなくなってしまった。仕方ないので (VirtualBox的な意味での) 物理ディスク (*.vdi) を増やすことにより容量を確保する。

参考

こちらは物理ディスク (*.vdi) 内のパーティション追加による容量拡張。パーティション数が4未満ならこちらでイケる。
VirtualBox内CentOSディスク拡張 - clock-up-blog


これ以上プライマリパーティションを作れない状態

# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): p

Disk /dev/sda: 41.9 GB, 41943040000 bytes
255 heads, 63 sectors/track, 5099 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0007b2fd

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        1045     7875584   8e  Linux LVM
/dev/sda3            1045        3188    17211392   83  Linux
/dev/sda4            3188        3824     5116280   83  Linux

Command (m for help): n
You must delete some partition and add an extended partition first

プライマリパーティションが既に4個あるので、これ以上パーティションを作ろうとしても「You must delete some partition and add an extended partition first」と言われてしまう。

物理ディスクを拡張する

一度ゲスト内OSをシャットダウンし、VirtualBoxの設定から物理ディスクを追加する。

f:id:kobake:20150528154751p:plain:w500
f:id:kobake:20150528154755p:plain:w400
f:id:kobake:20150528154759p:plain:w400
f:id:kobake:20150528154804p:plain:w400
f:id:kobake:20150528154809p:plain:w400

容量は好きにすれば良い。それ以外の選択肢は基本的にデフォルトで良いと思う。

ゲストOS(CentOS)内作業

ゲスト内OSを再度稼働させ、ディスク領域を拡張する。

物理ディスクの確認

# fdisk -l | grep sdb
Disk /dev/sdb: 10.7 GB, 10737418240 bytes

sdb が増えた。

追加された物理ディスク内にプライマリパーティションを作成する

# fdisk /dev/sdb 
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x2d5af62b.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
         switch off the mode (command 'c') and change display units to
         sectors (command 'u').

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1305, default 1): 
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): 
Using default value 1305

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

追加されたパーティションの確認

# fdisk -l | grep sdb
Disk /dev/sdb: 10.7 GB, 10737418240 bytes
/dev/sdb1               1        1305    10482381   83  Linux

パーティション「/dev/sdb1」が追加された。

PV (Physical Volume) を作る

# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created
# pvdisplay | grep sdb
  PV Name               /dev/sdb1

PV「/dev/sdb1」が追加された。

PV を VG (Volume Group) に追加する

# vgdisplay | grep "VG Name"
  VG Name               vg_centcarbon

VG「vg_centcarbon」に対して PV「/dev/sdb1」を追加する。

# vgextend vg_centcarbon /dev/sdb1
  Volume group "vg_centcarbon" successfully extended
# vgdisplay -v | grep sdb1
    DEGRADED MODE. Incomplete RAID LVs will be processed.
    Finding all volume groups
    Finding volume group "vg_centcarbon"
  PV Name               /dev/sdb1     

PV「/dev/sdb1」が追加された。

LV (Logical Volume) の拡張

# fdisk -l | grep mapper
Disk /dev/mapper/vg_centcarbon-lv_root: 39.5 GB, 39531315200 bytes
Disk /dev/mapper/vg_centcarbon-lv_swap: 2113 MB, 2113929216 bytes

LV「/dev/mapper/vg_centcarbon-lv_root」を拡張する。

# lvextend -l +100%FREE /dev/mapper/vg_centcarbon-lv_root
  Size of logical volume vg_centcarbon/lv_root changed from 26.82 GiB (6867 extents) to 36.82 GiB (9425 extents).
  Logical volume lv_root successfully resized
# resize2fs /dev/mapper/vg_centcarbon-lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_centcarbon-lv_root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 3
Performing an on-line resize of /dev/mapper/vg_centcarbon-lv_root to 9651200 (4k) blocks.
The filesystem on /dev/mapper/vg_centcarbon-lv_root is now 9651200 blocks long.

確認

# df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/mapper/vg_centcarbon-lv_root
                      37875276  25783800  10195980  72% /
tmpfs                   749756        72    749684   1% /dev/shm
/dev/sda1               487652    101626    360426  22% /boot
sites                498571768 358768540 139803228  72% /media/sf_sites

LV「/dev/mapper/vg_centcarbon-lv_root」の容量が増えた。

});