1.6.8 エンデュランス・ファイルサーバーを利用するには？

（2016年時点での内容をアーカイブとして掲載しているため、一部の掲載内容が最新情報とは異なる場合がありますので、ご了承ください。最新のIBM Cloudのアップデート情報は[IBM Cloud アップデート情報](https://www.ibm.com/cloud-computing/jp/ja/cloud-update/) や [柔らか層本](https://ibm.ent.box.com/v/ibmcloud-yawaraka)をご参照ください。）

概要
エンデュランス・ストレージには、iSCSIブロック・ストレージとしての利用方法と、NFSサーバーとしての利用方法があります。この章ではNFSサーバーとしての利用法をご紹介します。
 

エンデュランス・ファイルサーバーの概要
このサービスは、NFSのファイルサーバーとして提供される点を除いてエンデュランス・ストレージのサービスと同じです。 この概要は、1.6.7 エンデュランス・ストレージを利用するには？を参照してください。
 

エンデュランス・ファイルサーバーのオーダー
カスタマーポータルから「Storage」->「File Storage」->「Order File Storage」を選択すると次の画面が表示されます。「Select Storage Type」に「Endurance」を選択し、必要項目をセットして「Continue」をクリックして次の画面へ進みます。 次の確認ウィンドで修正点が見つけられなければ「Place Order」をクリックしてオーダーを確定します。各項目の解説は、http://knowledgelayer.softlayer.com/procedure/endurance-provisioning#prov_endure_fileにあります。

しばらくすると、次の画面のようにエンデュランス・ファイルサーバーが利用可能になります。「Notes (Clieck cell to edit)」にコメントを記入できますから、システム名や用途などを入力して、管理に役立てることができます。
 

NFSクライアントのアクセス権限付与方法
これでファイルサーバーとして利用できるようになったので、LinuxとしてCentOS6からマウントする作業をみていきます。 同じ東京データセンターにCentOS6の仮想サーバーがあり、このサーバーと今回注文したストレージを利用可能な状態にしていきます。

カスタマーポータルから「Storage」->「File Storage」->「LUN Name」を選択すると次の画面が表示されます。そして、画面の下の方の「Authorize Hosts」をクリックします。

このストレージに接続を許可するサーバーかサブネット、もしくはIPアドレスを選択します。

iSCSIのブロック・ストレージとして利用する場合は、iSCSIのホストとなるサーバーにアクセス権限を与えると、ユーザーID、パスワード、IQNが付与されたのですが、リストに表示されているだけで何も表示されません。 NFSサービスなので、NFSサーバー側のIPアドレス制限でセキュリティは確保するため認証なしでマウントして使うことができます。 もしこの点に懸念がある場合は、iSCSIでアクセスすることがおすすめです。


エンデュランス・ファイルサーバーへマウント方法

本章では、CentOS 6 を例にして、Linuxの設定をみていきます。 OSを最新の状態に更新してから、NFS関連のパッケージをインストールします。
 
```
# yum update -y
# yum install nfs-utils -y
```

インストール完了後に、一旦、サーバーを再起動した後に、次のコマンドでNFSのサービスを起動します。 ここで再起動を入れておかないと、カーネルのモジュールが読み込まれていないため、NFSのサービスの起動が失敗します。
 
```
# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
```

エンデュランス・ファイルサーバーを指定するマウントのオプションは、「ホスト名:/ユーザーID」となります。そしてホスト名は、前述の「Fire Storage Detail」に表示されています。またユーザーIDは「LUN Name」と同じです。
 
```
# mount -t nfs4 nfstok0201c.service.softlayer.com:/SL01SEV294470_1 /mnt
# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/xvda2            25544012 1264844  22981608   6% /
tmpfs                   508116       0    508116   0% /dev/shm
/dev/xvda1              253871   84527    156237  36% /boot
nfstok0201c.service.softlayer.com:/SL01SEV294470_1
                      20971520     128  20971392   1% /mnt
```

スナップショット取得の設定
この機能を利用するには、スナップショットの領域が確保されていなければなりません。オーダー時または稼働後にスナップショット領域をオーダーすることができます。 稼働後にスナップショットの領域をオーダーするには、「Storage」->「File Storage」->「LUN Name」->「Change Snapshot Space」からオーダーします。 スナップショットの領域の大きさは、スナップショットの保存世代数が一回りする期間を通じて発生するデータの変更量より大きくする必要があります。 例えば、保存世代数の3世代を通じての更新量が2GBであると見込まれる場合、スナップショットの領域サイズで5GBを選択します。

スナップショットのスケジュール設定は「Storage」->「File Storage」->「LUN Name」->「Edit Snapshot Schedule」を選択すると次の画面が表示されます。 スナップショットを取得するタイミングとして、1時間毎、1日毎、1週間毎、それぞれで1回づつ、指定の時分で設定できます。最小のスナップショットの間隔は1時間となります。それからスナップショットの世代数を設定します。また、設定したスケジュールとは別に手動でスナップショットを作成することも可能です。

設定が完了すると次の画面のように、タイミング、時刻、世代数が表示されるようになります。


スナップショットからの復元
スナップショットが取られた時点に、ファイルサーバーのデータを戻すことができます。この機能を確認するために、エンデュランス・ストレージのNFSサーバー上のファイルを消して、スナップショットから復元してみます。削除前の状態では、次のように/mntにファイルが6個存在していて、6％を利用している状態です。
 
```
# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/xvda2            25544012 2154840  22091612   9% /
tmpfs                   508116       0    508116   0% /dev/shm
/dev/xvda1              253871   84527    156237  36% /boot
nfstok0201c.service.softlayer.com:/SL01SEV294470_1
                      20971520 1106496  19865024   6% /mnt
# ls /mnt |wc -l
6
```

テストのために、ファイルを消して、ファイル数がゼロであること、使用率が1％に減ったことを確認して、/mntをアンマウントします。
 
```
# rm -fr /mnt/*
# ls /mnt |wc -l
0
[root@tkr04 ~]# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/xvda2            25544012 2156960  22089492   9% /
tmpfs                   508116       0    508116   0% /dev/shm
/dev/xvda1              253871   84527    156237  36% /boot
nfstok0201c.service.softlayer.com:/SL01SEV294470_1
                      20971520   14080  20957440   1% /mnt
# umount /mnt
```

スナップショットのリストから、戻したい時刻を一つを選んで「Actions」->「Restore」を実行します。ファイルサーバーの状態はスナップショットの時点に戻りますから、最後のスナップショット取得時点以降に更新されたデータは消えてしまいます。この注意事項を確認して先に進みます。

リストアの実行中は次のようなメッセージが表示されています。このメッセージが消えたら次に進みます。

エンデュランス・ファイル・サーバーの/SL01SEV294470_1を/mntにマウントして、消したはずのファイルが戻っていることを確認します。
 
```
[root@tkr04 ~]# mount -t nfs4 nfstok0201c.service.softlayer.com:/SL01SEV294470_1 /mnt
[root@tkr04 ~]# df
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/xvda2            25544012 2156960  22089492   9% /
tmpfs                   508116       0    508116   0% /dev/shm
/dev/xvda1              253871   84527    156237  36% /boot
nfstok0201c.service.softlayer.com:/SL01SEV294470_1
                      20971520 1106496  19865024   6% /mnt
[root@tkr04 ~]# ls /mnt |wc -l
6
```

以上で、エンデュランス・ファイル・サーバーの利用法の説明を終わります。