Ubuntu · 仮想化

仮想HDDのHDD容量を拡張してUbuntuで利用できるようにする。


仮想マシン上のubuntuで容量が足りなくなったら?

 仮想マシン上でubuntuを使っているとうっかり HDD容量が足りなくなる事ありますよね。

そんな時は仮想HDDのHDD容量を増やしてあげれば良い訳ですが、増やしたHDD容量がubuntu上で利用できるまでの手順がややっこしいので整理してみました。

手順の全体の流れは次の通り。

◆ 仮想HDDのHDD容量を変更する。

◆ partition sizeを拡張する。(VM ubuntuでの操作。)

◆ (LVM) LVMを拡張する。(VM ubuntuでの操作。)

◆ 拡張した領域をFilesystemへ反映する。(VM ubuntuでの操作。)

上記はLVMを利用している環境での例となります。

また、LVMを利用していない場合はLVMの操作は省略してください。

LVM環境の場合、新規仮想HDDを追加してLVMを更新するのが一般的だと思います今回はLVMを利用してない環境と手順を合わせて整理したかったので上記のような手順となっております。

仮想HDDのHDD容量を変更する

 利用している仮想環境に合わせて仮想HDDの設定を変更してください。

例ではESXi v5.5環境での手順です。



partition sizeを拡張する。(VM ubuntuでの操作。)

 (parted) resizepart コマンドで partition size を拡張する。


手順の流れは次の通り。

  1. deviceの状態を確認する。 ⇒ (parted) print all
  2. 指定sizeの単位を設定する。⇒ (parted) unit
  3. sizeを拡張する。 ⇒ (parted) resizepart
  4. 拡張した結果を確認する。(parted)print all
	$ sudo parted /dev/sda
	GNU Parted 3.2
	Using /dev/sda
	Welcome to GNU Parted! Type 'help' to view a list of commands.
	(parted) print all
	Model: VMware Virtual disk (scsi)
	Disk /dev/sda: 34.4GB
	Sector size (logical/physical): 512B/512B
	Partition Table: gpt
	Disk Flags:
	
	Number  Start   End     Size    File system  Name  Flags
	 1      1049kB  2097kB  1049kB                     bios_grub
	 2      2097kB  1076MB  1074MB  ext4
	 3      1076MB  17.2GB  16.1GB
	
	
	Model: Linux device-mapper (linear) (dm)
	Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 4295MB
	Sector size (logical/physical): 512B/512B
	Partition Table: loop
	Disk Flags:
	
	Number  Start  End     Size    File system  Flags
	 1      0.00B  4295MB  4295MB  ext4
	
	
	(parted) unit
	Unit?  [compact]?
	(parted) help unit
	  unit UNIT                                set the default unit to UNIT
	
	        UNIT is one of: s, B, kB, MB, GB, TB, compact, cyl, chs, %, kiB, MiB, GiB, TiB
	(parted) unit GB
	(parted) resizepart 3 34.4GB
	(parted) print all
	Model: VMware Virtual disk (scsi)
	Disk /dev/sda: 34.4GB
	Sector size (logical/physical): 512B/512B
	Partition Table: gpt
	Disk Flags:
	
	Number  Start   End     Size    File system  Name  Flags
	 1      0.00GB  0.00GB  0.00GB                     bios_grub
	 2      0.00GB  1.08GB  1.07GB  ext4
	 3      1.08GB  34.4GB  33.3GB
	
	
	Model: Linux device-mapper (linear) (dm)
	Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 4.29GB
	Sector size (logical/physical): 512B/512B
	Partition Table: loop
	Disk Flags:
	
	Number  Start   End     Size    File system  Flags
	 1      0.00GB  4.29GB  4.29GB  ext4
	
	
	(parted)q

(LVM) LVMを拡張する。(VM ubuntuでの操作。)

 拡張したpartition
sizeLVM で利用できるように設定する。

手順の流れは次の通り。

PV sizeの拡張

  1. PVの状態を確認する。 ⇒ pvdisplay
  2. PVのsizeを拡張する。 ⇒ pvresize
  3. 拡張した結果を確認する。pvdisplay

◆LV sizeの拡張

  1. LVの状態を確認する。 ⇒ lvdisplay
  2. LVのsizeを拡張する。 ⇒ lvextend
  3. 拡張した結果を確認する。lvdisplay


