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?

More than 1 year has passed since last update.

Photon OS のディスクパーティションを拡張する

Last updated at Posted at 2023-01-20

Photon OS は、クラウド環境に最適化された非常に軽量でミニマリストな Linux OS です。

簡単ですが、こちらの記事の冒頭で、Photon OS について紹介をしてます。

非常にシンプルな OS ですが、vSphere 環境であれば、非常に簡単にデプロイできる Linux OS なので、「ちょっと Docker の使える環境が欲しい」や「kubectl が叩ける Linux が欲しい」という時に、重宝します。

今回は、そんな Photon OS で、「あ、しまった... 最初にデプロイした時よりも、ディスク容量が必要になっちゃった」という時に、Photon OS の停止を伴わず、オンラインでサクッとディスクパーティションを拡張する方法をご紹介します。

前提

執筆時点で、Photon OS は ver 4.0 を利用しています。

# cat /etc/photon-release
VMware Photon OS 4.0
PHOTON_BUILD_NUMBER=2f5aad892

手順

まずは、vCenter などの UI から、仮想マシンとしてのディスクサイズを増やします。
この例では、16GB から 100GB に変更しました。

Screenshot 2023-01-20 at 14.52.52.png

仮想ディスクのサイズが増やせたら、次は、Photon OS にログインし、下記のコマンドを実行します。
このコマンドにより、OS 再起動無しで、ディスクサイズの変更を検知させることができます。

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

では、Linux において、パーティションサイズの変更と言ったらお馴染みの parted をインストールします。

tdnf install -y parted

実際に、パーティションの変更を行う前に、まずは、今のファイルシステムの状況を確認しておきましょう。

# df -kh
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        16G  3.9G   11G  27% /  <-- ここ
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           1.6G  608K  1.6G   1% /run
tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs           3.9G   11M  3.9G   1% /tmp
/dev/sda3        10M  2.0M  8.1M  20% /boot/efi
tmpfs           798M     0  798M   0% /run/user/0

この時点では、まだルートファイルシステムの容量は 16GB のままです。

それでは、実際に、parted を対話的に実行し、パーティションを拡張していきます。

# parted /dev/sda
GNU Parted 3.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)

まずは、現在のパーティションレイアウトを表示させるために print コマンドを実行します。

(parted) print
print
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 176160768 blocks) or continue with
the current setting?
Fix/Ignore?

すると、警告として、今のディスク状態と一致していないため、パーティションテーブル (GPT) を修正するかを聞かれるので、f を入力し、修正します。

Fix/Ignore? f
f
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  5243kB  4194kB                     bios_grub
 3      5243kB  15.7MB  10.5MB  fat16              boot, esp
 2      15.7MB  17.2GB  17.2GB  ext4

(parted)

すると、先ほど増やした通り、/dev/sda が、(約)100GB に増えています。
後ほど、この 107GB という数字の部分は使うので、クリップボードにコピー等をして、控えておいてください。

次に、注目すべき点として、ターゲットとなる ext4 のファイルシステムが、この例では Number 2 として表示されていることに着目してください。
このファイルシステムをリサイズするので、下記のようなコマンドを実行します。

(parted) resizepart 2 100%
resizepart 2 100%
Warning: Partition /dev/sda2 is being used. Are you sure you want to continue?
Yes/No?

今使っているパーティションである旨の確認がありますので、y を入力して続行し、その後、先ほど控えておいたディスク容量、この例では 107GB を終端として、入力します。

Yes/No? y
y
End?  [17.2GB]? 107GB
107GB
(parted)

これでパーティションとしてのリサイズは完了しましたので、もう一度 print コマンドで結果を確認してみます。

(parted) print
print
Model: VMware Virtual disk (scsi)
Disk /dev/sda: 107GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name  Flags
 1      1049kB  5243kB  4194kB                     bios_grub
 3      5243kB  15.7MB  10.5MB  fat16              boot, esp
 2      15.7MB  107GB   107GB   ext4

(parted)

ターゲットとなる ext4 のファイルシステムが、107GB まで拡張できていることが確認できましたので、quit コマンドで、parted を終了します。

(parted) quit
quit
Information: You may need to update /etc/fstab.

ここまでで、パーティションとしては、リサイズされていますが、まだファイルシステム (ext4) としては、変更が反映されていないので、df コマンドでは、最初のままです。

# df -kh
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        16G  3.9G   11G  27% /  <-- ここ
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           1.6G  608K  1.6G   1% /run
tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs           3.9G   11M  3.9G   1% /tmp
/dev/sda3        10M  2.0M  8.1M  20% /boot/efi
tmpfs           798M     0  798M   0% /run/user/0

先ほど、parted コマンドで確認したところ、/dev/sda は 3つのパーティションを持っており、Number 2 のパーションを拡張しました。
なので、ここでは /dev/sda2 をターゲットに、ファイルシステムのリサイズコマンドを実行します。

# resize2fs /dev/sda2
resize2fs 1.46.5 (30-Dec-2021)
Filesystem at /dev/sda2 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 13
The filesystem on /dev/sda2 is now 26119207 (4k) blocks long.

ここまで来れば、df コマンドでパーティションの拡張を確認でき、作業完了です。

# df -kh
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        98G  3.9G   90G   5% /  <-- ここ
devtmpfs        3.9G     0  3.9G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           1.6G  608K  1.6G   1% /run
tmpfs           4.0M     0  4.0M   0% /sys/fs/cgroup
tmpfs           3.9G   11M  3.9G   1% /tmp
/dev/sda3        10M  2.0M  8.1M  20% /boot/efi
tmpfs           798M     0  798M   0% /run/user/0

参考

Photon OS の公式ドキュメントとしては、下記のページを参照ください。

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?