1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

仮想マシン(KVM)のrootパーティションのディスク拡張をやってみた

Last updated at Posted at 2018-11-09

はじめに

KVM上で動かしている仮想マシン(Webサーバ)のrootパーティションの残り容量が少なくなったので拡張してみました。VMWAREの場合は仮想マシン全体の拡張をVMWare独自のものに変えるだけで他の操作は同じ。

環境

  • ホスト
    • CentOS7
  • 仮想マシン
    • CentOS6

やること

  • 仮想マシン全体の拡張
  • 仮想マシンの新規パーティション(/dev/vda3)作成
  • LVM拡張
    • 物理ボリューム(pv)登録
    • ボリュームグループ(vg)の拡張
    • 論理ボリューム(lv)の拡張
    • ファイルシステムの拡張

対象

仮想マシンのrootパーティション


root@webserver:~
# df -hT
Filesystem           Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_nagios-lv_root
                     ext4    18G   12G  4.3G  74% /
tmpfs                tmpfs  1.9G     0  1.9G   0% /dev/shm
/dev/vda1            ext4   477M  111M  341M  25% /boot

root@webserver:~
# ll /dev/vd*
brw-rw----. 1 root disk 252, 0 Nov  9 14:31 /dev/vda
brw-rw----. 1 root disk 252, 1 Nov  9 14:31 /dev/vda1
brw-rw----. 1 root disk 252, 2 Nov  9 14:31 /dev/vda2

補足

qcow2だとサイズ拡張はできても縮小ははできないみたい

サイズを拡大および縮小できるのは raw 形式のイメージのみになります。
qcow2 バージョン 2 または qcow2 バージョン 3 イメージは拡張することはできますが、
縮小することはできません。

fdiskについて

表示

uはセクタ方式で数える。旧来のCHS方式ではないのでパーティションを表示する前にuを指定します。


root@webserver:~
# fdisk  /dev/vda

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): u
Changing display/entry units to sectors

Command (m for help): p

Disk /dev/vda: 21.5 GB, 21474836480 bytes
16 heads, 63 sectors/track, 41610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000723f9

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048     1026047      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/vda2         1026048    41943039    20458496   8e  Linux LVM
Partition 2 does not end on cylinder boundary.

仮想マシンのrootパーティションのディスク拡張をやってみた

仮想マシン全体を拡張

対象の仮想マシンを止めてから、拡大


[root@host3 ~]# qemu-img resize /var/lib/libvirt/images/web.qcow2 +50G
Image resized.

[root@host3 ~]# virsh start web
ドメイン web が起動されました

fdiskで+50GBの拡大確認!!


# fdisk /dev/vda
・
・
Command (m for help): u
Changing display/entry units to sectors

Command (m for help): p

Disk /dev/vda: 75.2 GB, 75161927680 bytes

新規パーティション(/dev/vda3)作成

全体を拡張したので、拡張した箇所をパーティションとして新規に作成する

startはvda2のend+1
endは最後まで


Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 3
First sector (63-146800639, default 63): 41943040
Last sector, +sectors or +size{K,M,G} (41943040-146800639, default 146800639):
Using default value 146800639

Command (m for help): p

Disk /dev/vda: 75.2 GB, 75161927680 bytes
16 heads, 63 sectors/track, 145635 cylinders, total 146800640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000723f9

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048     1026047      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/vda2         1026048    41943039    20458496   8e  Linux LVM
Partition 2 does not end on cylinder boundary.
/dev/vda3        41943040   146800639    52428800   83  Linux

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 8e
Changed system type of partition 3 to 8e (Linux LVM)

Command (m for help): p

Disk /dev/vda: 75.2 GB, 75161927680 bytes
16 heads, 63 sectors/track, 145635 cylinders, total 146800640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000723f9

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048     1026047      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/vda2         1026048    41943039    20458496   8e  Linux LVM
Partition 2 does not end on cylinder boundary.
/dev/vda3        41943040   146800639    52428800   8e  Linux LVM

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

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

OS再起動後、/dev/vda3認識される


root@webserver:~
# ll /dev/vd*
brw-rw----. 1 root disk 252, 0 Nov  9 15:34 /dev/vda
brw-rw----. 1 root disk 252, 1 Nov  9 15:34 /dev/vda1
brw-rw----. 1 root disk 252, 2 Nov  9 15:34 /dev/vda2
brw-rw----. 1 root disk 252, 3 Nov  9 15:34 /dev/vda3

LVM拡張

物理ボリューム(pv)登録

作成した/dev/vda3をpvとして登録


root@webserver:~
# pvcreate /dev/vda3
  Physical volume "/dev/vda3" successfully created
root@webserver:~
# pvdisplay
  --- Physical volume ---
  PV Name               /dev/vda2
  VG Name               vg_nagios
  PV Size               19.51 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              4994
  Free PE               0
  Allocated PE          4994
  PV UUID               mZC6NW-EAUH-geeH-NwJm-uMMY-tGAS-m5leuE

  "/dev/vda3" is a new physical volume of "50.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/vda3
  VG Name
  PV Size               50.00 GiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               T8UCNS-3yJI-ADDt-FQn2-7mLU-sw3M-gDEt1f

ボリュームグループ(vg)の拡張

ボリュームグループ(vg)はpvをvgに追加することで拡張できる


root@webserver:~
# vgdisplay
  --- Volume group ---
  VG Name               vg_nagios
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.51 GiB
  PE Size               4.00 MiB
  Total PE              4994
  Alloc PE / Size       4994 / 19.51 GiB
  Free  PE / Size       0 / 0
  VG UUID               4Az4wf-fVlM-50Ik-5uT0-iqFp-h2GP-e3Mo5S

root@webserver:~
# vgex  vg_nagios
vgexport  vgextend
root@webserver:~
# vgextend  vg_nagios /dev/vda3
  Volume group "vg_nagios" successfully extended

Free PE / Size 12799 / 50.00 GiB 拡張OK

root@webserver:~
# vgdisplay
  --- Volume group ---
  VG Name               vg_nagios
  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               69.50 GiB
  PE Size               4.00 MiB
  Total PE              17793
  Alloc PE / Size       4994 / 19.51 GiB
  Free  PE / Size       12799 / 50.00 GiB
  VG UUID               4Az4wf-fVlM-50Ik-5uT0-iqFp-h2GP-e3Mo5S

論理ボリューム(lv)の拡張

論理ボリューム(lv)のサイズをボリュームグループ(vg)の最大サイズまで拡張する


root@webserver:~
# lvextend -l +100%FREE /dev/vg_nagios/lv_root
  Size of logical volume vg_nagios/lv_root changed from 17.51 GiB (4482 extents) to 67.50 GiB (17281 extents).
  Logical volume lv_root successfully resized.

ファイルシステムの拡張

lvmを拡張した箇所はまだファイルシステムとして認識されていないので、ファイルシステムを拡張して使えるようにする


root@webserver:~
# resize2fs /dev/vg_nagios/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/vg_nagios/lv_root is mounted on /; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 5
Performing an on-line resize of /dev/vg_nagios/lv_root to 17695744 (4k) blocks.
The filesystem on /dev/vg_nagios/lv_root is now 17695744 blocks long.

root@webserver:~
# df -hT
Filesystem           Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_nagios-lv_root
                     ext4    67G   12G   51G  20% /
tmpfs                tmpfs  1.9G     0  1.9G   0% /dev/shm
/dev/vda1            ext4   477M  111M  341M  25% /boot

/dev/mapper/vg_nagios-lv_root ext4 18G 12G 4.3G 74% /

おわり

拡張完了!!LVMって便利ですね😃!!

1
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?