Linux之NFS服务NFS⼯作过程⽇志服务
NFS服务NFS⼯作过程⽇志服务
NFS:Network File System(⽹络⽂件系统),是⼀种基于TCP/IP传输的⽹络⽂件系统协议,最早由SUN公司研发。⽬前使⽤的NFS 4.X版本
通过使⽤NFS协议,客户机可以像访问本地⽬录⼀样,访问远程服务器中的共享资源。
1.当在NFS服务器设置好⼀个共享⽬录/home/public后,
2.其他的有权访问NFS服务器的NFS客户端就可以将这个⽬录挂载到⾃⼰⽂件系统的某个挂载点,这个挂载点可以⾃⼰定义,
如上图客户端A与客户端B挂载的⽬录就不相同。并且挂载好后我们在本地能够看到服务端/home/public的所有数据。
3.如果服务器端配置的客户端只读,那么客户端就只能够只读。如果配置读写,客户端就能够进⾏读写。挂载后,NFS客户端查看磁盘信息命令:df –h。
4. NFS本⾝的服务并没有提供数据传递的协议,⽽是通过使⽤RPC(远程过程调⽤ Remote Procedure Call)来实现远程到本地的过程映射。当NFS启动后,会随机的使⽤⼀些端⼝,NFS就会向RPC注册这些端⼝,RPC记录下这些端⼝,同时开启111端⼝监听请求,⼀旦有请求,就告诉客户端:服务端所使⽤的端⼝,然后建⽴client端和server端端⼝的连接以进⾏数据的传输。因此,在启动nfs之前,⾸先要确保rpc服务启动。
⼯作过程
1、⾸先服务器端启动RPC服务,并开启111端⼝
2、服务器端启动NFS服务,并向RPC注册端⼝信息
3、客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端⼝
4、服务端的RPC(portmap)服务反馈NFS端⼝信息给客户端。
5、客户端通过获取的NFS端⼝来建⽴和服务端的NFS连接并进⾏数据的传输。
2.NFS缺点主要软件包rpcbind  nfs-utils  和端⼝守护进程nsfd
1、rpcbind:  RPC主程序负责NFS的端⼝映射⼯作,监听在111端⼝,程序名为portmapper,可通过rpcinfo命令查看端⼝映射情况,如:rpcinfo -p localhost
2、nfs-utils:  NFS主程序:就是提供rpc.nfsd 及 untd 这两个 NFS daemons 与其他相关 documents 与说明⽂件、执⾏⽂件等的软件,是 NFS 服务所需要的主要软件。
3、进程说明
mountd:是nfs服务的认证服务的守护进程,client在收到返回的真正端⼝时,就会去连接mountd,认证取得令牌。
nfsd:nfs的守护进程,负责接收到⽤户的调⽤请求后与内核发出请求并得到调⽤结果响应给⽤户,⼯作在tcp和udp的2049端⼝。
Idmapd:解决不同主机⽤户不存在情况下的⽂件归属的问题,挤压限制(squash)超级⽤户的⽂件系统中的权限  (没有⽬录的问题)
4、NFS的缺点:客户端主机基于rpc远程调⽤机制,没有⽤户的认证机制,且⽂件的传输都是基于明⽂的⽅式,所以安全性很差。通常只在局域⽹内使⽤,NFS基于IP来进⾏认证,需要辅助的守护进程nfsd来进⾏
1.架设NSF服务服务端共享⽬录
1.服务端安装NFS 查看端⼝先启动 rpcbind 服务,  在启动nfs-utils
NFS服务的程序包名称为 nfs-utils
nfs本⾝程序监听端⼝为2049,服务启动后服务模块⾃动装载到内核中。
yum -y install nfs-utils rpcbind            --安装两个软件服务
systemctl start rpcbind
systemctl start nfs                        --启动服务先启动rpc,
netstat -antulp | grep :111          --查看端⼝
netstat -antulp | grep :2049
rpcinfo -p localhost--查看端⼝映射
##
NFS服务程序启动的相关程序
/sbin/mount.nfs
/usr/sbin/rpc.idmapd
/usr/untd
/usr/sbin/rpc.nfsd
2.NFS服务端的配置⽂件:/etc/exports 增加挂载⽬录和ip  可读可写的权限
vim /etc/exports
注意:①服务端的NFS配置⽂件的编写,⽤空格区分开,主机和选项之间的括号不能有空格
②测试机必须要安装rpcbind和nfs-utils程序,才能挂载服务端的⽂件系统
/etc/export内相关内容选项的含义:
①rw 指定的主机可读、可写
②ro  指定的主机仅可读
③async  异步访问(这个选项可以改进性能,如果没有完全关闭NFS守护进程重启NFS服务器,可能会造成数据丢失,可不加)
④root_squash:挤压root⽤户权限(默认开启的选项)
⑤all_squash:挤压所有⽤户权限
mkdir -p /var/www/html    mkdir -p /var/www/bbs    --服务端创建共享⽬录
systemctl restart rpcbind      systemctl restart nfs    -重启服务注意顺序
3.客户端安装nfs-utils rpcbind  查看挂载nfs⽂件系统yum -y install nfs-utils rpcbind
systemctl start rpcbind
systemctl start nfs
不⽤重启NFS服务重新导⼊⽂件系统(建议在客户端没有在线挂载的情况使⽤)exportfs -a
客户端开机⾃动挂载nfs⽂件系统
vim /etc/fstab
SERVER:/XXX/XXX/XXX  /mount_point    nfs    defaults,_netdev  0 0
4.客户端查询是否可以挂载服务端的共享⽬录
命令格式    :  showmount -e SERVER_IP
下载mysql服务端命令showmount -e 192.168.10.10
5.客户端永久挂载服务端共享的⽂件系统⽬录
命令格式  mount -t nfs 192.168.10.10:/var/www/html  /mnt
nfs挂载⽂件系统nfs服务器ip 共享的命令挂载在客户端的位置mount -t nfs 192.168.10.10:/var/www/html /mnt    --临时挂载
df -h                                                --查看是否成功
永久挂载
umount /mnt/                ---卸掉
df -h
cp /etc/fstab  /etc/fstab.bak    -复制备份挂载
vim /etc/fstab              --增加永久挂载共享⽬录
192.168.10.10:/var/www/html  /mnt  nfs  defaults,_netdev    0  0
或者去修改

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。