増設ディスクのディスク拡張後のパーティションの拡張:Linux系OSの場合
コントロールパネルより増設ディスクのディスク拡張後に、OSからパーティションを拡張させる設定の一例を説明します。お客様のご利用に応じて詳細設定を行ってください。
- 切り戻しが必要な場合に備えて、パーティションの拡張操作の前にスナップショットの取得を推奨します。
- 事前にコントロールパネルより、ディスクを拡張する必要があります。
- 2TBより大きいディスクを作成する場合にはGPTのパーティションスタイルに変更する必要があります
- 本ページでは、スタンダードイメージとして提供している Ubuntu 22.04 において、ext4でフォーマットした100GBの増設ディスクを200GBへ拡張する例として解説いたします。
- スタンダードイメージとして提供しているLinux系OSイメージにおいても、本手順を適用できます。
作業概要
手順の流れは以下の通りです。
- パーティションの形式を確認します。
- コントロールパネルよりディスクを拡張します。
- コントロールパネルよりスナップショットを取得します。
- OSにてディスクの拡張を認識させます。
- OSにてパーティションを拡張します。
- OSにてファイルシステムを拡張します。
- ファイルシステムの拡張に成功した後に、コントロールパネルよりスナップショットを削除します。
手順
現在利用しているパーティションがMBRとGPTどちらであるかを parted コマンドを使用して確認します。今回拡張対象のデバイスは /dev/sdb 、パーティション番号は 1 とします。
[root@localhost ~]# parted /dev/sdb GNU Parted 3.5 Using /dev/sdb Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p Model: VMware Virtual disk (scsi) Disk /dev/sdb: 4295GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 1 1049kB 2147GB 2147GB primary ext4
Partition Table を確認します。MBR(msdos)の場合、2TBを超えて拡張できません。
2Tを超える領域を利用するためには、追加したディスクの設定方法(マウント手順)を参考にGPTで作成し直してください。qを入力しpartedを終了します。
(parted) q
ファイルシステムを拡張する前に、現在の状態を確認します。
以下の/dev/sdb 100GB が増設ディスクに該当します。
# df -h Filesystem Size Used Avail Use% Mounted on udev 215M 0 215M 0% /dev tmpfs 49M 740K 48M 2% /run /dev/sda3 28G 1.7G 24G 7% / tmpfs 241M 0 241M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 241M 0 241M 0% /sys/fs/cgroup /dev/sda1 464M 70M 366M 17% /boot tmpfs 49M 0 49M 0% /run/user/0 /dev/sdb1 98G 61M 93G 1% /add_disk1 # こちらのファイルシステムが対象
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 30G 0 disk ├─sda1 8:1 0 487M 0 part /boot ├─sda2 8:2 0 2G 0 part [SWAP] └─sda3 8:3 0 27.6G 0 part / sdb 8:16 0 100G 0 disk └─sdb1 8:17 0 100G 0 part /add_disk1 # こちらのパーティションが対象 sr0 11:0 1 1024M 0 rom
コントロールパネルよりディスクを拡張します。
スナップショットを作成します。
ディスクのリサイズを認識させるためにOSの再起動を行います。OSの再起動を行った場合は、手順 7 へ移動します。
# reboot
OSの再起動をさせずにディスクのリサイズを認識させる場合は、以下の手順を実施します。
デバイスIDを確認するために lsscsi をインストールします。
Red Hat Enterprise Linux/CentOS 7.x以降の場合
# yum -y install lsscsi
Ubuntu 18.04以降の場合
# apt -y install lsscsi
ディスク拡張を行った増設ディスクのデバイスIDを確認します。
# lsscsi [1:0:0:0] cd/dvd NECVMWar VMware IDE CDR10 1.00 /dev/sr0 [2:0:0:0] disk VMware Virtual disk 2.0 /dev/sda [2:0:1:0] disk VMware Virtual disk 2.0 /dev/sdb # こちらのデバイスが対象
確認したデバイス ID をいれて、以下のコマンドを実行し、ディスクのリスキャンをします。
「2:0:1:0」は上記で確認したデバイスIDです。環境に合わせて変更してください。# echo 1 > /sys/class/scsi_disk/2\:0\:1\:0/device/rescan
sdbが 200 GB に認識出来たことを確認します。
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 30G 0 disk ├─sda1 8:1 0 487M 0 part /boot ├─sda2 8:2 0 2G 0 part [SWAP] └─sda3 8:3 0 27.6G 0 part / sdb 8:16 0 200G 0 disk # こちらのデバイスが対象 └─sdb1 8:17 0 100G 0 part /add_disk1 sr0 11:0 1 1024M 0 rom
パーティションを拡張するために growpart をインストールします。
Red Hat Enterprise Linux/CentOS 7.x以降の場合
# yum -y install cloud-utils-growpart
パーティションを拡張するために、以下の手順を実施します。
手順 1 で確認したデバイス名とパーティション番号を指定し、以下のコマンドにてパーティションを拡張します。
# export LANG="en_US.UTF-8" # シェルのLANGの設定により growpart が失敗する可能性があるため # growpart /dev/sdb 1 CHANGED: partition=1 start=2048 old: size=209713152 end=209715200 new: size=419428319,end=419430367
コントロールパネルよりディスクを拡張していない場合や、OSにてディスクの拡張を認識できていない場合は、以下のエラーが表示されます。
# growpart /dev/sdb 1 NOCHANGE: partition 1 could only be grown by -33 [fudge=2048]
パーティションが拡張出来ていることを確認します。
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 30G 0 disk ├─sda1 8:1 0 487M 0 part /boot ├─sda2 8:2 0 2G 0 part [SWAP] └─sda3 8:3 0 27.6G 0 part / sdb 8:16 0 200G 0 disk └─sdb1 8:17 0 200G 0 part /add_disk1 # こちらのパーティションが対象 sr0 11:0 1 1024M 0 rom
ファイルシステムを拡張するために、以下の手順を実施します。
上記で確認したデバイス名とパーティション番号を指定し、以下のコマンドにてファイルシステムを拡張します。
# resize2fs /dev/sdb1 resize2fs 1.46.5 (30-Dec-2021) Filesystem at /dev/sdb1 is mounted on /add_disk1; on-line resizing required old_desc_blocks = 13, new_desc_blocks = 25 The filesystem on /dev/sdb1 is now 52428539 (4k) blocks long.
ファイルシステムが拡張したことを確認します。
# df -h Filesystem Size Used Avail Use% Mounted on udev 215M 0 215M 0% /dev tmpfs 49M 744K 48M 2% /run /dev/sda3 28G 1.7G 24G 7% / tmpfs 241M 0 241M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 241M 0 241M 0% /sys/fs/cgroup /dev/sda1 464M 70M 366M 17% /boot tmpfs 49M 0 49M 0% /run/user/0 /dev/sdb1 197G 60M 188G 1% /add_disk1 # こちらのファイルシステムが対象
すべての操作が完了したら、スナップショットを削除して下さい。