4.SoftLayerのBare Metal ServerにSDSのSpectrumScale4.2(SMB接続)をインストールしました　（その４：クラスターの構築～クライアントPCから接続確認）


## 6-6. クラスターの構築

### 6-6-1.  作業用ディレクトリーの作成
クラスター構成ファイル保存用に、ここでは /root/descriptor/フォルダーを作成しました。

```Command:descriptorファルダーの作成
[root@cent701 root]# mkdir /root/descriptor/ ⏎　
```
### 6-6-2. クラスター構成のパスを設定
プログラムにパスを通すため、.bash_profileを編集

```Command:.bash_profileの編集
[root@cent701 root]# vim ~/.bash_profile ⏎　
```
```Command:【.bash_profileの追加編集】
GPFS_HOME=/usr/lpp/mmfs
PATH=$PATH:$HOME/bin:${GPFS_HOME}/bin
```
PATHを有効にします。

```Command:PATH有効化
[root@cent701 root]# source .bash_profile ⏎　
```

### 6-6-3. クラスターのサーバー情報を記述
ここでは、cent701/cent702/cent703すべてを「quorum-manager」とし、サーバー情報のファイル名を「allnode」としました。

```Command:サーバー情報の作成
[root@cent701 descriptor]# vim ~/descriptor/allnode ⏎　
```
```Command:allnodeファイル
cent701:quorum-manager
cent702:quorum-manager
cent703:quorum-manager
```

### 6-6-4. クラスターを作成
サーバー情報ファイル「allnode」より、クラスターを作成します。

```Command:クラスターの作成
[root@cent701 descriptor]#  mmcrcluster -C production -N allnode -r /usr/bin/ssh -R /usr/bin/scp ⏎　
```
<font color=maroon>-C production：クラスターの名前「production」
-N allnode：クラスター内のサーバー情報ファイル「allnode」
-r：sshのパス
-R：scpのパス</font>
![66.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/66.png)

### 6-6-5. ライセンスを適用
ここではすべて「serverライセンス」を適用しました。

```Command:ライセンスの適用
[root@cent701 descriptor]# mmchlicense server --accept -N all ⏎　
```
![67.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/67.png)
><font color=olive> ◆ライセンスの種類
・serverライセンス---クラスターの管理。SMB、NFS、FTP、HTTPなどでアクセスするノード。
・clientライセンス---Spectrum Scale(GPFS)でアクセスするノード。
・fpoライセンス------Spectrum Scaleが使用する内臓ディスクをもつノード。</font>
> 


### 6-6-6. NSDファイルの作成
使用するディスク情報をクラスターに登録します。
ディスク情報ファイル(NSDファイル)をまず作成します。
><font color=olive>今回の構成はNSD構成(ディスク共有構成)ではなく、FPO構成(内臓ディスク構成)です。
Spctrum Scaleで使用するディスクを「NSD」と表現する場合があるため、「NSD」と表記しました。</font>
>

```Command:NSDファイルの作成
[root@cent701 descriptor]# vim nsd ⏎　
```
```Command:NSDファイル
%pool: pool=system blockSize=256K layoutMap=cluster allowWriteAffinity=yes writeAffinityDepth=0 blockGroupFactor=1
%nsd: nsd=cent702sdb device=/dev/sdb servers=cent702 usage=dataAndMetadata failureGroup=101 pool=system
%nsd: nsd=cent703sdb device=/dev/sdb servers=cent703 usage=dataAndMetadata failureGroup=201 pool=system
```
<font color=maroon>pool：プール名「system」
blockSize：ブロックサイズ「256K」
allowWriteAffinity：FPO構成「yes」
writeAffinityDepth：ディスク書き込みルール「０：データをすべてのノード均一に分散して書き込む」
allowWriteAffinity：FPO構成「yes」
blockGroupFactor：連続するブロックのアロケーション数「1」(chunk sizeは1×256K)
</font>

### 6-6-7. NSDの作成

```Command:NSDの作成
[root@cent701 descriptor]# mmcrnsd -F nsd ⏎　
```
![68.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/68.png)

### 6-6-8. クラスター構成の確認

```Command:クラスター構成の確認
[root@cent701 descriptor]# mmlscluster ⏎　
```
![69.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/69.png)
GPFS cluster name:         production.cent701
GPFS cluster id:           1508396338338023940
GPFS UID domain:           production.cent701
でクラスターが作成されています。

### 6-6-9. NSD構成の確認

```Command:NSD構成の確認
[root@cent701 descriptor]# mmlsnsd ⏎　
```
![70.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/70.png)
cent702/cent703　２台のNSDが作成されています。

![92.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/92.png)<strong>以上で「6-6. クラスターの構築」完了です。</strong>



