2016年8月9日火曜日

仮想マシンのHDDを拡大

今、piscesのOS用仮想HDDは3.5GB、ariesのOS用仮想HDDは2GBしか割り当てていない。
(aquarius) $ virsh pool-list
 名前               状態     自動起動
-------------------------------------------
 default              動作中  はい (yes)

(aquarius) $ virsh pool-info default
名前:         default
UUID:           (略)
状態:         実行中
永続:         はい (yes)
自動起動:   はい (yes)
容量:         49.09 GiB
割り当て:   3.81 GiB
利用可能:   45.28 GiB

(aquarius) $ virsh vol-list --pool default
 名前               パス
------------------------------------------------------------------------------
 aries.qcow2          /var/lib/libvirt/images/aries.qcow2
 pisces.qcow2         /var/lib/libvirt/images/pisces.qcow2
 ubuntu-14.04.4-server-amd64.iso /var/lib/libvirt/images/ubuntu-14.04.4-server-amd64.iso

(aquarius) $ virsh vol-info pisces.qcow2 --pool default
名前:         pisces.qcow2
タイプ:      ファイル
容量:         3.50 GiB
割り当て:   1.85 GiB

(aquarius) $ virsh vol-info aries.qcow2 --pool default
名前:         aries.qcow2
タイプ:      ファイル
容量:         2.00 GiB
割り当て:   1.34 GiB

これでは、今後実験していく上で、あまりにも容量が少なすぎる。
これを拡大したい。
どれぐらいまで拡大できるだろうか?poolの利用可能容量が約45GBなので、それ以上に割り当てようとするとエラーになるのだろうか?

ちょっと試してみよう。
(念のため、仮想マシンは止めておくこと)
(aquarius) $ virsh vol-resize pisces.qcow2 72G --pool default
ボリューム 'pisces.qcow2' の容量を 72G に正常に変更しました

できたっぽい。
念のため確認。
(aquarius) $ virsh vol-info pisces.qcow2 --pool default
名前:         pisces.qcow2
タイプ:      ファイル
容量:         72.00 GiB
割り当て:   1.85 GiB

出来た。
一応、起動してゲストOS側から確認してみよう。

(aquarius) $ virsh start pisces

(pisces) $ sudo parted /dev/vda print
モデル: Virtio Block Device (virtblk)
ディスク /dev/vda: 77.3GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
 1    1049kB  256MB   255MB   primary   ext2              boot
 2    257MB   3757MB  3500MB  extended
 5    257MB   3757MB  3500MB  logical                     lvm

どうやら、拡大されているっぽいな。
ただし、パーティションサイズとpv(Phisical Volume)は構築当初のサイズのままだ。

これを拡大しないといけない。(末尾まで延ばしてしまおう)
まずはパーティションの拡大だ。(mbr形式の拡張領域なので、拡張パーティションと論理パーティションの両方を拡大する必要があるぞ。)
(pisces) $ sudo parted /dev/vda resizepart 2 100%

(pisces) $ sudo parted /dev/vda print
モデル: Virtio Block Device (virtblk)
ディスク /dev/vda: 77.3GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
 1    1049kB  256MB   255MB   primary   ext2              boot
 2    257MB   77.3GB  77.1GB  extended
 5    257MB   3757MB  3500MB  logical                     lvm

(pisces) $ sudo parted /dev/vda resizepart 5 100%

(pisces) $ sudo parted /dev/vda print
モデル: Virtio Block Device (virtblk)
ディスク /dev/vda: 77.3GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
 1    1049kB  256MB   255MB   primary   ext2              boot
 2    257MB   77.3GB  77.1GB  extended
 5    257MB   77.3GB  77.1GB  logical                     lvm

次いで、Phisical Volumeの拡張だ。これ上手くいくかな?
(pisces) $ sudo pvs /dev/vda5
  PV         VG        Fmt  Attr PSize PFree
  /dev/vda5  pisces-vg lvm2 a--  3.26g    0

(pisces) $ sudo vgs pisces-vg
  VG        #PV #LV #SN Attr   VSize VFree
  pisces-vg   1   2   0 wz--n- 3.26g    0

(pisces) $ sudo pvresize /dev/vda5
  Physical volume "/dev/vda5" changed
  1 physical volume(s) resized / 0 physical volume(s) not resized

(pisces) $ sudo pvs /dev/vda5
  PV         VG        Fmt  Attr PSize  PFree
  /dev/vda5  pisces-vg lvm2 a--  71.76g 68.50g

(pisces) $ sudo vgs pisces-vg
  VG        #PV #LV #SN Attr   VSize  VFree
  pisces-vg   1   2   0 wz--n- 71.76g 68.50g

あっさり拡張できてしまった。

ついでに、/領域(/dev/pisces-vg/root)も4GBに拡張しておこう。
(pisces) $ sudo lvs /dev/pisces-vg/root
  LV   VG        Attr      LSize Pool Origin Data%  Move Log Copy%  Convert
  root pisces-vg -wi-ao--- 2.76g

(pisces) $ sudo lvextend -L 4G pisces-vg/root
  Extending logical volume root to 4.00 GiB
  Logical volume root successfully resized

(pisces) $ sudo lvs /dev/pisces-vg/root
  LV   VG        Attr      LSize Pool Origin Data%  Move Log Copy%  Convert
  root pisces-vg -wi-ao--- 4.00g

(pisces) $ df -h /
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/pisces--vg-root  2.7G  1.2G  1.4G  46% /

(pisces) $ sudo resize2fs /dev/pisces-vg/root
Filesystem at /dev/pisces-vg/root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/pisces-vg/root is now 1048576 blocks long.

(pisces) $ df -h /
Filesystem                   Size  Used Avail Use% Mounted on
/dev/mapper/pisces--vg-root  3.9G  1.2G  2.6G  31% /

piscesの拡張が出来たので、piscesは一旦シャットダウンしておこう。
(pisces) $ sudo shutdown -h now

ariesも同じように拡張しておく。
やり方は同じなので、コマンドだけ羅列しておく。

(aquarius) $ virsh vol-resize aries.qcow2 72G --pool default
(aquarius) $ virsh vol-info aries.qcow2 --pool default
(aquarius) $ virsh start aries
(aries) $ sudo parted /dev/vda print
(aries) $ sudo parted /dev/vda resizepart 2 100%
(aries) $ sudo parted /dev/vda print
(aries) $ sudo parted /dev/vda resizepart 5 100%
(aries) $ sudo parted /dev/vda print
(aries) $ sudo pvs /dev/vda5
(aries) $ sudo vgs aries-vg
(aries) $ sudo pvresize /dev/vda5
(aries) $ sudo pvs /dev/vda5
(aries) $ sudo vgs aries-vg
(aries) $ sudo lvs /dev/aries-vg/root
(aries) $ sudo lvextend -L 4G aries-vg/root
(aries) $ sudo lvs /dev/aries-vg/root
(aries) $ df -h /
(aries) $ sudo resize2fs /dev/aries-vg/root
(aries) $ df -h /
(aries) $ sudo shutdown -h now

終わった後のpoolの状態も確認しておこう。
(aquarius) $ virsh pool-info default
名前:         default
UUID:           (略)
状態:         実行中
永続:         はい (yes)
自動起動:   はい (yes)
容量:         49.09 GiB
割り当て:   3.81 GiB
利用可能:   45.28 GiB

問題なさそうだ。

0 件のコメント:

コメントを投稿