手机网站 宽度,手机多少钱,邯郸网络教研中心,江苏网站备案需要多久NSF 笔记#xff1a;
NFS是通过网络来进行服务器和客户端之间的数据传输的#xff0c;我们大家都知道#xff0c;要想通过网络进行传输#xff0c;必须得知道是通过哪一个端口进行传输的#xff01;
NFS服务器对于端口的选择是随机的#xff0c;那么问题在于#xff0…NSF 笔记
NFS是通过网络来进行服务器和客户端之间的数据传输的我们大家都知道要想通过网络进行传输必须得知道是通过哪一个端口进行传输的
NFS服务器对于端口的选择是随机的那么问题在于服务器端随机选择的端口客户端如何才能知道呢 这就有了第三方的管理 NFS服务器端通过RPCremote procedure call远程过程调用来实现RPC统一管理NFS的端口
RPC统一对外端口是111使用NFS的时候必须先启动RPC再启动NFS这样NFS才能到RPC去注册端口信息然后客户端向服务器的RPC请求服务器的NFS端口信息这样就能够传输数据了。
实现过程 1) 服务器端启动RPC服务对外开放端口111
2) 启动NFS服务向RPC注册端口。
3) 客户端启动RPC向服务器端RPC请求服务器的NFS端口
4) 服务器端RPC服务反馈NFS端口给客户端
5) 客户端获取NFS端口建立和服务器端的连接进行数据传输
Ubuntu环境下 ① 安装必要软件 sudo apt-get install nfs-kernel-server centos下执行yum install -y nfs-utils 上述命令apt会自动安装nfs-common、rpcbind等13个安装包
② 编写配置文件 #配置文件在 /etc/exports sudo vim /etc/exports #最后一行添加配置共享目录 可连接的客户端网段ip指定网段192.168.0.0/16或者完全开放: * /home/dong/embeded_study 192.168.7.2(rw,sync,no_root_squash,no_subtree_check)
配置说明 /home/dong/embeded_studyNFS服务器端的目录用于共享 192.168.7.2允许的IP访问也可以使用 * 允许所有网段 rw挂接此目录的客户端对该共享目录的读写权限 sync资料同步写入内存和硬盘 no_root_squashroot用户具有对根目录的完全管理访问权限 no_subtree_check不检查父目录的权限
③ 更新exports文件 sudo exportfs -arv -a全部mount或umount文件/etc/exports中的内容。 -r重新mount文件/etc/exports中的共享内容。 -uumount目录。 -v在exportfs的时候将详细的信息输出到屏幕上。
④ 启动nfs服务 sudo /etc/init.d/rpcbind start #先启动rpcbind sudo /etc/init.d/nfs-kernel-server start #再启动nfs
或
systemctl start rpcbind systemctl start nfs-kernel-server systemctl enable rpcbind systemctl enable nfs-kernel-server
centos下执行
systemctl start rpcbind systemctl start nfs-server systemctl enable rpcbind systemctl enable nfs-server 一定得先启动rpcbind
⑤ 其他命令 #显示已经mount到本机nfs目录的客户端机器。 sudo showmount -e localhost #将配置文件中的目录全部重新export一次无需重启服务。 sudo exportfs -rv #查看NFS的运行状态 sudo nfsstat #查看rpc执行信息可以用于检测rpc运行情况 sudo rpcinfo #查看网络端口NFS默认是使用111端口。 sudo netstat -tu -4 客户端使用 ① 安装工具 sudo apt install nfs-common 上述命令apt会自动安装nfs-common、rpcbind等12个安装包
② 查看共享目录 #显示指定的ip_localnameNFS服务器上export出来的目录 #ip_localname为服务端主机名或IP地址 sudo showmount -e ip_localname #这一步如果有问题需要进行排查 #可能遇到timeout、unable to send等相关问题排查服务器rpcbind、nfs启动顺序客户端的ip地址是否设置正确以及服务器端的/etc/hosts中ip和计算机名是否匹配等等 ③ 创建挂载目录 通过上一个showmount命令可以查询到服务器端共享的文件 接下来就是挂载到客户端了 #创建一个目录用于挂载 sudo mkdir -p ./share_dir ④ 挂载 #将NFS服务器IP上的目录挂载到本地的/data/use/目录下 mount -t nfs ip_localname:/data/use /data/use ⑤ 查询挂载情况 #完成挂载后可以查询挂载情况 df -h ⑥ 自动挂载设置 vim /etc/fstab ip_localname:/data/freeswitch /data/freeswitch nfs defaults 0 0 ⑥ 参数列表 NFS常用参数 ro——只读访问 rw——读写访问 sync——所有数据在请求时写入共享 async——nfs在写入数据前可以响应请求 secure——nfs通过1024以下的安全TCP/IP端口发送 insecure——nfs通过1024以上的端口发送 wdelay——如果多个用户要写入nfs目录则归组写入默认 no_wdelay——如果多个用户要写入nfs目录则立即写入当使用async时无需此设置 hide——在nfs共享目录中不共享其子目录 no_hide——共享nfs目录的子目录 subtree_check——如果共享/usr/bin之类的子目录时强制nfs检查父目录的权限默认 no_subtree_check——和上面相对不检查父目录权限 all_squash——共享文件的UID和GID映射匿名用户anonymous适合公用目录。 no_all_squash——保留共享文件的UID和GID默认 root_squash——root用户的所有请求映射成如anonymous用户一样的权限默认 no_root_squash——root用户具有根目录的完全管理访问权限 anonuidxxx——指定nfs服务器/etc/passwd文件中匿名用户的UID anongidxxx——指定nfs服务器/etc/passwd文件中匿名用户的GID
Linux系统中通过service管理的,需要在/etc/init.d/目录下创建启动程序 启动 service rpcbind start 开机启动 chkconfig rpcbind on
通过systemctl管理的,需要在/lib/systemd/system/配置相应的service 启动 systemctl start rpcbind 开机启动 systemctl enable rpcbind