## 6-7. GPFSの起動
### 6-7-1. GPFSデーモンの起動・状態確認

```Command:GPFSデーモンの起動
[root@cent701 descriptor]# mmstartup -a ⏎　
```
![71.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/71.png)

```Command:GPFSデーモンの状態確認
[root@cent701 descriptor]# mmgetstate -a ⏎　
```
![72.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/72.png)
GPFSデーモンが起動し、cent701/cent702/cent702の状態がacticeになっています。

![92.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/92.png)<strong>以上で「6-7. GPFSの起動」完了です。</strong>


## 6-8. ファイルシステムのマウント
### 6-8-1. ファイルシステムの作成

```Command:ファイルシステムの作成
[root@cent701 descriptor]# mmcrfs fs1 -F nsd -T /gpfs/fs1 -B 256K -Q yes -M 2 -m 2 -R 2 -r 2 --perfileset-quota ⏎　
```
<font color=maroon>fs1：ファイルシステムデバイス名「fs1」
-F：NSDファイル「nsd」
-T：マウントポイント「/gpfs/fs1」
-B：ブロックサイズ「256K」(NSDファイルのblockSizeと合わせる)
-Q：クオータ機能「yes：使用する」
-M：最大メタデータレプリカ数「2」
-m：デフォルトメタデータレプリカ数「2」
-R：最大データレプリカ数「2」
-ｒ：デフォルトデータレプリカ数「2」
--perfileset-quota：ファイルセット単位でのクオータを許可</font>
![73.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/73.png)

### 6-8-2. ファイルシステムのマウント・状態確認

```Command:ファイルシステムのマウント
[root@cent701 descriptor]# mmmount all -a ⏎　
```
![74.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/74.png)
```Command:ファイルシステムの状態確認
[root@cent701 descriptor]# mmlsmount all -L ⏎　
```
![75.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/75.png)
ファイルシステムが正常にマウントされています。

![92.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/92.png)<strong>以上で「6-8. ファイルシステムのマウント」完了です。</strong>


## 6-9. プロトコルサーバーの設定
Windows10クライアントPCからNASとして接続しますので、SMB(CIFS)サービスの設定を行います。

### 6-9-1. CES情報管理のディレクトリーを作成 
CES情報管理用に、ここでは/gpfs/fs1/ces/ディレクトリーを作成しました。
><font color=olive>CES(Cluster Export Service):
>プロトコルサーバーのクラスターを管理する機能</font>

```Command:CES情報管理のディレクトリーの作成
[root@cent701 root]# mkdir /gpfs/fs1/ces ⏎　
```
### 6-9-2. CES共有ルートの指定

```Command:CES共有ルートの指定
[root@cent701 ~]# mmchconfig cesSharedRoot=/gpfs/fs1/ces ⏎　
```
![76.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/76.png)

### 6-9-3. プロトコルサーバーの指定

```Command:プロトコルサーバーの指定
[root@cent701 ~]# mmchnode -N cent701 --ces-enable ⏎　
```
![77.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/77.png)

### 6-9-4. GPFSクラスター、CES情報の確認

```Command:GPFSクラスター、CES情報の確認
[root@cent701 ~]# mmlscluster --ces ⏎　
```
![78.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/78.png)

### 6-9-5. サービスIPの設定　HOSTS登録
Protocol用IP(Floating)：「10.110.217.20  smb-floating」HOSTSに登録します。

```Command:HOSTS登録
[root@cent701 ~]# vim /etc/hosts ⏎　
```
```Command:【HOSTS登録内容】
10.110.217.20 smb-floating
```


```Command:サービスIPの設定
[root@cent701 ~]# mmces address add --ces-ip 10.110.217.20
```
### 6-9-6. サービスIPの確認

```Command:サービスIPの確認
[root@cent701 ~]# mmlscluster --ces ⏎　
```
![79.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/79.png)
CES IP Addressが「10.110.217.20」になっていることを確認。

### 6-9-7. SMBサービスの起動・状態確認

```Command:SMBサービスの起動
[root@cent701 ~]# mmces service enable smb ⏎　
```
![80.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/80.png)

```Command:SMBサービスの状態確認
root@cent701 ~]# mmces service list -v ⏎　
```
![81.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/81.png)
SMBサービスはrunning。

![92.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/92.png)<strong>以上で「6-9. プロトコルサーバーの設定」完了です。</strong>

## 6-10. SMBの設定
### 6-10-1. ローカル認証の設定
認証方法は、LDAP/AD/ローカルがあります。
ここではローカル認証で設定しました。