PV sizeの拡張

	$ sudo pvdisplay
	  --- Physical volume ---
	  PV Name               /dev/sda3
	  VG Name               ubuntu-vg
	  PV Size               <15.00 GiB / not usable 0
	  Allocatable           yes
	  PE Size               4.00 MiB
	  Total PE              3839
	  Free PE               2815
	  Allocated PE          1024
	  PV UUID               G4pi2r-wlRi-8t5Y-pcaF-H47v-3uX4-4ylWLd
	
	$ sudo pvresize /dev/sda3
	  Physical volume "/dev/sda3" changed
	  1 physical volume(s) resized / 0 physical volume(s) not resized
	
	$ sudo pvdisplay
	  --- Physical volume ---
	  PV Name               /dev/sda3
	  VG Name               ubuntu-vg
	  PV Size               <31.00 GiB / not usable 16.50 KiB
	  Allocatable           yes
	  PE Size               4.00 MiB
	  Total PE              7935
	  Free PE               6911
	  Allocated PE          1024
	  PV UUID               G4pi2r-wlRi-8t5Y-pcaF-H47v-3uX4-4ylWLd


もし、PVサイズを指定する場合は次のコマンドを利用すれば良い。

>pvresize –setphysicalvolumesize [size] [device]

$ sudo pvresize --setphysicalvolumesize 20G /dev/sda3

◆LV sizeの拡張

$ sudo lvdisplay
	  --- Logical volume ---
	  LV Path                /dev/ubuntu-vg/ubuntu-lv
	  LV Name                ubuntu-lv
	  VG Name                ubuntu-vg
	  LV UUID                H6hjX4-uFx2-HWxw-o7H3-rXDU-VI4a-lt4tL6
	  LV Write Access        read/write
	  LV Creation host, time ubuntu-server, 2018-09-23 23:10:39 +0000
	  LV Status              available
	  # open                 1
	  LV Size                4.00 GiB
	  Current LE             1024
	  Segments               1
	  Allocation             inherit
	  Read ahead sectors     auto
	  - currently set to     256
	  Block device           253:0
	
	$ sudo lvextend -l 100%FREE /dev/ubuntu-vg/ubuntu-lv
	  Size of logical volume ubuntu-vg/ubuntu-lv changed from 4.00 GiB (1024 extents) to <27.00 GiB (6911 extents).
	  Logical volume ubuntu-vg/ubuntu-lv successfully resized.
	
	$ sudo lvdisplay
	  --- Logical volume ---
	  LV Path                /dev/ubuntu-vg/ubuntu-lv
	  LV Name                ubuntu-lv
	  VG Name                ubuntu-vg
	  LV UUID                H6hjX4-uFx2-HWxw-o7H3-rXDU-VI4a-lt4tL6
	  LV Write Access        read/write
	  LV Creation host, time ubuntu-server, 2018-09-23 23:10:39 +0000
	  LV Status              available
	  # open                 1
	  LV Size                <27.00 GiB
	  Current LE             6911
	  Segments               1
	  Allocation             inherit
	  Read ahead sectors     auto
	  - currently set to     256
	  Block device           253:0

拡張した領域をFile systemへ反映する。(VM ubuntuでの操作。)

 拡張した領域をFile systemへ反映する。


手順の流れは次の通り。

  1. File systemのチェック。 ⇒ e2fsck
  2. File systemへ反映する。 ⇒ resize2fe
  3. 反映した結果を確認する。df
$ sudo e2fsck -f /dev/ubuntu-vg/ubuntu-lv
	e2fsck 1.44.1 (24-Mar-2018)
	/dev/ubuntu-vg/ubuntu-lv is mounted.
	e2fsck: Cannot continue, aborting.
	
	
	$ sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
	resize2fs 1.44.1 (24-Mar-2018)
	Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
	old_desc_blocks = 1, new_desc_blocks = 4
	The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 7076864 (4k) blocks long.
	
	$ df -h
	Filesystem                         Size  Used Avail Use% Mounted on
	udev                               464M     0  464M   0% /dev
	tmpfs                               99M  1.1M   98M   2% /run
	/dev/mapper/ubuntu--vg-ubuntu--lv   27G  3.6G   22G  14% /
	tmpfs                              493M     0  493M   0% /dev/shm
	tmpfs                              5.0M     0  5.0M   0% /run/lock
	tmpfs                              493M     0  493M   0% /sys/fs/cgroup
	/dev/loop0                          88M   88M     0 100% /snap/core/5548
	/dev/loop1                          88M   88M     0 100% /snap/core/5328
	/dev/loop2                          87M   87M     0 100% /snap/core/4917
	/dev/loop3                          58M   58M     0 100% /snap/powershell/11
	/dev/sda2                          976M  209M  701M  23% /boot
	tmpfs                               99M     0   99M   0% /run/user/1000