【IBM Cloud】File Storage for VPCの始め方　②

## はじめに
IBM Cloud File Storage for VPCが日本でGAされたことをきっかけに、[こちら](https://qiita.com/Sungyun_Moon/items/a31d71fc09d4d10a7385)にオーダーの流れを作成しました。
今回はオーダー後にサーバーからマウントする流れを整理したいと思います。
今回の内容にはIBM Cloudの[アカウント](https://cloud.ibm.com/docs/account?topic=account-accounts)（無料利用可能）とVPC環境の準備が前提となっています。

## サーバーからのマウントの流れ
file storage for VPCはLinuxOS環境やz/OS環境からマウントすることができます。今回はその中でLinuxOSのCentOSからマウントする流れを整理しています。他のOSからのマウントも大体の流れは同じですので、必要に応じて別のOSも試してみてください。
・[RedHat Linux](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-vpc-mount-RHEL)
・[CentOS](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-mount-centos)
・[Ubuntu](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-vpc-mount-ubuntu)
・[z/OS](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-vpc-mount-zos)

#### 仮想サーバーインスタンス（VSI）の作成
まずはマウントする仮想サーバーをオーダーします。IBM Cloudコンソールの`ナビゲーション・メニュー`→`VPCインフラストラクチャー`→`仮想サーバー・インスタンス`をクリックします。そして、右上の`作成`ボタンをクリックします。
![スクリーンショット 2023-10-06 15.26.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/ba526e39-0e3c-cd83-519e-516203cf272b.png)
![スクリーンショット 2023-10-06 15.27.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/34e3d19c-93a7-5fb2-e2ed-c1de8e2a1014.png)

インスタンスが作成されたら、Floating IPを予約します。`ナビゲーション・メニュー`→`VPCインフラストラクチャー`→`Floating IP（浮動IP）`をクリックします。そして`予約`ボタンをクリックし、必要項目を入力の上、先ほど作成した仮想サーバー・インスタンスを探して設定します。設定が完了したら`予約`をクリックします。

＊この画面では実際のオーダーインスタンスと画像のインスタンス名が異なっています。

![スクリーンショット 2023-10-06 15.29.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/911348b8-54a4-c5a1-d588-08df3190f5fa.png)
![スクリーンショット 2023-10-06 15.29.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/3735d04e-93f2-3bd3-a504-0da188e77b09.png)
![スクリーンショット 2023-10-06 16.13.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/ca61a1e4-197c-1275-90b5-7d55d574e32c.png)



最後に仮想インスタンスに戻ると、Floating IPに新しいIPアドレスが設定されていることがわかります。
![スクリーンショット 2023-10-06 15.30.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/9d9b1917-22af-bd8c-e656-d3e6d7db393b.png)


#### ターミナルでの操作
仮想サーバーインスタンスのオーダー、設定が完了したらターミナルを開き、IBM Cloudにログインしてリージョンを東京に合わせます。

その後先ほど作成したインスタンスにSSH keyを使ってアクセスします。
```shell:VSIにアクセス
ssh root@<floating IP>
```

VSIにアクセスしたら、以下のコマンドを入力し必要なツールをインストールします。
```shell:ツールインストール
yum install nfs-utils
```
```shell:結果
[root@moon-test-file2 ~]# yum install nfs-utils
Loaded plugins: fastestmirror
Determining fastest mirrors
base                                                                                                                                                                                                                   | 3.6 kB  00:00:00     
extras                                                                                                                                                                                                                 | 2.9 kB  00:00:00     
updates                                                                                                                                                                                                                | 2.9 kB  00:00:00     
updates/7/x86_64/primary_db                                                                                                                                                                                            |  23 MB  00:00:00     
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils.x86_64 1:1.3.0-0.68.el7.2 will be installed
--> Processing Dependency: libtirpc >= 0.2.4-0.7 for package: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
--> Processing Dependency: gssproxy >= 0.7.0-3 for package: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
--> Processing Dependency: rpcbind for package: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
--> Processing Dependency: quota for package: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
--> Processing Dependency: libnfsidmap for package: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
--> Processing Dependency: libevent for package: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
--> Processing Dependency: keyutils for package: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
--> Processing Dependency: libtirpc.so.1()(64bit) for package: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
--> Processing Dependency: libnfsidmap.so.0()(64bit) for package: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
--> Processing Dependency: libevent-2.0.so.5()(64bit) for package: 1:nfs-utils-1.3.0-0.68.el7.2.x86_64
・
・
・
・
Complete!
```

ツールのインストールが完了したら、インスタンスディレクトリーを作成します。
```shell:ディレクトリー作成
mkdir /mnt/test
```
次のアクションのため、マウント・パスを確認します。マウント・パスは作成したマウント・ターゲットで確認できます。
![スクリーンショット 2023-10-06 15.58.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2626032/8df5b426-1e04-1295-ef38-7487bfcfad75.png)

その後、リモート・ファイル共有をマウントします。
`options`は`sec=sys`に置き換え、`host:/mount_target`は先ほど取得した`マウント・パス`に置き換えます。
```shell:リモート・ファイル共有のマウント
mount -t nfs4 -o <options> <host:/mount_target> /mnt
```

作業が終わりましたら、ディスク・ファイル・システムのコマンドを使用して、マウントが成功したことを確認します。
```shell:ディスクファイルシステムの確認
df -h
```
```shell:結果
[root@moon-test-file2 ~]# df -h
ファイルシス                サイズ  使用  残り 使用% マウント位置
devtmpfs                      3.9G     0  3.9G    0% /dev
tmpfs                         3.9G     0  3.9G    0% /dev/shm
tmpfs                         3.9G  8.5M  3.9G    1% /run
tmpfs                         3.9G     0  3.9G    0% /sys/fs/cgroup
/dev/mapper/vg_virt-lv_root    98G  1.4G   97G    2% /
/dev/vda1                    1014M  191M  824M   19% /boot
tmpfs                         783M     0  783M    0% /run/user/0
```
最後にマウント・ポイントに移動してテスト・ファイルを作成し、すべてのファイルをリストして、共有が読み取り/書き込みとしてマウントされていることを確認します。
```shell:最終確認
touch /mnt/test/test.txt
ls -al /mnt/test
```
```shell:結果
$ touch /mnt/test/test.txt
ls -al /mnt/test
total 12
drwxr-xr-x   2 nobody nobody 4096 Apr 8 15:52 .
dr-xr-xr-x. 22 root   root   4096 Apr 8 14:30 ..
-rw-r--r--   1 nobody nobody    0 Apr 8 15:52 test.txt
```

## 参考
・[IBM Cloud Docs](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-mount-centos)