GlusterFS 9 : GlusterFS + NFS-Ganesha2021/07/09 |
|
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 disable --now nfs-server |
| [2] | 任意の GlusterFS ボリューム構成ノードで NFS-Ganesha をインストールして設定します。 |
|
[root@node01 ~]#
dnf -y install centos-release-nfs-ganesha30
[root@node01 ~]#
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/CentOS-NFS-Ganesha-3.repo
[root@node01 ~]#
[root@node01 ~]# dnf --enablerepo=centos-nfs-ganesha3 -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 ~]#
systemctl enable --now nfs-ganesha
# Exports リスト確認 [root@node01 ~]# showmount -e localhost Export list for localhost: /vfs_distributed (everyone) |
| [3] | SELinux を有効にしている場合は、ポリシーの変更が必要です。 |
|
[root@dlp ~]#
vi nfs-ganesha.te # 以下の内容で新規作成
module nfs-ganesha 1.0;
require {
type var_lib_nfs_t;
type init_t;
class dir create;
}
#============= init_t ==============
allow init_t var_lib_nfs_t:dir create;
checkmodule -m -M -o nfs-ganesha.mod nfs-ganesha.te checkmodule: loading policy configuration from nfs-ganesha.te checkmodule: policy configuration loaded checkmodule: writing binary representation (version 19) to nfs-ganesha.mod [root@dlp ~]# semodule_package --outfile nfs-ganesha.pp --module nfs-ganesha.mod [root@dlp ~]# semodule -i nfs-ganesha.pp |
| [4] | Firewalld を有効にしている場合は、NFS サービスの許可が必要です。 |
|
[root@node01 ~]# firewall-cmd --add-service=nfs success [root@node01 ~]# firewall-cmd --runtime-to-permanent success |
| [5] | 任意のクライアントコンピューターで NFS マウントして確認します。 |
|
[root@client ~]#
dnf -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 devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 8.6M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/cs-root xfs 26G 2.4G 24G 10% / /dev/vda1 xfs 1014M 322M 693M 32% /boot tmpfs tmpfs 374M 0 374M 0% /run/user/0 node01.srv.world:/vfs_distributed nfs4 52G 5.4G 47G 11% /mnt |
| Sponsored Link |
|
|