配置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:
卸载
umount 盘符 > umount V:
如果要卸载全部的NFS挂载:
umount -f -a
Windows 2008开启mount命令:
Windows系统挂载NFS时只能读不能写问题解决
挂载正常的话,就会在我的电脑中有一个盘符映射到LINXU的NFS共享出的目录来。如下图
现在挂载成功了,试下能不能复制文件到本地电脑,没有问题
再试下,往里面复制一个文件,如下图,报错了
看了下,是报没有权限。那WINDOWS客户端挂载NFS时的默认权限是什么呢?在Y盘符上点右键,会看到关于NFS的两个选项卡,如下图:
可以看到NFS共享出来的文件夹的权限为755,UID和GID都是0(是ROOT用户)。而用户身份验证中看到UID和GID都是-2,好特殊的数字。也就是只有root有所有权限,其它用户只能读。WINDOWS用户登陆后UID和GID都是-2,所以没有权限写。这个地方看客户端的权限也可以在命令行下输入 mount命令,如下图:
那有没有方法让WINDOWS用户登陆后获得root的权限,当然是可以的。
解决办法:就是让Win7在挂载NFS的时候将UID和GID改成0即可:
打开注册表:开始–运行–输入regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default
空白处右键增加两项DWORD:AnonymousUid,AnonymousGid;值都是0。如下图:
重新启动计算机,重新mount。
命令行挂载和卸载远程NFS文件夹:
mount \10.0.17.241\lipeng\xxxx f: #挂载远程NFS文件夹
umount f: #卸载远程NFS文件夹
然后,再试读写一切正常了。这种方法有安全问题,每个人都可以删文件,不太安全。