单页背景(单页背景怎么弄)
1766
2022-05-30
假设局域网A中的机器需要访问局域网B的NFS服务,但是基于网络安全的考虑,局域网A中只有机器A1可以访问局域网B的NFS服务,相信这种场景是比较常见的。最近,笔者就遇到了类似的使用场景,在调查解决方案的时候,搜索引擎多次关联到一个叫nfs-ganasha的开源软件。于是,笔者就根据nfs-ganasha为数不多的文档,结合nfs-ganesha源代码尝试解决我的问题。
nfs-ganesha目前最新的正式release版本为v3.3,经多次验证,是不支持代理NFS v3服务的,所幸,笔者从当前最新更新的代码分支中(next分支),查到了代理V3服务器的逻辑,于是费了好大劲从最新代码中编译二进制文件,经验证,问题得到解决,下面我会简单介绍一下如何配置nfs-ganesha解决我的问题的。
先睹为快
1. 首先准备好配置文件(比如叫做ganesha-v3.conf)
EXPORT { Export_Id = 77; # 这个是上面提到的局域网B的NFS服务export的一个目录 Path = /my_shared_dir; Pseudo = /tmp_proxy; Access_Type = RW; Squash = no_root_squash; # Exporting FSAL FSAL { Name = PROXY_V3; # 这个是上面提到的局域网B的NFS服务IP地址 Srv_Addr = 100.0.0.1; } } NFS_CORE_PARAM { ## Allow NFSv3 to mount paths with the Pseudo path, the same as NFSv4, ## instead of using the physical paths. mount_path_pseudo = true; }
2. 然后启动ganesha服务
注意:ganesha-v3.conf的内容如步骤1所示
rpcbind rpc.statd -L rpc.idmapd /usr/bin/ganesha.nfsd -F -L /dev/stdout -f /usr/bin/ganesha.nfsd -F -L /dev/stdout -f ganesha-v3.conf
3.尝试挂载
注意:如果在不同于步骤2的机器上挂载,127.0.0.1设为步骤2机器的公网IP
mkdir lhg mount -t nfs 127.0.0.1:/tmp_proxy lhg
代码编译ganesha
wget https://github.com/nfs-ganesha/nfs-ganesha/archive/next.zip && unzip next.zip cd next/next cmake -DCMAKE_BUILD_TYPE=Release -Wno-dev -DPROXY_HANDLE_MAPPING=ON -DUSE_9P=OFF -DUSE_FSAL_CEPH=OFF -DUSE_FSAL_GLUSTER=OFF -DUSE_FSAL_LUSTRE=OFF -DUSE_FSAL_LIZARDFS=OFF -DUSE_FSAL_XFS=ON -DUSE_FSAL_RGW=OFF -DRADOS_URLS=OFF -DUSE_RADOS_RECOV=OFF -D_MSPAC_SUPPORT=OFF -DUSE_GSS=ON -DUSE_FSAL_LUSTRE=OFF -DALLOCATOR=libc ../src/ \ make make install
总结
Nfs-ganesha是运行在用户空间的NFS(支持v3,4.0,4.1,4.1 pNFS和4.2)文件服务,旨在解决linux内核FUSE(Filesystem in Userspace)不支持通过NFS协议向外export FUSE的痛点,目前可支持通过NFS export多种文件系统,包括ceph,Cluster,GPFS等(更多信息请参阅链接)。
Nfs-ganesha适用于较多的使用场景,希望本文能够帮助到大家。
Linux
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。