6-6. クラスターの構築
6-6-1. 作業用ディレクトリーの作成
クラスター構成ファイル保存用に、ここでは /root/descriptor/フォルダーを作成しました。
[root@cent701 root]# mkdir /root/descriptor/ ⏎
6-6-2. クラスター構成のパスを設定
プログラムにパスを通すため、.bash_profileを編集
[root@cent701 root]# vim ~/.bash_profile ⏎
GPFS_HOME=/usr/lpp/mmfs
PATH=$PATH:$HOME/bin:${GPFS_HOME}/bin
PATHを有効にします。
[root@cent701 root]# source .bash_profile ⏎
6-6-3. クラスターのサーバー情報を記述
ここでは、cent701/cent702/cent703すべてを「quorum-manager」とし、サーバー情報のファイル名を「allnode」としました。
[root@cent701 descriptor]# vim ~/descriptor/allnode ⏎
cent701:quorum-manager
cent702:quorum-manager
cent703:quorum-manager
6-6-4. クラスターを作成
サーバー情報ファイル「allnode」より、クラスターを作成します。
[root@cent701 descriptor]# mmcrcluster -C production -N allnode -r /usr/bin/ssh -R /usr/bin/scp ⏎
-C production:クラスターの名前「production」
-N allnode:クラスター内のサーバー情報ファイル「allnode」
-r:sshのパス
-R:scpのパス
6-6-5. ライセンスを適用
ここではすべて「serverライセンス」を適用しました。
[root@cent701 descriptor]# mmchlicense server --accept -N all ⏎
◆ライセンスの種類
・serverライセンス---クラスターの管理。SMB、NFS、FTP、HTTPなどでアクセスするノード。
・clientライセンス---Spectrum Scale(GPFS)でアクセスするノード。
・fpoライセンス------Spectrum Scaleが使用する内臓ディスクをもつノード。
6-6-6. NSDファイルの作成
使用するディスク情報をクラスターに登録します。
ディスク情報ファイル(NSDファイル)をまず作成します。
今回の構成はNSD構成(ディスク共有構成)ではなく、FPO構成(内臓ディスク構成)です。
Spctrum Scaleで使用するディスクを「NSD」と表現する場合があるため、「NSD」と表記しました。
[root@cent701 descriptor]# vim 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
pool:プール名「system」
blockSize:ブロックサイズ「256K」
allowWriteAffinity:FPO構成「yes」
writeAffinityDepth:ディスク書き込みルール「0:データをすべてのノード均一に分散して書き込む」
allowWriteAffinity:FPO構成「yes」
blockGroupFactor:連続するブロックのアロケーション数「1」(chunk sizeは1×256K)
6-6-7. NSDの作成
[root@cent701 descriptor]# mmcrnsd -F nsd ⏎
6-6-8. クラスター構成の確認
[root@cent701 descriptor]# mmlscluster ⏎
GPFS cluster name: production.cent701
GPFS cluster id: 1508396338338023940
GPFS UID domain: production.cent701
でクラスターが作成されています。
6-6-9. NSD構成の確認
[root@cent701 descriptor]# mmlsnsd ⏎
cent702/cent703 2台のNSDが作成されています。
6-7. GPFSの起動
6-7-1. GPFSデーモンの起動・状態確認
[root@cent701 descriptor]# mmstartup -a ⏎
[root@cent701 descriptor]# mmgetstate -a ⏎
GPFSデーモンが起動し、cent701/cent702/cent702の状態がacticeになっています。
6-8. ファイルシステムのマウント
6-8-1. ファイルシステムの作成
[root@cent701 descriptor]# mmcrfs fs1 -F nsd -T /gpfs/fs1 -B 256K -Q yes -M 2 -m 2 -R 2 -r 2 --perfileset-quota ⏎
fs1:ファイルシステムデバイス名「fs1」
-F:NSDファイル「nsd」
-T:マウントポイント「/gpfs/fs1」
-B:ブロックサイズ「256K」(NSDファイルのblockSizeと合わせる)
-Q:クオータ機能「yes:使用する」
-M:最大メタデータレプリカ数「2」
-m:デフォルトメタデータレプリカ数「2」
-R:最大データレプリカ数「2」
-r:デフォルトデータレプリカ数「2」
--perfileset-quota:ファイルセット単位でのクオータを許可
6-8-2. ファイルシステムのマウント・状態確認
[root@cent701 descriptor]# mmmount all -a ⏎
Command:ファイルシステムの状態確認
[root@cent701 descriptor]# mmlsmount all -L ⏎
ファイルシステムが正常にマウントされています。
6-9. プロトコルサーバーの設定
Windows10クライアントPCからNASとして接続しますので、SMB(CIFS)サービスの設定を行います。
6-9-1. CES情報管理のディレクトリーを作成
CES情報管理用に、ここでは/gpfs/fs1/ces/ディレクトリーを作成しました。
CES(Cluster Export Service):
プロトコルサーバーのクラスターを管理する機能
[root@cent701 root]# mkdir /gpfs/fs1/ces ⏎
6-9-2. CES共有ルートの指定
[root@cent701 ~]# mmchconfig cesSharedRoot=/gpfs/fs1/ces ⏎
6-9-3. プロトコルサーバーの指定
[root@cent701 ~]# mmchnode -N cent701 --ces-enable ⏎
6-9-4. GPFSクラスター、CES情報の確認
[root@cent701 ~]# mmlscluster --ces ⏎
6-9-5. サービスIPの設定 HOSTS登録
Protocol用IP(Floating):「10.110.217.20 smb-floating」HOSTSに登録します。
[root@cent701 ~]# vim /etc/hosts ⏎
10.110.217.20 smb-floating
[root@cent701 ~]# mmces address add --ces-ip 10.110.217.20
6-9-6. サービスIPの確認
[root@cent701 ~]# mmlscluster --ces ⏎
CES IP Addressが「10.110.217.20」になっていることを確認。
6-9-7. SMBサービスの起動・状態確認
[root@cent701 ~]# mmces service enable smb ⏎
root@cent701 ~]# mmces service list -v ⏎
6-10. SMBの設定
6-10-1. ローカル認証の設定
認証方法は、LDAP/AD/ローカルがあります。
ここではローカル認証で設定しました。
[root@cent701 ~]# mmuserauth service create --data-access-method file --type userdefined ⏎
6-10-2. ローカル認証設定の確認
[root@cent701 ~]# mmuserauth service list ⏎
6-10-3. ファイルシステムのACL関連情報を設定
[root@cent701 ~]# mmchfs fs1 -k nfs4 ⏎
fs1:ファイルシステムデバイス名「fs1」
-k:ファイルシステムでサポートされている認証タイプ「ntfs4:NFS V4、Windows ACL 」
6-10-3. ファイルシステムのACL関連情報を設定
[root@cent701 ~]# mmchfs fs1 -k nfs4 ⏎
6-10-4. SMBアクセスのユーザー作成
ここではユーザーを「smbuser01」としました。
[root@cent701 ~]# useradd smbuser01 ⏎
6-10-5. ユーザーのパスワード設定
[root@cent701 ~]# smbpasswd -a smbusr1 ⏎
6-10-6. SMBのファイルセットを作成
ここではファイルセット名を「smb1」としました。
[root@cent701 ~]# mmcrfileset fs1 smb1 ⏎
[root@cent701 ~]# mmlinkfileset fs1 smb1 -J /gpfs/fs1/smb1 ⏎
6-10-7. SMBのexportを作成・確認
[root@cent701 ~]# mmsmb export add smb1 "/gpfs/fs1/smb1" ⏎
Command:SMBのexportを確認
[root@cent701 ~]# mmsmb export list ⏎
6-10-8. exportのアクセス権限を編集
[root@cent701 ~]# chown smbusr1:smbusr1 /gpfs/fs1/smb1 ⏎
これで、Windows10クライアントPCからは「\10.110.217.20\smb1」でできます。
6-11.クライアントPCから接続確認
Windows10クライアントPCの「エクスプローラー」⇒「ネットワーク」の
入力ボックスに「\\10.110.217.20」を入力。
ID、パスワード要求のダイアログが表示されたら、設定したID、パスワードを入れてください。
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」
◇「その1:仮想マシンの作成~GuestOSの導入」
◇「その2:CentOS7.1の設定~サーバー間の設定」
◇「その3:Spectrum Scaleインストール」
◆「その4:クラスターの構築~クライアントPCから接続確認」