サイトアイコン IT NEWS

ESXiにおけるUbuntuのディスク拡張の手順を詳しく解説

ESXiは、仮想化技術を利用した仮想マシンを作成し、複数のオペレーティングシステムを同時に実行することができる素晴らしい技術です。
しかし、ディスク仮想ディスクになるため、物理的にディスクを抜き差しして拡張するわけではないので、拡張するには少しコツが必要になります。
そこで今回は、Ubuntuは、Linuxのディストリビューションであり、ESXi上に構築されたUbuntu仮想マシンディスク拡張の手順を解説します。

ESXiでのUbuntuのディスク拡張とは

ESXi上に構築されたUbuntu仮想マシンディスク容量を拡張することは、仮想マシンに必要なストレージ領域を増やすことを意味します。
ディスク容量が不足している場合は、アプリケーションをインストールすることができないため、データの保存やバックアップを行うこともできません。
そのため、ディスク容量を拡張することは、仮想マシンパフォーマンスと安定性を向上させる重要な作業です。

拡張手順の前提条件

Ubuntu仮想マシンが正常に稼働している必要があります。
また、拡張するディスクUbuntu仮想マシンに割り当てられている必要があります。
ディスクが割り当てられていない場合は、ESXiの仮想マシン設定でディスクを割り当てる必要があります。
拡張するディスクのサイズを決定し、ESXiサーバにログインしていることも前提条件です。

前提条件
  • Ubuntu 仮想マシンが正常に稼働していること
  • 拡張するディスクがUbuntu仮想マシンに割り当てられていること
  • ESXiサーバにログインしていること

Ubuntuの仮想ディスク拡張の詳細手順

ESXiのUbuntu仮想ディスク拡張手順

ディスク拡張の手順の流れは以下の通りです。

  • ディスク構成を事前に確認する
  • ESXi Host Clientで仮想マシンのディスク容量を変更する
  • ディスクのパーティションを拡張する(物理)
  • 論理ディスク(LVM)を拡張する
  • 拡張後のディスク構成を確認する

ディスク容量と構成を確認する

まずは、df -hコマンドで現在のディスク容量を確認してみましょう。

# df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              795M  1.3M  794M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   62G   20G   40G  34% /
tmpfs                              3.9G     0  3.9G   0% /dev/shm
tmpfs                              5.0M   12K  5.0M   1% /run/lock
/dev/sda2                          974M  253M  654M  28% /boot
192.168.100.111:/mnt/nas           1.9T 1020G  844G  55% /mnt/nas
tmpfs                              795M  8.0K  795M   1% /run/user/100

上記の結果から、/dev/mapper/ubuntu--vg-ubuntu--lvを拡張していきます。

次にparted -lコマンドで、物理や論理的に割り当てたディスク構成も確認します。

# parted -l
モデル: VMware Virtual disk (scsi)
ディスク /dev/sda: 68.7GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始    終了    サイズ  ファイルシステム  名前  フラグ
 1    1049kB  2097kB  1049kB                          bios_grub
 2    2097kB  1076MB  1074MB  ext4
 3    1076MB  68.7GB  67.6GB


モデル: Linux device-mapper (linear) (dm)
ディスク /dev/mapper/ubuntu--vg-ubuntu--lv: 67.6GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: loop
ディスクフラグ: 

番号  開始   終了    サイズ  ファイルシステム  フラグ
 1    0.00B  67.6GB  67.6GB  ext4

ESXi Host Clientで仮想マシンのディスクを変更

引用・出典:VMWare ESXiでUbuntuのファイルシステムサイズをオンライン拡張する – Qiita

次は、以下のようにESXiから拡張したいUbuntu仮想マシンディスクの容量を増やします。

  1. ESXiサーバにログインし、仮想マシンを停止する
  2. 仮想マシンの設定を開き、「ハードウェア」>「仮想ディスク」を選択する
  3. ディスクを選択し、「拡張」をクリックする
  4. 拡張対象のディスク容量を入力し、「OK」をクリックする
  5. 仮想マシンを起動する

拡張設定の反映とパーティションの変更