```Command:ローカル認証の設定
[root@cent701 ~]# mmuserauth service create --data-access-method file --type userdefined ⏎　
```
![82.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/82.png)

### 6-10-2. ローカル認証設定の確認

```Command:ローカル認証設定の確認
[root@cent701 ~]# mmuserauth service list ⏎　
```
![83.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/83.png)

### 6-10-3. ファイルシステムのACL関連情報を設定

```Command:ACL関連情報を設定
[root@cent701 ~]# mmchfs fs1 -k nfs4 ⏎　
```
<font color=maroon>fs1：ファイルシステムデバイス名「fs1」
-k：ファイルシステムでサポートされている認証タイプ「ntfs4：NFS V4、Windows ACL 」
</font>
### 6-10-3. ファイルシステムのACL関連情報を設定

```Command:ACL関連情報を設定
[root@cent701 ~]# mmchfs fs1 -k nfs4 ⏎　
```
### 6-10-4. SMBアクセスのユーザー作成
ここではユーザーを「smbuser01」としました。

```Command:SMBアクセスのユーザー作成
[root@cent701 ~]# useradd smbuser01 ⏎　
```
### 6-10-5. ユーザーのパスワード設定

```Command:ユーザーのパスワード設定
[root@cent701 ~]# smbpasswd -a smbusr1 ⏎　
```
![84.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/84.png)

### 6-10-6. SMBのファイルセットを作成
ここではファイルセット名を「smb1」としました。

```Command:SMBのファイルセットを作成
[root@cent701 ~]# mmcrfileset fs1 smb1 ⏎　
```
![85.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/85.png)

```Command:SMBファイルセットのルートディレクトリ参照点の作成
[root@cent701 ~]# mmlinkfileset fs1 smb1 -J /gpfs/fs1/smb1 ⏎　
```
![86.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/86.png)

### 6-10-7. SMBのexportを作成・確認

```Command:SMBのexportを作成
[root@cent701 ~]# mmsmb export add smb1 "/gpfs/fs1/smb1" ⏎　
```
![87.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/87.png)
```Command:SMBのexportを確認
[root@cent701 ~]# mmsmb export list ⏎　
```
![88.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/88.png)

### 6-10-8. exportのアクセス権限を編集

```Command:exportのアクセス権限を編集
[root@cent701 ~]# chown smbusr1:smbusr1 /gpfs/fs1/smb1 ⏎　
```
これで、Windows10クライアントPCからは「\\10.110.217.20\smb1」でできます。

![92.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/92.png)<strong>以上で「6-10. SMBの設定」完了です。</strong>





## 6-11.クライアントPCから接続確認
 Windows10クライアントPCの「エクスプローラー」⇒「ネットワーク」の
 入力ボックスに「\\\10.110.217.20」を入力。
ID、パスワード要求のダイアログが表示されたら、設定したID、パスワードを入れてください。
![90.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/90.png)

![89.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/89.png)
ネットワークドライブの「smb1」表示されます。

smb1にテストファイルをコピーしました。
![91.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/91.png)

![92.png](http://www.seahorse-inc.com/QIITA/Spcetrumscale/92.png)<strong>以上で「6-11.クライアントPCから接続確認」完了です。</strong>


## 7.おわりに
今回は、Spectrum Scaleの基本を学習するため、基本的最小構成で構築しました。
NSD構成やDR Site構成等、まだまだ学ぶ機能が多いですが適用範囲が広いことを理解できました。
また、SDSですのでクラウド上のストレージとして有効活用できそうです。

## 8.参考文献
日本IBM「Spectrum Scale V4.1.1導入ガイド～FPO編～」
日本IBM「Spectrum Scale V4.1.1導入ガイド～共有ディスク編～」
日本IBM 「IBM Spectrum Scale V4.2構築手順」
IBM「IBM Spectrum Scale Version 4 Release 2.0 Advanced Administration Guide」
IBM「IBM Spectrum Scale Version4Release2.0 Concepts, Planning, and Installation Guide」

-----------------------------------------------------------------------------
<a href="http://qiita.com/Mitsu-Murakita/items/43b568b90b45259a9356">
◇「その１：仮想マシンの作成～GuestOSの導入」</a>
<a href="http://qiita.com/Mitsu-Murakita/items/3b6ccafe5a2e24a74c47">
◇「その２：CentOS7.1の設定～サーバー間の設定」</a>
<a href="http://qiita.com/Mitsu-Murakita/items/1517203a84d9dbba73ff">
◇「その３：Spectrum Scaleインストール」</a>
<a href="http://qiita.com/Mitsu-Murakita/items/5c9f1e9c8ae02113ef33">
<font color=silver>◆「その４：クラスターの構築～クライアントPCから接続確認」</font></a>