[OCI] Oracle Linux Storage Applianceを使ってみた。

# [OCI] Oracle Linux Storage Applianceを使ってみた (2019/01/21)

OCI Computeインスタンスにファイル共有領域を提供する「ソフトウェアアプライアンス」であるOracle Linux Storage Applianceを使ってみた。

Oracle Linux Storage ApplianceはOCIでのみ利用できるNFSソフトウェアアプラインスで、OCI上のComputeインスタンスのNVMe VolumeもしくはBlock VolumeをRAID1ボリュームとしてファイル共有領域とし、他のComputeインスタンスにNFS提供する。
NFSサーバを専用のWebコンソールから設定、管理作業を行うアプライアンスである。
https://www.oracle.com/technetwork/server-storage/linux/technologies/default-3868073.html
記事記載の時点での最新はVersion1.8

Oracle Linux Storage ApplianceはローカルNVMe SSD領域を自動的にファイル共有領域として設定するため、DenseIOシェイプの利用が推奨。
（NVMe SSD非搭載シェイプの場合手動でBlock Volumeを追加し、ファイル共有領域として設定する）

## 使い方
https://docs.oracle.com/cd/E52668_01/E90100/html/appliance-install.html
### NFSが有効となるネットワークセキュリティリストの設定
以下のプロトコル・ポートのIgressルールを有効にする

| Service   | Destination Port Range | Protocol Type  |
|:----------|-----------------------:|:---------------|
| nfs-server|                    111 | TCP            |
| nfs-server|                   2049 | TCP            |
| mountd    |                    111 | UDP            |
| mountd    |                  20048 | TCP            |
| httpd     |                    443 | TCP            |
| statd     |                    662 | TCP            |
| lockd     |                  32803 | TCP            |
| sshd      |                     22 | TCP            |
| smbd      |                    135 | TCP            |
| smbd      |                    139 | TCP            |
| smbd      |                    445 | TCP            |
| nmbd      |                    137 | UDP            |
| nmbd      |                    138 | UDP            |

- Source: 使用するVCNのCIDRブロック
- IP Protocol: 上述プロトコルタイプ
- Source Port Range: All
- Destination Port Range: 上述ポートRANGE

### Appliance ImageをCustom Imageとしてインポート

Appliance用のImageが公開されているので、自身のテナント/コンパートメントにカスタムイメージとしてインポートする。
OCI コンソールから [Compute]>[Custom Images]>[Import Image]を選択

![image00.jpg](https://qiita-image-store.s3.amazonaws.com/0/108635/9b814561-a298-a506-f871-0d73bd3465be.jpeg)
![image001.JPG](https://qiita-image-store.s3.amazonaws.com/0/108635/5c495c88-c137-17a7-7cd1-6c2c9ea5eae1.jpeg)

- CREATE IN COMPARTMENT ：コンパートメントを選択
- NAME ：作成するカスタムイメージの名前を入力
- OPERATING SYSTEM ：Linux
- OBJECT STORAGE URL ：以下URLの「To download the Oracle Linux Storage Appliance, import the custom image from the Oracle Cloud Infrastructure console using the URL located here.」から最新のイメージのURLを取得し入力
    - https://www.oracle.com/technetwork/server-storage/linux/technologies/default-3868073.html 
- IMAGE TYPE ： QCOW2
- LAUNCH MODE ： NATIVE MODE


### Custom Imageを使ってComputeインスタンスの作成

上記でインポートしたカスタムイメージを使用してインスタンスを作成（シェイプにはVM.DenseIO2.XXを推奨）
![image02.jpg](https://qiita-image-store.s3.amazonaws.com/0/108635/45f03c12-9bcf-fcf5-305e-f6bf1243f980.jpeg)

### Oracle Linux Storage Appliance WebインタフェースでのNFS領域管理

##### ブラウザを使用する端末からSSHトンネル生成

```
ssh -i <ssh ログインキーファイル> -N -L 8443:127.0.0.1:443 opc@public_IP_of_the_storage_appliance
```

（注：プロンプトは帰らない）

##### ブラウザで「 https://localhost:8443 」にアクセス
##### 初回アクセス時管理者ユーザ(admin)のパスワード設定

![image003.JPG](https://qiita-image-store.s3.amazonaws.com/0/108635/2fa23af5-51ad-a2e9-4297-8f750797e52c.jpeg)

##### Linux Storage Appliance Webインタフェースにログイン
![image004.JPG](https://qiita-image-store.s3.amazonaws.com/0/108635/4339fb17-6019-a5be-4b49-1127c5e67184.jpeg)

ユーザ名：admin / パスワードは上記で設定したもの でSign In

##### NFS Shareの追加
ログイン後「storage」タブへ移動し、「Add」ボタンを押下
![image005.JPG](https://qiita-image-store.s3.amazonaws.com/0/108635/6655cd8a-4de9-9b08-889c-7a12185237db.jpeg)
「Add New Share」ダイアログでShare Nameとサイズを入力
「Export Protocols」でオプション指定（デフォルトでは NFSがRead Onlyになっているので注意）

##### Shareの追加がマウントコマンドの確認
追加したNFS Shareの「Action」メニューから「Mount Information」を選択
![image008.JPG](https://qiita-image-store.s3.amazonaws.com/0/108635/694aeb8f-5341-7af5-1bbc-af2a8f19cfff.jpeg)

![image007.JPG](https://qiita-image-store.s3.amazonaws.com/0/108635/528ccb17-5847-ca54-ccb9-a2b31e91fb84.jpeg)


### NFS領域のマウント
NFSを使用したいComputeインスタンスからNFSマウントを実施

```
sudo yum install -y nfs-utils
sudo mkdir /mnt01
sudo mount -t nfs 10.0.2.4:/shares/nfs01 /mnt01
```

マウント状況の確認

```
df -h /mnt01
Filesystem              Size  Used Avail Use% Mounted on
10.0.2.4:/shares/nfs01  5.9T   32M  5.9T   1% /mnt01
```

### さいごに
Oracle Linux Storage Applianceを使うことで簡単にNFS領域を作成・利用できることがわかった。
なお、OCIにはマネージドなファイル共有サービスとして File Storage Service も提供されている。