以下のコマンドで、拡張したディスクの設定を反映させます。

# echo 1 > /sys/class/block/sda/device/rescan

次に、今回拡張する/dev/sdaで、パーティション編集モードになります。

# parted /dev/sda
GNU Parted 3.4
/dev/sda を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted)

上記のように(parted)が表示されたら、print freeと入力してパーティション情報を確認します。
ディスク構成が変わっているので、警告(Warning)が出てFixIgnoreか聞かれたらFixと入力してください。

(parted) print free
Warning: Not all of the space available to /dev/sda appears to be used, you can fix the GPT to use all of the space (an extra 13841203 blocks) or continue with the current setting? 
Fix/Ignore? Fix
モデル: VMware Virtual disk (scsi)
ディスク /dev/sda: 81.9GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始    終了    サイズ  ファイルシステム  名前  フラグ
      17.4kB  1049kB  1031kB  空き容量
 1    1049kB  2097kB  1049kB                          bios_grub
 2    2097kB  1076MB  1074MB  ext4
 3    1076MB  68.7GB  67.6GB
      68.7GB  81.9GB  13.2GB  空き容量

それでは、resizepartコマンドと拡張前のディスク容量の番号(3番)を使って、パーティションをリサイズします。
この時、拡張前のディスク容量から、どこまで拡張するか聞かれるので、全て割り当てます。

(parted) resizepart 3
End?  [68.7GB]? 81.9GB

正しく適用されたか確認するには、もう一度print freeと入力してください。
終わったらqを入力してパーティション編集モードを終了します。
pvdisplayコマンドでも確認できます

論理ディスク(LVM)の拡張設定

上記の手順ではパーティション拡張しましたが、論理ディスク(LVM)の拡張はまだ完了していません。
df -hparted -l コマンドで確認すると、/dev/mapper/ubuntu--vg-ubuntu--lv のディスク容量は変わっていないことが確認できます。

また、lsblklvdisplay コマンドでもsda3ubuntu--vg-ubuntu--lvディスク容量が異なるのを確認できます。

# lvdisplay
  --- Logical volume ---
  LV Path                /dev/ubuntu-vg/ubuntu-lv
  LV Name                ubuntu-lv
  VG Name                ubuntu-vg
  LV UUID                uVdf9T-5LXq-VtBp-wL3a-ZQVw-MBrS-lPZ0Lb
  LV Write Access        read/write
  LV Creation host, time ubuntu-server, 2021-06-30 22:04:12 +0900
  LV Status              available
  # open                 1
  LV Size                <62.98 GiB
  Current LE             16122
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

それでは、lvextend コマンドで論理ディスク領域を拡張していきます。
ディスク空き容量のすべて100%)を/dev/mapper/ubuntu--vg-ubuntu--lvに割り当てます。

# lvextend --resizefs -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv
  Size of logical volume ubuntu-vg/ubuntu-lv changed from <64.00 GiB (3839 extents) to <80.00 GiB (4863 extents).
  Logical volume ubuntu-vg/ubuntu-lv successfully resized.
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 3
The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 4979712 (4k) blocks long.

以上で、Ubuntu仮想マシンディスク拡張は完了です!

拡張後の動作確認方法

Ubuntu仮想マシンにログインし、最初に確認したdf -hコマンドを実行します。

# df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              795M  1.3M  794M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv   80G   20G   60G  25% /
tmpfs                              3.9G     0  3.9G   0% /dev/shm
tmpfs                              5.0M   12K  5.0M   1% /run/lock
/dev/sda2                          974M  253M  654M  28% /boot
192.168.100.111:/mnt/nas           1.9T 1020G  844G  55% /mnt/nas
tmpfs                              795M  8.0K  795M   1% /run/user/1000

拡張したディスクの容量が、表示された結果に反映されているか確認します。

以上、Ubuntu仮想マシンディスク拡張手順を解説しました。
必要な際にはぜひ参考にしてください。
また、CentOSの場合はこちらを参考にしてください。

著:中島 能和
¥4,180 (2023/04/25 21:46時点 | Amazon調べ)

モバイルバージョンを終了