1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linuxにおけるディスクサイズ拡張の方法

Last updated at Posted at 2025-08-02

Linuxのディスクサイズを拡張する方法を以下の通りメモを残す。
なお、以下の要件を考慮したものとなる。

  • LVMを利用している
  • ディスクを増設ではなく拡張してサイズ変更している。

検証環境情報

ubuntu@develop:~$ cat /etc/os-release 
PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

ディスク拡張前の各種確認

1. ファイルシステムの確認

拡張対象のファイルシステムを確認する。

ubuntu@develop:~$ df -hT
Filesystem                Type   Size  Used Avail Use% Mounted on
tmpfs                     tmpfs  387M  2.0M  385M   1% /run
/dev/mapper/vgubuntu-root ext4    18G  9.2G  7.0G  57% /
tmpfs                     tmpfs  1.9G     0  1.9G   0% /dev/shm
tmpfs                     tmpfs  5.0M  4.0K  5.0M   1% /run/lock
/dev/sda2                 vfat   512M  6.1M  506M   2% /boot/efi
tmpfs                     tmpfs  387M  104K  387M   1% /run/user/1000

マウントポイント//dev/mapper/vgubuntu-rootのファイルシステムにより提供されていることがわかる。

2. ディスクの確認

ファイルシステムで利用しているディスクを確認する。
ディスクを確認するためにブロックデバイスのリストを表示して確認する。

ubuntu@develop:~$ lsblk -p
NAME                            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
/dev/loop0                        7:0    0     4K  1 loop /snap/bare/5
/dev/loop1                        7:1    0  74.3M  1 loop /snap/core22/1612
/dev/loop2                        7:2    0 271.2M  1 loop /snap/firefox/4848
/dev/loop3                        7:3    0 505.1M  1 loop /snap/gnome-42-2204/176
/dev/loop4                        7:4    0  12.9M  1 loop /snap/snap-store/1113
/dev/loop5                        7:5    0  91.7M  1 loop /snap/gtk-common-themes/1535
/dev/loop6                        7:6    0  38.8M  1 loop /snap/snapd/21759
/dev/loop7                        7:7    0   500K  1 loop /snap/snapd-desktop-integration/178
/dev/sda                          8:0    0    20G  0 disk 
├─/dev/sda1                       8:1    0     1M  0 part 
├─/dev/sda2                       8:2    0   513M  0 part /boot/efi
└─/dev/sda3                       8:3    0  19.5G  0 part 
  ├─/dev/mapper/vgubuntu-root   252:0    0  17.5G  0 lvm  /
  └─/dev/mapper/vgubuntu-swap_1 252:1    0     2G  0 lvm  [SWAP]
/dev/sr0                         11:0    1  1024M  0 rom

先ほど確認した/dev/mapper/vgubuntu-rootはブロックデバイス/dev/sdaのパーティション/dev/sda3を利用していることがわかる。

3. LVM関連情報の確認

利用しているディスクの物理ディスクの認識状況を確認する。

ubuntu@develop:~$ sudo pvs
  PV         VG       Fmt  Attr PSize  PFree 
  /dev/sda3  vgubuntu lvm2 a--  19.49g 32.00m

ubuntu@develop:~$ sudo pvdisplay /dev/sda3
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               vgubuntu
  PV Size               <19.50 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              4990
  Free PE               8
  Allocated PE          4982
  PV UUID               uC3V9L-HfWZ-vJbH-FDBd-hlvG-G7rX-l5z0CN

論理ディスクの識別状況を確認する。

ubuntu@develop:~$ sudo lvs
  LV     VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   vgubuntu -wi-ao---- <17.47g
  swap_1 vgubuntu -wi-ao----   1.99g

ubuntu@develop:~$ sudo lvdisplay /dev/vgubuntu/root
  --- Logical volume ---
  LV Path                /dev/vgubuntu/root
  LV Name                root
  VG Name                vgubuntu
  LV UUID                LT8yIJ-D6kz-BAro-MQMP-nQO9-UfrD-jeZ90n
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2025-08-02 10:32:23 +0900
  LV Status              available
  # open                 1
  LV Size                <17.47 GiB
  Current LE             4472
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

ディスク拡張処理

1. VMの既存ディスクのサイズを拡張する

VMの電源を落とした状態で仮想ハードディスクのサイズを変更する。
今回の例は20GBから40GBに拡張する。

2. ディスクの確認

ディスクが無事に拡張されているか確認する。

ubuntu@develop:~$ sudo fdisk -l

--- (snip) ---

Disk /dev/sda: 40 GiB, 42949672960 bytes, 83886080 sectors
Disk model: VMware Virtual S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: DDB77ECB-E832-45CE-B035-D7EB6C9D27F6

Device       Start      End  Sectors  Size Type
/dev/sda1     2048     4095     2048    1M BIOS boot
/dev/sda2     4096  1054719  1050624  513M EFI System
/dev/sda3  1054720 41940991 40886272 19.5G Linux LVM

--- (snip) ---

/dev/sdaが40GiBに拡張されおり、無事に拡張できていることがわかる。

3. パーティションテーブルの拡張

拡張したいパーティションを指定し、とりえることが可能な最大サイズまで拡大する。

ubuntu@develop:~$ sudo growpart /dev/sda 3
CHANGED: partition=3 start=1054720 old: size=40886272 end=41940992 new: size=82831327 end=83886047

growpartコマンドのパッケージ名はcloud-guest-utilsである
https://manpages.ubuntu.com/manpages/lunar/man1/growpart.1.html

4. ディスクの確認

/dev/sda3が無事に拡張されていることが確認できる。
また、拡張されことによりPVとしては余っている領域が存在するようになったことも確認できる。

