Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Extend Block Volume on OCI Instance

2025年09月08日に「Dev.to」が公開したITニュース「Extend Block Volume on OCI Instance」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

OCIインスタンスでブートボリュームをコンソールから拡張しても、OSは新しい容量を自動で使わない。追加された領域を利用するには、パーティション、LVM物理ボリューム、ファイルシステムの手動拡張が必要で、その手順を解説している。

出典: Extend Block Volume on OCI Instance | Dev.to公開日:

ITニュース解説

Oracle Cloud Infrastructure (OCI) のインスタンスで、システムが利用できるディスクの容量を増やす手順について説明する。具体的には、起動時に使用される「ブートボリューム」と呼ばれるディスクのサイズを拡張する方法である。

通常、クラウド環境でサーバーインスタンスを作成すると、OSがインストールされるブートボリュームの容量が決められている。もしこの初期容量では不足する場合、OCIの管理画面からブートボリュームのサイズを簡単に増やすことが可能である。しかし、ここで注意が必要な点がある。OCIコンソールでボリュームのサイズを増やしても、それだけではOSがすぐに新しい領域を認識し、利用できるわけではない。これは、ディスクというハードウェアが物理的に大きくなっても、その上に構築されたOSが利用する論理的な区画(パーティションやファイルシステム)が自動的にそのサイズに合わせて広がるわけではないことを意味する。OSが新しい領域を利用するためには、ディスクの物理的な拡張だけでなく、OSが領域を管理するための論理的な構造(パーティション、論理ボリューム、ファイルシステム)も手動で拡張する必要がある。この一連の作業は、システムエンジニアを目指す上で非常に重要なスキルとなる。

まず最初のステップは、OCIコンソールを使ってブートボリュームのサイズを実際に増やすことである。これは、インスタンスの詳細画面から「ブートボリューム」を選択し、「編集」または「リサイズ」オプションで希望する新しいサイズ(例えば50GBから100GBへ)を設定する簡単な操作である。この操作によって、物理的なディスクの容量が増加する。

次に、サーバーにログインし、新しいディスクサイズがOSから認識されているかを確認する。これにはlsblkというコマンドを使用する。このコマンドは、システムに接続されているブロックデバイス(ディスクやパーティションなど)の情報をツリー形式で表示する。例えば、sdaという名前のディスクが元の50GBから100GBに増えていることが確認できるだろう。しかし、sda3のようなパーティションのサイズを見ると、ディスク全体のサイズは増えているにもかかわらず、まだ元のサイズ(例えば45.5GB)のままであることがわかるはずである。これは、ディスクという物理的な記録媒体が大きくなっても、その上に定義された論理的な区画であるパーティションのサイズが、まだ古いディスクサイズに合わせて設定されている状態を示している。

この状態を解消するため、次に「パーティション」のサイズを拡張する。パーティションとは、ディスクを論理的に分割した領域であり、OSはこのパーティション単位でディスクを利用する。パーティションを拡張するには、cloud-utils-growpartというパッケージに含まれるgrowpartユーティリティが必要になる。sudo dnf install -y cloud-utils-growpartコマンドでこのユーティリティをインストールした後、sudo growpart /dev/sda 3のようにコマンドを実行する。/dev/sdaは対象のディスク、3は拡張したいパーティションの番号(この場合はsda3)を指す。この操作により、sda3パーティションがディスク全体の新しい空き領域を使って拡張される。再度lsblkコマンドで確認すると、sda3が例えば元の45.5GBから99GB程度に増えていることがわかるだろう。

パーティションが拡張されたら、そのパーティション上で稼働しているLVM(Logical Volume Manager)の物理ボリュームを拡張する。LVMは、複数の物理的なディスクやパーティションをまとめて一つの大きな「ボリュームグループ」として扱い、その中から必要なサイズの「論理ボリューム」を柔軟に切り出して使用するための技術である。これにより、ディスクの管理が非常に柔軟になる。sudo pvresize /dev/sda3コマンドを実行することで、拡張されたsda3パーティションに対応するようにLVMの「物理ボリューム」も拡張される。sudo pvsコマンドで現在の物理ボリュームの状態を確認できる。

物理ボリュームが拡張されたら、次にLVMの「論理ボリューム」を拡張する。論理ボリュームは、ファイルシステムが直接配置される領域である。例えば、/(ルートディレクトリ)にマウントされているocivolume-rootという論理ボリュームがある場合、現在は元のサイズ(例えば35.5GB)のままである。これを、利用可能なすべての空き領域を使って拡張するためには、sudo lvextend -l +100%FREE /dev/ocivolume/rootというコマンドを実行する。このコマンドは、指定された論理ボリュームを、そのボリュームグループ内で利用可能な空き領域の100%分だけ拡張するという意味である。これにより、論理ボリュームのサイズが大幅に増加する。

最後に、拡張された論理ボリューム上で「ファイルシステム」を拡張する必要がある。ファイルシステムとは、OSがファイルを管理するための構造であり、実際にデータを保存する場所である。これまでの手順でディスク、パーティション、LVMの各層は拡張されたが、ファイルシステム自体はまだ元のサイズのままなので、この最終ステップで新しい領域を使えるようにする。使用しているファイルシステムの種類によってコマンドが異なる。もしXFSファイルシステム(Oracle Linux 8などで標準)を使用している場合は、sudo xfs_growfs /コマンドを実行する。一方、ext4ファイルシステムを使用している場合は、sudo resize2fs /dev/ocivolume/rootコマンドを実行する。これらのコマンドは、ファイルシステムが新しい論理ボリュームのサイズに合わせて拡張され、利用可能な領域が増えるようにする。

最終的な確認として、df -hコマンドを実行する。このコマンドは、各ファイルシステムのマウントポイントと、ディスクの使用状況、利用可能な容量などを人間が読みやすい形式で表示する。この結果を見ると、/(ルートディレクトリ)にマウントされている領域のサイズが、最初に設定した新しいブートボリュームのサイズ(例えば90GB近く)にまで拡張されていることが確認できるだろう。これにより、OSが新しいディスク領域を完全に利用できるようになったことがわかる。

この一連の作業は、クラウド環境だけでなくオンプレミス環境のサーバーでも共通して行われるディスク管理の基本である。各層(ディスク、パーティション、LVM、ファイルシステム)がどのような役割を果たし、それぞれがどのように連携してディスク領域を管理しているかを理解することは、システムエンジニアとして非常に重要である。

関連コンテンツ