Linux nfs服务讲解
nfs服务介绍
- nfs(Network File System) 网络文件系统,能使用户访问服务器的文件系统,就像访问自己的本机的文件系统一样,并且多个
客户端共享访问该文件系统。 - 目前nfs服务,较为流行的两个nfs的组件为:nfsd,nfs-ganesha。前者linux为系统自带的内核态的文件系统,后者是开源的用户空间的文件
系统。因为nfs-ganesha运行在用户态,nfsd运行在内核态,所以nfs-ganesha具有内存分配灵活,可移植性更好,更方便扩展等优势。
缺点是nfs-ganesha目前的稳定性还不如nfsd。
如何搭建nfsd和nfs-ganesha服务
机器环境为centos7,由于两者都使用2049端口,因此一台服务器上,只能跑其中之一.
搭建nfsd服务
A. 检查是否安装rpcbind和nfs-utils软件
rpm -qa | grep rpcbind nfs-utilsB. 如果上面两个软件没有安装,需要安装这两个软件
yum install -y rpcbind nfs-utilsC. 启动B中安装的软件
systemctl start rpcbind && systemctl enable rpcbind
systemctl start nfs && systemctl enable nfsD. 配置nfs权限文件
配置权限可以直接修改/etc/exports文件,也可以在/etc/exports.d目录下,添加*.exports文件。
文件内容格式为:目录 IP/IP网段(nfs选项)
文件内容每一个权限的占用一行,选项一般使用较多的搭配项为,rw/ro,sync,no_root_squash,rw表示读写,ro表示只读
sync,表示数据写入到内存和硬盘,保证数据不会丢失,当客户端用root身份挂载时候,nfs服务器将其映射为root用户.E. 执行权限的加载 命令,exportfs -rav 执行这个命令,并不需要去重启nfs服务。
F. 客户端使用如下命令去挂载,172.16.0.1表示服务器的ip地址,vers 代表协议类型,支持3,4,4.1等,/mnt表示服务器的
共享目录,/tmp为本地目录
mount -t nfs 172.16.0.1:/mnt /tmp -o vers=4G. 挂载成功后,使用df命令,nfs4所在的哪一行为挂载的nfs文件系统
然后就可以,cd /tmp,对这个目录下进行读写文件等操作了,
至此nfsd服务全部搭建完毕。H. 查看nfs的日志,在系统日志/var/log/messages中,可以用vim打开,搜索nfs关键字。
nfs-ganesha搭建(明天继续写哈)