南昌网站开发,设计制作实践活动,wordpress 文章点赞插件,旅游网站开发背景论文搭建nfs文件目录共享
一、简介
NFS#xff0c;英文全称是Network File System#xff0c;中文全称是网络文件系统#xff0c;是FreeBSD支持的文件系统中的一种#xff0c;它允许网络中的计算机之间通过TCP/IP网络共享资源#xff0c;在NFS应用中#xff0c;本地NFS的客…搭建nfs文件目录共享
一、简介
NFS英文全称是Network File System中文全称是网络文件系统是FreeBSD支持的文件系统中的一种它允许网络中的计算机之间通过TCP/IP网络共享资源在NFS应用中本地NFS的客户端应用可以透明的读写位于远端NFS服务器上就像访问本地文件。
二、组成
NFS体系至少有两部分 一台NFS服务器和若干客户机如图所示 客户机通过TCP/IP网络远程访问存放在NFS服务器上的数据
三、配置
【服务器端】
步骤如下
1. 安装nfs
NFS可以被视为一个RPC服务而要启动任何一个RPC服务之前需要做好端口的对应映射的工作这个工作其实就是RPCBIND这个服务所负责的。 也就是说在启动任何一个RPC服务之前我们都需要启动RPCBIND才行注意在CentOS的5.x以前这个软体称为端口映射在CentOS的6.x之后才称为RPCBIND
执行命令
查看系统是否安装nfs服务[roottest]# rpm -qa | grep nfs / rpm -qa | grep rpcbindyum安装nfs [roottest]# yum install nfs-utils -y2. 设置nfs
配置文件/etc/exports
这个文件就是NFS的主要配置文件系统并没有预设值所以这个档案不一定会存在你可能必须要使用vim手动建立 其中允许的网段如果设置为*则表示允许所有网段至于权限设置有一些常用的参数如下
参数内容说明rwro该目录分享的权限是可读写读写或唯读只读但最终能不能读写还是与档案系统的RWX及身份有关syncasyncsync 表示资料会同步写入到buffer和磁盘中async 则表示资料会先暂存于buffer中而非直接写入磁盘no_root_squashroot_squash预设的情况下用户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody如此对伺服器的系统会较有保障。但如果你想要开放用户端使用 root 身份来操作伺服器的档案系统那么这里就得要开 no_root_squashall_squash不论登入NFS的使用者身份是什么用户名都会被压缩成为匿名使用者通常也就是没有人nfsnobodyanonuidanongid匿名意指匿名匿名者前面关于* _squash提到的匿名使用者的UID设定值通常为没人nfsnobody但是你可以自行设定这个UID的值当然这个UID必需要存在于你的/etc/passwd文件当中anonuid指的是UID而anongid则是群组的GID
用户端查询服务器端分享资源的指令/usr/sbin/showmount
这是另一个重要的NFS指令 exportfs是用在NFS服务器端而showmount显示则主要用在客户端showmount显示可以用来察看NFS分享出来的目录资源。
3. 启动nfs
执行命令 [roottest]# /etc/init.d/rpcbind start[roottest]# /etc/init.d/nfs start[roottest]# /etc/init.d/nfslock start注意千万记得要安装顺序启动先启动rpcbind再启动nfs并建议添加到启动项之后便可以用service启动nfs服务执行命令[roottest]# chkconfig rpcbind on[roottest]# chkconfig nfs on[roottest]# chkconfig nfslock on
4. 配置端口
该服务需要开启防火墙那么到底要开启哪些端口呢执行一条命令即可知道执行命令 [roottest]# rpcinfo -p由此可以看出需要开启的端口很多稍稍整理之后结论如下
rpcbind启动的端口是111同时启动在udp和tcpnfs本身的服务启动在2049其他的服务是随机的不过建议固定端口在/etc/sysconfig/nfs修改
执行命令 [roottest]# vim /etc/sysconfig/nfs需要修改的文本内容如下 RQUOTAD_PORT1001LOCKD_TCPPORT30001LOCKD_UDPPORT30001MOUNTD_PORT10025. 检测nfs
在设定好nfs服务器端之后我们可以在服务器端自我测试是否可以连线这个时候便用到showmount命令执行命令 [roottest]# showmount -e localhost【用户端】
作为用户端只需要开启nfs服务然后挂载服务器端共享出来的目录即可
步骤如下
1. 启动nfs
执行命令 [roottest]# /etc/init.d/rpcbind start[roottest]# /etc/init.d/nfs start[roottest]# /etc/init.d/nfslock start注意千万记得要安装顺序启动先启动rpcbind再启动nfs并建议添加到启动项之后便可以用service启动nfs服务执行命令[roottest]# chkconfig rpcbind on[roottest]# chkconfig nfs on[roottest]# chkconfig nfslock on2. 挂载目录
执行命令 [roottest]# mount -t nfs 172.17.30.53:/userdata1/test /userdata1/test[roottest]# df -h命令df -h可以查看是否挂载成功如上图红框中是挂载成功的
【测试】
为了验证是否正确搭建nfs我们先在服务器端共享目录新建一个文件执行命令 [roottest]# vi test写入一些文本保存退出
接着去到用户端相应的目录查看是否已经有了同步过来的test文件如果没有,说明未搭建成功请自行检查问题
我们需要尝试在用户端修改test文件保存退出去到服务器端查看是否修改生效如果已经生效那么说明双向的共享已经完成到此nfs搭建成功!
亲测搭建成功
服务器端
查看系统是否安装nfs服务
rpm -qa | grep nfs
rpm -qa | grep rpcbind
yum安装nfs
yum install nfs-utils -y
设置nfs
配置文件/etc/exports
cat /etc/exports
/nfsdir/ 10.2.0.0/16(rw,no_root_squash,sync)
共享目录 允许访问的网段 权限设置可以配置多个共享目录。其中允许的网段如果设置为*则表示允许所有网段配置端口
该服务需要开启防火墙那么到底要开启哪些端口呢执行一条命令即可知道执行命令rpcinfo -p rpcbind启动的端口是111同时启动在udp和tcp nfs本身的服务启动在2049 其他的服务是随机的不过建议固定端口在/etc/sysconfig/nfs修改
cat /etc/sysconfig/nfs 增加如下
RQUOTAD_PORT1001LOCKD_TCPPORT30001LOCKD_UDPPORT30001MOUNTD_PORT1002启动nfs
service rpcbind start
service nfs start
service nfslock start
注意千万记得要顺序启动先启动rpcbind再启动nfs(不然会不能正常使用我遇到的坑)并建议添加到启动项之后便可以用service启动nfs服务检测nfs
在设定好nfs服务器端之后我们可以在服务器端自我测试是否可以连线这个时候便用到showmount命令
showmount -e localhost
显示共享信息
/nfsdir 10.2.0.0/16客户端
查看系统是否安装nfs服务
rpm -qa | grep nfs
rpm -qa | grep rpcbind
yum安装nfs
yum install nfs-utils -y
启动nfs
service rpcbind start
service nfs start
service nfslock start
注意千万记得要顺序启动先启动rpcbind再启动nfs(不然会不能正常使用我遇到的坑)并建议添加到启动项之后便可以用service启动nfs服务客户端查询服务器端分享资源的指令/usr/sbin/showmount 这是另一个重要的NFS指令 exportfs是用在NFS服务器端而showmount显示则主要用在客户端showmount显示可以用来察看NFS分享出来的目录资源。 执行命令查看showmount
挂载目录
mount -t nfs 10.2.229.181:/nfsdir /nfsdir
df -h在服务器端和客户端各创建一个文件测试有没有达到共享效果