ubuntu@develop:~$ lsblk -p
NAME                            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
/dev/loop0                        7:0    0     4K  1 loop /snap/bare/5
/dev/loop1                        7:1    0  74.3M  1 loop /snap/core22/1612
/dev/loop2                        7:2    0 271.2M  1 loop /snap/firefox/4848
/dev/loop3                        7:3    0 505.1M  1 loop /snap/gnome-42-2204/176
/dev/loop4                        7:4    0  91.7M  1 loop /snap/gtk-common-themes/1535
/dev/loop5                        7:5    0  12.9M  1 loop /snap/snap-store/1113
/dev/loop6                        7:6    0  38.8M  1 loop /snap/snapd/21759
/dev/loop7                        7:7    0   500K  1 loop /snap/snapd-desktop-integration/178
/dev/sda                          8:0    0    40G  0 disk 
├─/dev/sda1                       8:1    0     1M  0 part 
├─/dev/sda2                       8:2    0   513M  0 part /boot/efi
└─/dev/sda3                       8:3    0  39.5G  0 part 
  ├─/dev/mapper/vgubuntu-root   252:0    0  17.5G  0 lvm  /
  └─/dev/mapper/vgubuntu-swap_1 252:1    0     2G  0 lvm  [SWAP]
/dev/sr0                         11:0    1  1024M  0 rom

ubuntu@develop:~$ sudo pvs
  PV         VG       Fmt  Attr PSize  PFree 
  /dev/sda3  vgubuntu lvm2 a--  39.49g 20.03g

ubuntu@develop:~$ sudo pvdisplay /dev/sda3
  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               vgubuntu
  PV Size               <39.50 GiB / not usable 3.98 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              10110
  Free PE               5128
  Allocated PE          4982
  PV UUID               uC3V9L-HfWZ-vJbH-FDBd-hlvG-G7rX-l5z0CN

5. 論理ボリュームの拡張

PVの余っている領域すべてを利用するためにLVを拡張する。

拡張させるためのコマンドを発行する前は以下の通り。

ubuntu@develop:~$ sudo lvs
  LV     VG       Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   vgubuntu -wi-ao---- <17.47g
  swap_1 vgubuntu -wi-ao----   1.99g

ubuntu@develop:~$ sudo lvdisplay /dev/vgubuntu/root
  --- Logical volume ---
  LV Path                /dev/vgubuntu/root
  LV Name                root
  VG Name                vgubuntu
  LV UUID                LT8yIJ-D6kz-BAro-MQMP-nQO9-UfrD-jeZ90n
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2025-08-02 10:32:23 +0900
  LV Status              available
  # open                 1
  LV Size                <17.47 GiB
  Current LE             4472
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

拡張させるためのコマンドを発行する。

ubuntu@develop:~$ sudo lvextend -l +100%FREE /dev/vgubuntu/root
  Size of logical volume vgubuntu/root changed from <17.47 GiB (4472 extents) to 37.50 GiB (9600 extents).
  Logical volume vgubuntu/root successfully resized.

動作を検証する。

ubuntu@develop:~$ sudo lvs
  LV     VG       Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   vgubuntu -wi-ao---- 37.50g
  swap_1 vgubuntu -wi-ao----  1.99g
ubuntu@develop:~$ sudo lvdisplay /dev/vgubuntu/root
  --- Logical volume ---
  LV Path                /dev/vgubuntu/root
  LV Name                root
  VG Name                vgubuntu
  LV UUID                LT8yIJ-D6kz-BAro-MQMP-nQO9-UfrD-jeZ90n
  LV Write Access        read/write
  LV Creation host, time ubuntu, 2025-08-02 10:32:23 +0900
  LV Status              available
  # open                 1
  LV Size                37.50 GiB
  Current LE             9600
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

6. ファイルシステムの拡張

ディスクとしては拡張できたが、ファイルシステムとしては拡張されている領域すべてを認識していないため識別させる。

ubuntu@develop:~$ df -hT
Filesystem                Type   Size  Used Avail Use% Mounted on
tmpfs                     tmpfs  387M  1.9M  386M   1% /run
/dev/mapper/vgubuntu-root ext4    18G  9.2G  7.0G  57% /
tmpfs                     tmpfs  1.9G     0  1.9G   0% /dev/shm
tmpfs                     tmpfs  5.0M  4.0K  5.0M   1% /run/lock
/dev/sda2                 vfat   512M  6.1M  506M   2% /boot/efi
tmpfs                     tmpfs  387M   80K  387M   1% /run/user/128
tmpfs                     tmpfs  387M   68K  387M   1% /run/user/1000

ubuntu@develop:~$ sudo resize2fs /dev/mapper/vgubuntu-root 
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/mapper/vgubuntu-root is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 5
The filesystem on /dev/mapper/vgubuntu-root is now 9830400 (4k) blocks long.

ubuntu@develop:~$ df -hT
Filesystem                Type   Size  Used Avail Use% Mounted on
tmpfs                     tmpfs  387M  1.9M  386M   1% /run
/dev/mapper/vgubuntu-root ext4    37G  9.2G   26G  27% /
tmpfs                     tmpfs  1.9G     0  1.9G   0% /dev/shm
tmpfs                     tmpfs  5.0M  4.0K  5.0M   1% /run/lock
/dev/sda2                 vfat   512M  6.1M  506M   2% /boot/efi
tmpfs                     tmpfs  387M   80K  387M   1% /run/user/128
tmpfs                     tmpfs  387M   68K  387M   1% /run/user/1000

無事に/dev/mapper/vgubuntu-rootのサイズ拡張ができた。

参考記事

1
0
0

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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?