【OCI_05】ブロック・ボリュームをインスタンスにアタッチする

今回の作業は、管理者ユーザー(ocitestadm01)でフルアクセス権限のあるtest_compartmentコンパートメントに対して実施していきます。
OCIのチュートリアルを参照し、ブロック・ボリュームをインスタンスにアタッチして、マウントするところまで検証してみます。
Oracle Cloud Infrastructure チュートリアル / OCI入門編
https://oracle-japan.github.io/ocitutorials/beginners/
VCN関連やインスタンスは、以下の記事を参考に作成しています。
目次
ブロック・ボリュームの作成
OCIコンソールの左上のハンバーガーメニューを展開し、「ストレージ」を選択、「ブロック・ストレージ」の「ブロック・ボリューム」を選択します。

ブロック・ボリューム画面で「ブロック・ボリュームの作成」をクリックします。

ブロック・ボリュームの作成で以下を入力、選択します。
名前:任意名
コンパートメント:権限のあるコンパートメント
可用性ドメイン:デフォルトのまま

ボリューム・サイズとパフォーマンスは、デフォルトの「50GB」にします。これ以上小さくできないようです。

予約画面で以下を入力、選択し、右下の「ブロック・ボリュームの作成」をクリックします。
予約の有効化:オフ
バックアップ・ポリシー:デフォルトのまま空欄
クロスAD/リージョン・レプリケーションの有効化:オフのまま
ボリュームの暗号化:Oracle管理キーを使用した暗号化
タグ付けオプションの表示:デフォルトのままチェックあり

「プロビジョニング中」となっているので「使用可能」となるまで待ちます。

「使用可能」になりました。

ボリュームのインスタンスへのアタッチ
事前に作成した仮想マシンのコンピュート・インスタンスに、作成したブロック・ボリュームをアタッチします。
コンピュート・インスタンス画面、ブロック・ボリューム画面のどちらからでもアタッチできるそうです。
今回はチュートリアルに従い、ブロック・ボリュームの画面からアタッチします。
OCIコンソールの左上のハンバーガーメニューを展開し、「ストレージ」を選択、「ブロック・ストレージ」の「ブロック・ボリューム」を選択します。
作成したブロック・ボリュームをクリック、「アタッチされたインスタンス」タブを選択し、「インスタンスにアタッチ」をクリックします。

インスタンスにアタッチ画面で以下を入力、選択し、「アタッチ」をクリックします。
アタッチメント・タイプ:準仮想化(仮想マシン・インスタンスからのアタッチであれば準仮想化推奨)
アクセス・タイプ:読取り/書込み
インスタンス:インスタンスの選択
インスタンスを選択:権限のあるコンパートメント
ブロック・ボリュームをアタッチするインスタンス

アタッチされたインスタンス画面を更新すると作成したブロック・ボリュームがコンピュート・インスタンスに「アタッチ済」で表示されていました。

ボリュームのフォーマットおよびマウント
SSHでインスタンスへログインして設定します。
パーティション作成
lsblk コマンドでデバイスの確認を行います。私の環境では /dev/sdb が追加したブロック・ボリュームとなります。
lsblk

新しいボリュームにパーティションを切ります。
parted /dev/sdb

/dev/sdb1 が作成されました。
lsblk

ファイルシステム作成
OCI の Linux では通常 xfs または ext4 を利用するそうです。
mkfs.xfs /dev/sdb1

マウントポイントを作成してマウント
マウントポイントを作成してマウントします。
mkdir -p /mnt/vol1
mount /dev/sdb1 /mnt/vol1

マウントできました。

ファイルも作成できました。

自動マウント設定
OS再起動してもマウントされるように /etc/fstab ファイルを編集します。
lsblk コマンドでsdb1のUUIDを確認します。
lsblk -o +UUID

OS再起動してもマウントされるように /etc/fstab ファイルへ以下の内容を追記します。
UUID=<確認したUUID> /mnt/vol1 xfs defaults,_netdev,nofail 0 2
OS再起動後も /mnt/vol1 がマウントされていることが確認できました。
まとめ
今回は、OCIのチュートリアルを参照し、ブロック・ボリュームをインスタンスにアタッチして、マウントするところまで検証してみました。
以下、他の記事をまとめた一覧です。OCI以外にAWSもまとめています。