Gluster 4.0 : GlusterFS + NFS-Ganesha2018/03/31 |
NFS-Ganesha をインストールして、GlusterFS ボリュームを NFS マウントできるようにします。
NFS-Ganesha でサポートされる NFS プロトコルは v3, v4.0, v4.1, pNFS です。 |
|
[1] | 対象のボリュームで Gluster 内蔵 NFS 機能を無効にしておきます。 Gluster 内蔵 NFS 機能は、公式に非推奨となっており、NFS-Ganesha の利用が推奨されています。 また、NFS サーバーが稼働中の場合も停止しておきます。 |
# [nfs.disable: on] となっていれば OK (デフォルト) [root@node01 ~]# gluster volume get vol_distributed nfs.disable Option Value ------ ----- nfs.disable on # もし [nfs.disable: off] であれば無効に変更 [root@node01 ~]# gluster volume set vol_distributed nfs.disable on volume set: success # NFS サーバー稼働中の場合は停止 [root@node01 ~]# systemctl stop nfs-server [root@node01 ~]# systemctl disable nfs-server |
[2] | 任意の GlusterFS ボリューム構成ノードで NFS-Ganesha をインストールして設定します。 |
[root@node01 ~]#
[root@node01 ~]# yum --enablerepo=centos-gluster40 -y install nfs-ganesha-gluster mv /etc/ganesha/ganesha.conf /etc/ganesha/ganesha.conf.org
[root@node01 ~]#
vi /etc/ganesha/ganesha.conf # 新規作成 NFS_CORE_PARAM { # NFSv4 Pseudo パスを NFSv3 でもマウント可能にする mount_path_pseudo = true; # NFSプロトコル Protocols = 3,4; } EXPORT_DEFAULTS { # デフォルトのアクセスモード Access_Type = RW; } EXPORT { # 任意の一意なID Export_Id = 101; # Gluster ボリュームのマウントパス Path = "/vol_distributed"; FSAL { # 任意の名前 name = GLUSTER; # このノードのホスト名 または IPアドレス hostname="10.0.0.51"; # Gluster ボリューム名 volume="vol_distributed"; } # root Squash 設定 Squash="No_root_squash"; # NFSv4 Pseudo 用の疑似ファイルシステムのパス Pseudo="/vfs_distributed"; # 許可するセキュリティオプション SecType = "sys"; } LOG { # デフォルトのログレベル Default_Log_Level = WARN; } # マウント確認 [root@node01 ~]# showmount -e localhost Export list for localhost: /vfs_distributed (everyone) |
[3] | SELinux を有効にしている場合は、ポリシーの変更が必要です。 |
[root@node01 ~]#
vi ganeshanfsd.te # 以下の内容で新規作成 module ganeshanfsd 1.0; require { type random_device_t; type portmap_port_t; type reserved_port_t; type ganesha_t; class capability dac_override; class tcp_socket name_connect; class chr_file getattr; } #============= ganesha_t ============== allow ganesha_t portmap_port_t:tcp_socket name_connect; allow ganesha_t random_device_t:chr_file getattr; allow ganesha_t reserved_port_t:tcp_socket name_connect; allow ganesha_t self:capability dac_override; checkmodule -m -M -o ganeshanfsd.mod ganeshanfsd.te checkmodule: loading policy configuration from ganeshanfsd.te checkmodule: policy configuration loaded checkmodule: writing binary representation (version 17) to ganeshanfsd.mod # 中間ファイルからモジュール生成 [root@node01 ~]# semodule_package --outfile ganeshanfsd.pp --module ganeshanfsd.mod # モジュールインストール [root@node01 ~]# semodule -i ganeshanfsd.pp |
[4] | Firewalld を有効にしている場合は、NFS サービスの許可が必要です。 |
[root@node01 ~]# firewall-cmd --add-service=nfs --permanent success [root@node01 ~]# firewall-cmd --reload success |
[5] | 任意のクライアントコンピューターで NFS マウントして確認します。 |
[root@client ~]#
yum -y install nfs-utils # サーバー側の ganesha.conf で [Pseudo=***] に設定したパスを指定 [root@client ~]# mount -t nfs4 node01.srv.world:/vfs_distributed /mnt [root@client ~]# df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/cl-root xfs 26G 1.4G 25G 6% / devtmpfs devtmpfs 2.0G 0 2.0G 0% /dev tmpfs tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs tmpfs 2.0G 8.4M 2.0G 1% /run tmpfs tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup /dev/vda1 xfs 1014M 234M 781M 24% /boot tmpfs tmpfs 396M 0 396M 0% /run/user/0 node01.srv.world:/vfs_distributed nfs4 52G 3.3G 49G 7% /mnt |
Sponsored Link |