3
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 1 year has passed since last update.

Ubuntu22.04でLVMを使用してHDD容量を拡張する方法

Last updated at Posted at 2023-02-28

はじめに

本記事では、Ubuntu 22.04でLVM(論理ボリュームマネージャー)を使用して論理ボリュームを拡張する方法について紹介します。Gitlabサーバーを例に説明しますが、同様の手順で他のサーバーでも実行可能です。手順はESXi上で実行されます。

使用環境説明

対象サーバ:Ubuntu 22.04
ホスト:ESXi 6.7
HDD容量:32GB → 64GB
RAM:4GB
vCPU:4

前提条件

  • ESXi6.7がインストールされていること。
  • Ubuntu22.04がESXi6.7上で動作していること。
  • 論理ボリュームを拡張するために、ホスト側でHDD容量の追加が必要であること。
  • ログインしているユーザがsudo権限を持っていること。

手順

  1. 対象の仮想マシンをシャットダウンします。

  2. ESXiの管理画面から、対象となるUbuntu22.04の仮想マシンを選択し、編集を押して設定画面を開きます。
    image.png

  3. 仮想マシンのHDD容量を32GBから64GBに変更します。
    image.png

  4. 仮想マシンを起動します。

  5. ターミナルを開き、以下のコマンドを実行します。
    sudo fdisk -l
    このコマンドで、変更したHDDのデバイス名を確認します。

    gitlab101v:~$ fdisk -l
    
    ~中略~
    
    Disk /dev/sda: 64 GiB, 68719476736 bytes, 134217728 sectors ←64GiBに拡張されている
    Disk model: Virtual disk    
    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: 695CD222-C5C1-41E7-A21A-A13913F01B90
    
    Device       Start      End  Sectors Size Type
    /dev/sda1     2048     4095     2048   1M BIOS boot
    /dev/sda2     4096  4198399  4194304   2G Linux filesystem
    /dev/sda3  4198400 67106815 62908416  30G Linux filesystem ←パーティションナンバーが3まであることを確認
    
    
    Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 15 GiB, 16101933056 bytes, 31449088 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
    
  6. デバイス名を確認したら、以下のコマンドを実行して拡張したディスク領域を新しいパーティションとして作成します。

    sudo fdisk /dev/sda
    

    パーティション作成方法

    1. 「n」キーを押して新しいパーティションを作成します。
    2. パーティションナンバーを指定します。(デフォルトでもOK)
      今回はナンバーが3まで使われているので4から指定。
    3. 新しいパーティションのサイズ(最初のセクターと最後のセクター)を指定します。(デフォルトでもOK)
    4. 「w」キーを押して変更を保存します。

    下記は実行例です。

    # sudo fdisk /dev/sda
    
    Welcome to fdisk (util-linux 2.37.2).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    GPT PMBR size mismatch (67108863 != 134217727) will be corrected by write.
    The backup GPT table is not on the end of the device. This problem will be corrected by write.
    This disk is currently in use - repartitioning is probably a bad idea.
    It's recommended to umount all file systems, and swapoff all swap
    partitions on this disk.
    
    
    Command (m for help): n
    Partition number (4-128, default 4): 4
    First sector (67106816-134217694, default 67106816): 
    Last sector, +/-sectors or +/-size{K,M,G,T,P} (67106816-134217694, default 134217694): 
    
    Created a new partition 4 of type 'Linux filesystem' and of size 32 GiB.
    
    Command (m for help): w
    The partition table has been altered.
    Syncing disks.
    
  7. 新しいパーティションをフォーマットして、Ubuntuサーバーで使用できるようにします。以下のコマンドを実行してください。

    sudo mkfs.ext4 /dev/sdaX
    

    ※/dev/sdaXは、実際のデバイス名に読み替えてください。

    下記は実行例

    $ sudo mkfs.ext4 /dev/sda4
    mke2fs 1.46.5 (30-Dec-2021)
    Creating filesystem with 8388608 4k blocks and 2101248 inodes
    Filesystem UUID: d8e9f523-3e10-4fe5-926c-bc3de809372f
    Superblock backups stored on blocks: 
    	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    	4096000, 7962624
    
    Allocating group tables:   0/256       done                            
    Writing inode tables:   0/256       done                            
    Creating journal (65536 blocks): 
    done
    Writing superblocks and filesystem accounting information:   0/256       done
    
    
  8. 再度以下のコマンドを実行して、パーティションが作成されているか確認します。
    sudo fdisk -l

    下記は実行例

    $ sudo fdisk -l
    
    ~中略~
    
    Disk /dev/sda: 64 GiB, 68719476736 bytes, 134217728 sectors
    Disk model: Virtual disk    
    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: 695CD222-C5C1-41E7-A21A-A13913F01B90
    
    Device        Start       End  Sectors Size Type
    /dev/sda1      2048      4095     2048   1M BIOS boot
    /dev/sda2      4096   4198399  4194304   2G Linux filesystem
    /dev/sda3   4198400  67106815 62908416  30G Linux filesystem
    /dev/sda4  67106816 134217694 67110879  32G Linux filesystem ←新しいパーティションが作成されていることを確認
    
    
    Disk /dev/mapper/ubuntu--vg-ubuntu--lv: 15 GiB, 16101933056 bytes, 31449088 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
    
  9. 以下コマンドを実行して、既存のボリュームグループを確認します。
    df -h --total

    下記は実行例

    $ df -h --total
    Filesystem                         Size  Used Avail Use% Mounted on
    tmpfs                              393M  1.3M  392M   1% /run
    /dev/mapper/ubuntu--vg-ubuntu--lv   15G   15G     0 100% /
    tmpfs                              2.0G     0  2.0G   0% /dev/shm
    tmpfs                              5.0M     0  5.0M   0% /run/lock
    /dev/sda2                          2.0G  247M  1.6G  14% /boot
    tmpfs                              393M  4.0K  393M   1% /run/user/1000
    total                               20G   15G  4.3G  78% -
    
  10. /dev/sdaX を物理ボリュームとして LVM に追加します。以下のコマンドを実行してください。
    sudo pvcreate /dev/sdaX
    ※/dev/sdaXは、実際のデバイス名に読み替えてください。

    下記は実行例です。

    $ sudo pvcreate /dev/sda4
    WARNING: ext4 signature detected on /dev/sda4 at offset 1080. Wipe it? [y/n]: y
      Wiping ext4 signature on /dev/sda4.
      Physical volume "/dev/sda4" successfully created.
    
  11. ボリュームグループ(論理ボリュームをまとめたグループ)に追加します。以下のコマンドを実行してください。
    ※ubuntu-vgはデフォルトのボリュームグループ名です。もし別の名前を使っている場合は、適宜読み替えてください。*

    sudo vgextend ubuntu-vg /dev/sdaX

    下記は実行例です。

    $ sudo vgextend ubuntu-vg /dev/sdaX
      Volume group "ubuntu-vg" successfully extended
    
  12. 論理ボリュームを拡張します。以下のコマンドを実行してください。
    sudo lvextend -r -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

    下記は実行例です。

    $ sudo lvextend -r -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
    	  Size of logical volume ubuntu-vg/ubuntu-lv changed from <15.00 GiB (3839 extents) to 61.99 GiB (15870 extents).
      Logical volume ubuntu-vg/ubuntu-lv successfully resized.
    resize2fs 1.46.5 (30-Dec-2021)
    Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
    old_desc_blocks = 2, new_desc_blocks = 8
    The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 16250880 (4k) blocks long.
    

    ※/dev/mapper/ubuntu--vg-ubuntu--lvは利用環境によって適宜読み替えてください。

  13. 以下コマンドを実行して、ボリュームグループを確認します。
    df -h --total

    下記は実行例です。

    ※ボリューム拡張前
    
    $ df -h --total
    Filesystem                         Size  Used Avail Use% Mounted on
    tmpfs                              393M  1.3M  392M   1% /run
    + /dev/mapper/ubuntu--vg-ubuntu--lv   61G   15G   44G  26% /
    tmpfs                              2.0G   28K  2.0G   1% /dev/shm
    tmpfs                              5.0M     0  5.0M   0% /run/lock
    /dev/sda2                          2.0G  247M  1.6G  14% /boot
    tmpfs                              393M  4.0K  393M   1% /run/user/1000
    total                               66G   15G   48G  24% -
    
    ************************************************************************
    ※ボリューム拡張後
    
    $ df -h --total
    Filesystem                         Size  Used Avail Use% Mounted on
    tmpfs                              393M  1.3M  392M   1% /run
    - /dev/mapper/ubuntu--vg-ubuntu--lv   15G   15G     0 100% /
    tmpfs                              2.0G     0  2.0G   0% /dev/shm
    tmpfs                              5.0M     0  5.0M   0% /run/lock
    /dev/sda2                          2.0G  247M  1.6G  14% /boot
    tmpfs                              393M  4.0K  393M   1% /run/user/1000
    total                               20G   15G  4.3G  78% -
    
3
2
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
3
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?