Scale 5.0.4.3にNFS CESをインストール
まずはNFSノードを構成する
今回構成するScale Clusterは以下のとおり。
NSD Servers:
snode-0: 192.168.1.91
snode-1: 192.168.1.92
NFS Protocol Nodes:
pnode-1: 192.168.1.96
pnode-2: 192.168.1.97
nfsgroup1 (CES IP): 192.168.1.98
なお、NSD ServerとProtocol Nodeはそれぞれ別々のESXiサーバー上にVMとして構成している。
特に確認したいのはFilesetを作らなくてもNFS共有できることの確認。
CESで共有するディレクトリーの設定をする。GPFSのマウントポイントの下にnfsディレクトリを作成し、それをcesSharedRootに設定する。
[root@snode-0 ~]# ls /gpfs/gpfsfs01
[root@snode-0 ~]# mkdir /gpfs/gpfsfs01/nfs
ガイドに従ってクラスターをシャットダウンしてからcesSharedRootの変更を行う。
[root@snode-0 ~]# mmshutdown -a
2020年 3月 26日 木曜日 12:18:56 JST: mmshutdown: Starting force unmount of GPFS file systems
2020年 3月 26日 木曜日 12:19:01 JST: mmshutdown: Shutting down GPFS daemons
2020年 3月 26日 木曜日 12:20:09 JST: mmshutdown: Finished
[root@snode-0 ~]# mmchconfig cesSharedRoot=/gpfs/gpfsfs01/nfs
mmchconfig: Command successfully completed
mmchconfig: Propagating the cluster configuration data to all
affected nodes. This is an asynchronous process.
念の為、確認。
[root@snode-0 ~]# mmlsconfig
Configuration data for cluster gpfscluster1.snode-0:
----------------------------------------------------
clusterName gpfscluster1.snode-0
clusterId 17390685069738965895
autoload no
dmapiFileHandleSize 32
minReleaseLevel 5.0.4.0
ccrEnabled yes
cipherList AUTHONLY
cesSharedRoot /gpfs/gpfsfs01/nfs
adminMode central
File systems in cluster gpfscluster1.snode-0:
---------------------------------------------
/dev/gpfsfs01
クラスターの再起動。
[root@snode-0 ~]# mmstartup -a
2020年 3月 26日 木曜日 17:56:00 JST: mmstartup: Starting GPFS ...
無事に立ち上がったことを確認する。
[root@snode-0 ~]# mmgetstate -a
Node number Node name GPFS state
-------------------------------------------
1 snode-0 active
2 snode-1 active
3 pnode-1 active
4 pnode-2 active
[root@snode-0 ~]#
Protocol NodeにはScale Server Licenseが必要だということが判明した。というか、Scale Clientに何かしらの機能を持たせる場合にはServer Licenseが必要。Server LicenseがないままCESをイネーブルしようとするとエラーになる。
[root@snode-0 ~]# mmchlicense server --accept -N pnode-1,pnode-2
The following nodes will be designated as possessing server licenses:
pnode-1
pnode-2
mmchlicense: Command successfully completed
mmchlicense: Propagating the cluster configuration data to all
affected nodes. This is an asynchronous process.
ClientにてCESをイネーブルする。
[root@snode-0 ~]# mmchnode --ces-enable -N pnode-1,pnode-2
2020年 3月 30日 月曜日 13:46:19 JST: mmchnode: Processing node pnode-1
2020年 3月 30日 月曜日 13:46:26 JST: mmchnode: Processing node pnode-2
mmchnode: Propagating the cluster configuration data to all
affected nodes. This is an asynchronous process.
念の為の確認。
[root@snode-0 ~]# mmces node list
Node Number Node Name Node Groups Node Flags
------------- ----------- ------------- ------------
3 pnode-1 none
4 pnode-2 none
[root@snode-0 ~]#
可用性を実装するために、これらのCESノードをグループ化する。グループ名はnfs-group-1で実行。しかし、、、
[root@snode-0 ~]# mmchnode --ces-group nfs-group-1 -N pnode-1,pnode-2
2020年 3月 30日 月曜日 14:45:30 JST: mmchnode: Processing node pnode-1
mmchnode: Invalid group name nfs-group-1
2020年 3月 30日 月曜日 14:45:30 JST: mmchnode: Processing node pnode-2
mmchnode: Invalid group name nfs-group-1
mmchnode: Command failed. Examine previous error messages to determine cause.
いろいろ試してみて、どうやら'-'がNG文字のようだ。以下で実行し直し。
[root@snode-0 ~]# mmchnode --ces-group nfsgroup1 -N pnode-1,pnode-2
2020年 3月 30日 月曜日 14:52:42 JST: mmchnode: Processing node pnode-1
2020年 3月 30日 月曜日 14:52:42 JST: mmchnode: Processing node pnode-2
mmchnode: Propagating the cluster configuration data to all
affected nodes. This is an asynchronous process.
[root@snode-0 ~]#
確認すると2つのCESノードが同じグループに入った。
[root@snode-0 ~]# mmces node list
Node Number Node Name Node Groups Node Flags
------------- ----------- ------------- ------------
3 pnode-1 nfsgroup1 none
4 pnode-2 nfsgroup1 none
[root@snode-0 ~]#
このCESグループ(nfsgroup1)にCES IPを割り当てる。このCES IPはFloating IPとなっていて、Scale内部のポリシーに従ってグループ内のどれかのCESノードにマップされる。CESノードが死んだときにはIPを自動再割当てしてくれるので可用性が確保できる。しかし、、、
[root@snode-0 ~]# mmces address add --ces-ip 192.168.1.98 --ces-group nfsgroup1
Cannot resolve 192.168.1.98; Name or service not known
mmces address add: Incorrect value for --ces-ip option
Usage:
mmces address add [--ces-node Node] [--attribute Attribute] [--ces-group Group]
{--ces-ip {IP[,IP...]}
mmces address add: Command failed. Examine previous error messages to determine cause.
エラーになる。IPアドレスがresolveできない???これはなんだ?どうやら、ここで使うIPアドレスはhostnameと紐付けされていなければならないそうだ。そこで、/etc/hostsに以下を追記した(Cluster内のすべてのNodeで実行した)。参考情報:IPアドレスのResolveについて
192.168.1.98 nfsgroup1
この後再実行。
[root@snode-0 ~]# mmces address add --ces-ip 192.168.1.98 --ces-group nfsgroup1
エラーメッセージ無しで戻ってきた。念の為の確認。
[root@snode-0 ~]# mmces address list
Address Node Ces Group Attributes
-------------- --------- ----------- ------------
192.168.1.98 pnode-2 nfsgroup1 none
[root@snode-0 ~]#
次に認証方式の定義。
[root@snode-0 ~]# mmuserauth service create --data-access-method file --type userdefined
Executing command on pnode-1
File authentication configuration completed successfully.
NFSサービスをEnableにする。
[root@snode-0 ~]# mmces service enable NFS
pnode-2: Redirecting to /bin/systemctl start nfs-ganesha.service
pnode-1: Redirecting to /bin/systemctl start nfs-ganesha.service
mmchconfig: Command successfully completed
mmchconfig: Propagating the cluster configuration data to all
affected nodes. This is an asynchronous process.
pnode-2: NFS: service succesfully started.
pnode-1: NFS: service succesfully started.
表示内容を読む限りNFS Serviceはスタートしたみたい。これでは、すべてのCESノードでNFSがスタートしてしまう。本当はStartはNode選択的に行いたかった。CESノードのうち半数はNFS、のこりはObjectと、振り分けを考えているから。
念の為service startも実行してみる。やはりalready running....CESノードに選択的にサービススタートする方法を考察する必要がある。
追記:特定のCESノードを特定のプロトコルのみで構成する方法は現在は無いらしい(専門家に確認)
[root@snode-0 ~]# mmces service start NFS -N pnode-1,pnode-2
pnode-2: NFS: service already running.
pnode-1: NFS: service already running.
先に作成し共有宣言したdirectoryをExportする。
[root@snode-0 ~]# mmnfs export add /gpfs/gpfsfs01/nfs
mmnfs: The NFS export was created successfully
mmnfs: Restarting NFS services.
念の為の確認。
[root@snode-0 ~]# mmces service list -a
Enabled services: NFS
pnode-2: NFS is running
pnode-1: NFS is running
[root@snode-0 ~]# mmuserauth service list
FILE access configuration : USERDEFINED
PARAMETERS VALUES
-------------------------------------------------
OBJECT access not configured
PARAMETERS VALUES
-------------------------------------------------
[root@snode-0 ~]# mmnfs export list
Path Delegations Clients
------------------ ----------- -------
/gpfs/gpfsfs01/nfs NONE *
[root@snode-0 ~]#
アクセスタイプをRWに設定する。こうしないとNFSクライアントからアクセスできない(access denied)。まずは現状確認。
[root@snode-0 gpfsfs01]# mmnfs export list --nfsdefs /gpfs/gpfsfs01/nfs
Path Delegations Clients Access_Type Protocols Transports Squash Anonymous_uid Anonymous_gid SecType PrivilegedPort DefaultDelegations Manage_Gids NFS_Commit Pseudo Path
------------------ ----------- ------- ----------- --------- ---------- ----------- ------------- ------------- ------- -------------- ------------------ ----------- ---------- ------------------
/gpfs/gpfsfs01/nfs NONE * NONE 3,4 TCP ROOT_SQUASH -2 -2 SYS FALSE NONE FALSE FALSE /gpfs/gpfsfs01/nfs
以下を実行する。参考情報:NFS Mount時の問題について
[root@snode-0 gpfsfs01]# mmnfs export change /gpfs/gpfsfs01/nfs --nfschange "*(Access_Type=RW,Squash=NO_ROOT_SQUASH)"
mmnfs: The NFS export was changed successfully.
念の為の確認。
[root@snode-0 gpfsfs01]# mmnfs export list --nfsdefs /gpfs/gpfsfs01/nfs
Path Delegations Clients Access_Type Protocols Transports Squash Anonymous_uid Anonymous_gid SecType PrivilegedPort DefaultDelegations Manage_Gids NFS_Commit Pseudo Path
------------------ ----------- ------- ----------- --------- ---------- -------------- ------------- ------------- ------- -------------- ------------------ ----------- ---------- ------------------
/gpfs/gpfsfs01/nfs NONE * RW 3,4 TCP NO_ROOT_SQUASH -2 -2 SYS FALSE NONE FALSE FALSE /gpfs/gpfsfs01/nfs
[root@snode-0 gpfsfs01]#
NFSクライアントからアクセスしてみる。
#mkdir /mnt/nfsclient
# mount -t nfs 192.168.1.98:/gpfs/gpfsfs01/nfs /mnt/nfsclient
無事NFSマウントが成功した。おつかれ。
参考情報:NFSパラメータについて 以下参考情報より転記。
Squashについて
root_squash: uid/gidが0、つまりrootユーザからのリクエストをanonymousに格下げ(squash)する。デフォルト有効で無効にするにはno_root_squashを指定する。
all_squash: root以外のユーザからのリクエストもanonymousに格下げ(squash)する。デフォルトはno_all_squash
« Unified Accessテスト用Scale 5.0.4.3のインストール | トップページ | Scale 5.0.4.3にS3 Objectノードをインストールする »
「ソフトウエア導入」カテゴリの記事
- 非Windows11対応PCをWindows11にアップグレードする方法(2023.03.21)
- ThonnyでPicoのVersion upで SSL: CERTIFICATE_VERIFY_FAILED, certificate has expired にハマった件(2022.11.23)
- UI-VIEW32のオリジナルマップの作製(2022.11.22)
- APRS I-Gateの設置(2022.11.15)
- PCIe dual serial port adapterドライバーCH38XDRV.ZIPのWindows11へのインストール(2022.11.13)
« Unified Accessテスト用Scale 5.0.4.3のインストール | トップページ | Scale 5.0.4.3にS3 Objectノードをインストールする »
コメント