Ubuntu 20.04
Sponsored Link

GlusterFS : GlusterFS + NFS-Ganesha2020/08/26

 
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:~#
apt -y install nfs-ganesha-gluster
root@node01:~#
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 restart nfs-ganesha

root@node01:~#
systemctl enable nfs-ganesha
# Exports リスト確認

root@node01:~#
showmount -e localhost

Export list for localhost:
/vfs_distributed (everyone)
[3] 任意のクライアントコンピューターで NFS マウントして確認します。
root@client:~#
apt -y install nfs-common
# サーバー側の 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
udev                              devtmpfs  1.9G     0  1.9G   0% /dev
tmpfs                             tmpfs     394M  1.1M  393M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv ext4       25G  3.0G   21G  13% /
tmpfs                             tmpfs     2.0G     0  2.0G   0% /dev/shm
tmpfs                             tmpfs     5.0M     0  5.0M   0% /run/lock
tmpfs                             tmpfs     2.0G     0  2.0G   0% /sys/fs/cgroup
/dev/vda2                         ext4      976M  197M  713M  22% /boot
/dev/loop0                        squashfs   55M   55M     0 100% /snap/core18/1880
/dev/loop1                        squashfs   55M   55M     0 100% /snap/core18/1754
/dev/loop2                        squashfs   72M   72M     0 100% /snap/lxd/16100
/dev/loop3                        squashfs   72M   72M     0 100% /snap/lxd/15675
/dev/loop4                        squashfs   30M   30M     0 100% /snap/snapd/8542
/dev/loop5                        squashfs   30M   30M     0 100% /snap/snapd/8140
tmpfs                             tmpfs     394M     0  394M   0% /run/user/0
node01.srv.world:/vfs_distributed nfs4       50G  6.5G   42G  14% /mnt
関連コンテンツ