こんにちは。t.mizukamiです。
今回は、インスタンス構築時にブートボリュームでつい忘れてしまうあることについてご紹介していこうと思います。
ブートボリュームとは?
ブートボリュームは、仮想マシン(VM)やベアメタルインスタンスのOSがインストールされている起動ディスクのことです。
LinuxやWindowsなどのOSイメージがインストールされており、インスタンスが起動時にこのディスクからOSを読み込みます。インスタンスから独立して存在するため、インスタンスを削除してもブートボリュームを保持可能となります。
今回は、実際にインスタンスをプロビジョニングしブートボリュームの忘れてしまいがちなことについて見ていきます。
インスタンスをプロビジョニングしてみた
まずはじめにインスタンスをプロビジョニングする際、以下のようなカスタム・ブート・ボリュームサイズを指定していきます。
SSHで対象のサーバへログインし、ディスク容量の状態を確認していきます。
結果を確認するとOS側が46.6GBしか認識していないことがわかります。
Oracleの公式ドキュメントを確認すると以下のような記載があります。
・LinuxおよびWindowsイメージの場合、カスタム・ブート・ボリュームのサイズは、イメージのデフォルト・ブート・ボリュームのサイズまたは50GBのどちらか大きい方よりも、サイズを大きくする必要があります。
・カスタム・ブート・ボリューム・サイズを指定する場合、より大きいサイズを使用できるようにボリュームを拡張する必要があります。
ステップについては、ブート・ボリュームのパーティションの拡張を参照してください。
公開鍵の中身を以下コマンドで確認し、OCIコンソール上にてAPIキーの登録を行います。
そのため、今回のケースでは100GBのディスク容量があるため、OSの領域を拡張する必要があります。
コンソールからブートボリュームを拡張する際は以下のようなコマンドが出てきたりしますが
インスタンス時にカスタムで指定する時は注意が必要です。
それでは実際に拡張をしていきます。
Oracle Linuxでは実際にインストールするOSのバージョンによって拡張コマンドが異なります。
以下のような傾向がありますが、実際にはlsblkコマンドを打ってディスク領域がどうなっているか確認する必要があります。
主にLVM構成かどうかで実行するコマンドが異なります。
イメージごとのボリューム比較構成
バージョン | デフォルト構成 | 備考 |
---|---|---|
Oracle Linux7 |
LVMではない(通常はxfsで直接 / にマウント) |
パーティション直マウントが多い(/dev/sda3が直接 /) |
Oracle Linux8 |
LVM構成が増えてくるが、必ずではない |
ISOやイメージによって差あり |
Oracle Linux9 |
ほぼLVM構成(ocivolume-rootなど) |
OCI公式イメージではLVMが標準化されている |
以下はOracleLinux9.5で実際に拡張した画面とコマンド例です。
ディスク容量を再度確認するとroot領域が拡張されていることが確認できます。
1.パーティションを拡張 growpart /dev/sda 3 2.新しいパーティションをLVM物理ボリューム(PV)として認識させる pvcreate /dev/sda3 3.論理ボリューム(LV)を拡張する lvextend -l +100%FREE /dev/mapper/ocivolume-root 4.ファイルシステムを拡張 xfs_growfs / 5.拡張後のディスク容量確認 df -h
拡張が発生する状況は?
インスタンス構築時にも拡張をする状況がありますが、
以下のような状況でもディスク容量の拡張をする必要があります。
①バックアップからインスタンスを構築する際にブートボリュームサイズを大きくする
②カスタムイメージを使用する際にブートボリュームサイズを大きくする
おまけ
今回はLinuxの拡張手順を説明してきましたが、Windowsの拡張手順も合わせて紹介していきます。
OCIコンソールよりディスクを拡張後、サーバにログインします。
ディスクの管理を開き、拡張したいボリュームを選択し、右クリックを押します。
ボリュームの拡張を選択し、拡張するディスクサイズを入力します。
上記完了後にディスクが拡張されているのが確認できます。
さいごに
今回は、ブートボリュームで忘れがちなディスク拡張についてご紹介しましたが、いかがでしたでしょうか。
ブートボリュームサイズを拡張してインスタンスを構築するケースはよくあるケースではございますので、
拡張する際の参考にしていただけると幸いです。
以上、最後までご覧いただきありがとうございました。