配置nfs-ganesha,以nfs的方式挂载gluster volume

配置nfs-ganesha,以nfs的方式挂载gluster volume

注:vdisk2 为glusterfs的一个volume
查看volume vdisk2:
gluster volume info vdisk2

Volume Name: vdisk2
Type: Replicate
Volume ID: 95743624-248f-45f1-98af-8b0f3f5900dd
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp

Bricks:
Brick1: node108:/brick2
Brick2: node110:/brick2
Brick3: node145:/brick2
Options Reconfigured:
performance.client-io-threads: off
nfs.disable: on
transport.address-family: inet
cluster.enable-shared-storage: enable

安装
在NFS服务端节点(glusterfs节点)安装(需要通过nfs挂载gluster的集群节点)
yum install nfs-ganesha nfs-ganesha-gluster
启动服务
systemctl start nfs-ganesha
日志文件
tail -f /var/log/ganesha/ganesha.log
编辑配置文件ganesha.conf
注:配置文件可以通过storhaug export vdisk2(vdisk2为volume名称)的方式导出,可参考:https://www.cnblogs.com/luoliyu/articles/10847939.html
cat /etc/ganesha/ganesha.conf |grep -v ^$ | grep -v "#"

NFS_CORE_PARAM {
        mount_path_pseudo = true;
        Protocols = 3,4;
        Enable_RQUOTA = false;
}
EXPORT_DEFAULTS {
        Access_Type = RW;
}
EXPORT
{
        Export_Id = 1;
        Path = /vdisk2;
        Pseudo = /vdisk2;
        Access_Type = RW;
        Squash = no_root_squash;
        Sectype = sys;
        Transports = "UDP","TCP";
        Disable_ACL = true;
        FSAL {
                Name = GLUSTER;
                hostname = "10.14.151.145";
                volume = "vdisk2";
        }
}
LOG {
        Default_Log_Level = WARN;
}

重启服务
systemctl restart nfs-ganesha
客户端挂载
lixux非gluster节点需要安装nfs-utils
yum install nfs-utils
gluster节点以NFS的方式挂载
mount -t nfs node110:/vdisk2 /tmp/aaa
写文件测试
echo 123 > /tmp/aaa/a.txt
cat /tmp/aaa/a.txt
123
在windows机器上挂载NFS测试:

mount node110:/vdisk2 x:

图片1.png

卸载
umount 盘符 > umount V:
如果要卸载全部的NFS挂载:
umount -f -a
图片2.png

Windows 2008开启mount命令:

图片3.png

Windows系统挂载NFS时只能读不能写问题解决
挂载正常的话,就会在我的电脑中有一个盘符映射到LINXU的NFS共享出的目录来。如下图

图片4.png

现在挂载成功了,试下能不能复制文件到本地电脑,没有问题

图片5.png

再试下,往里面复制一个文件,如下图,报错了


图片6.png

看了下,是报没有权限。那WINDOWS客户端挂载NFS时的默认权限是什么呢?在Y盘符上点右键,会看到关于NFS的两个选项卡,如下图:

图片7.png

图片8.png
图片9.png

可以看到NFS共享出来的文件夹的权限为755,UID和GID都是0(是ROOT用户)。而用户身份验证中看到UID和GID都是-2,好特殊的数字。也就是只有root有所有权限,其它用户只能读。WINDOWS用户登陆后UID和GID都是-2,所以没有权限写。这个地方看客户端的权限也可以在命令行下输入 mount命令,如下图:


图片10.png

那有没有方法让WINDOWS用户登陆后获得root的权限,当然是可以的。
解决办法:就是让Win7在挂载NFS的时候将UID和GID改成0即可:
打开注册表:开始–运行–输入regedit

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default

空白处右键增加两项DWORD:AnonymousUid,AnonymousGid;值都是0。如下图:


图片11.png

重新启动计算机,重新mount。
命令行挂载和卸载远程NFS文件夹:
mount \10.0.17.241\lipeng\xxxx f: #挂载远程NFS文件夹
umount f: #卸载远程NFS文件夹

然后,再试读写一切正常了。这种方法有安全问题,每个人都可以删文件,不太安全。

你可能感兴趣的:(配置nfs-ganesha,以nfs的方式挂载gluster volume)