NFS

# NFS **Network File System 网络文件系统** 文件共享服务 网络文件系统。挂载的功能.将本地的资源挂着网络 ==NFS优势==:节省本地存储空间,将常用的数据,如:/home目录,存放在NFS服务器上且可以通过网络访问,本地终端将可减少自身存储空间的使用 ## nfs.ko NFS 是一个文件系统,是操作系统来提供的,在内核里面就提供的 有xfs.ko 那么具有一个nfs.ko ```bash [root@localhost ~]# yum install mlocate -y [root@localhost ~]# locate xfs.ko locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory [root@localhost ~]# updatedb [root@localhost ~]# locate xfs.ko /usr/lib/modules/3.10.0-327.el7.x86_64/kernel/fs/xfs/xfs.ko [root@localhost ~]# locate nfs.ko /usr/lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/xen/xenfs/xenfs.ko /usr/lib/modules/3.10.0-327.el7.x86_64/kernel/fs/nfs/nfs.ko ``` ## nfs-utils 服务安装包 ```bash yum install nfs-utils ``` ## 开启服务 ```bash centos7: systemctl enable --now nfs systemctl enable --now nfs.service systemctl enable --now nfs-server [root@c7-107 ~]# ll /lib/systemd/system/nfs* 发现软连接的关系,所以centos8 上发生变化 =============================================== centos8 systemctl enable --now nfs-server #只要开启nfs.service,那么 rpcbind 就自动打开了 #监听的端口:rpcbind 是111 nfs.service 是很多的端口的集合 [root@c7-127 ~]# lsof -i :111 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rpcbind 547 rpc 6u IPv4 17466 0t0 UDP *:sunrpc rpcbind 547 rpc 8u IPv4 17472 0t0 TCP *:sunrpc (LISTEN) rpcbind 547 rpc 9u IPv6 17473 0t0 UDP *:sunrpc rpcbind 547 rpc 11u IPv6 17475 0t0 TCP *:sunrpc (LISTEN) ``` ## rpcbind 注册中心 ```bash nfs 依赖于 rpcbind 服务 用户访问rpcbind 的111 端口才能访问 nfs 换句话说 :就是在centos7的以上的版本,开启了nfs 服务就自动开启了 rpcbind 服务 ``` ### rpcbind 基于 socket 和 service 两种 **换句话说就是要关闭 rpcbind 和 rpcbind.socket 两个才行。 但是 nfs 服务是依赖于rpcbind的,所以只要重启 nfs 服务,那么 rpcbind 就自动复活** ```bash [root@c7-107 ~]# systemctl stop rpcbind Warning: Stopping rpcbind.service, but it can still be activated by: rpcbind.socket [root@c7-107 ~]# systemctl status rpcbind.socket #关闭服务了,但是socket还是开的 ● rpcbind.socket - RPCbind Server Activation Socket Loaded: loaded (/usr/lib/systemd/system/rpcbind.socket; enabled; vendor preset: enabled) Active: active (listening) since Tue 2021-06-29 20:11:05 CST; 26min ago Listen: /var/run/rpcbind.sock (Stream) Jun 29 20:11:05 c7-107 systemd[1]: Listening on RPCbind Server Activation Socket. ====================================================== [root@c7-107 ~]# systemctl stop rpcbind.socket [root@c7-107 ~]# systemctl stop rpcbind [root@c7-107 ~]# systemctl restart nfs #重启就可以复活 rpcbind和rpcbind.socket [root@c7-107 ~]# systemctl status rpcbind ● rpcbind.service - RPC bind service Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2021-06-29 20:43:45 CST; 7s ago [root@c7-107 ~]# systemctl status rpcbind.socket ● rpcbind.socket - RPCbind Server Activation Socket Loaded: loaded (/usr/lib/systemd/system/rpcbind.socket; enabled; vendor preset: enabled) Active: active (running) since Tue 2021-06-29 20:43:45 CST; 41s ago ``` ## rpcinfo ```bash [root02:53 PMcentos8 ~]#rpcinfo -p program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 58678 status 100024 1 tcp 51107 status 100005 1 udp 20048 mountd #查看远程客服端的协议 [root@c7-107 ~]# rpcinfo -s 10.0.0.127 program version(s) netid(s) service owner 100000 2,3,4 local,udp,tcp,udp6,tcp6 portmapper superuser 100024 1 tcp6,udp6,tcp,udp status 29 100005 3,2,1 tcp6,udp6,tcp,udp mountd superuser 100003 4,3 udp6,tcp6,udp,tcp nfs superuser 100227 3 udp6,tcp6,udp,tcp nfs_acl superuser 100021 4,3,1 tcp6,udp6,tcp,udp nlockmgr superuser #++*nfs服务启动的端口太多,只能企业内部用,因为不好配防火墙*++ ``` ## NFS配置文件 ·```badh [root@localhost ~]# rpm -qf /etc/exports setup-2.8.71-6.el7.noarch yum install setup -y [root@localhost ~]# rpm -ql setup /etc/exports /etc/exports.d/*.exports ``` ```bash [root@c7-127 ~]# cat /etc/exports /data/wordpress *(rw) [root@c7-127 ~]# exportfs -r 重新加载文件 [root@c7-127 ~]# [root@c7-127 ~]# exportfs -v /data/wordpress (sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash) [root@localhost ~]# vim /etc/exports /data/wordpress_8 * #默认情况下是只读的 * 表示所以的主机 #表示将 /data/wordpress_8 的目录共享了 #加载服务才shenxio ```
上一篇:haproxy服务代理: tcp层, http层


下一篇:SpringMVC HttpMessageConverter 匹配规则