NFS介绍
- NFS是Network File System的缩写
- NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本(2010年)
- NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写,(远程过程调用)为NFS服务提供支持。
- NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致。用户在B和C上更新了文件,A上也实时更新。
-
- NFS服务不会监听端口,通信的过程由rpc服务来监听端口111实现通信
NFS服务端安装配置
- NFS服务不会监听端口,通信的过程由rpc服务来监听端口111实现通信
- akuilinux01作为服务端,并安装yum install -y nfs-utils rpcbind
- 在服务端上写入以下配置
[[email protected] ~]# vim /etc/exports /home/nfstestdir #共享的目录 192.168.21.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
- 服务端创建共享目录
[[email protected] ~]# mkdir /home/nfstestdir [[email protected] ~]# chmod 777 /home/nfstestdi
- 服务端启动服务并开机启动
[[email protected] ~]# systemctl start rpcbind [[email protected] ~]# systemctl start nfs [[email protected] ~]# systemctl enable rpcbind [[email protected] ~]# systemctl enable nfs Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[[email protected] ~]# ps aux |grep rpc rpc 2376 0.0 0.0 64956 1404 ? Ss 08:51 0:00 /sbin/rpcbind -w rpcuser 2394 0.0 0.0 42376 1760 ? Ss 08:51 0:00 /usr/sbin/rpc.statd root 2401 0.0 0.0 0 0 ? S< 08:51 0:00 [rpciod] root 2411 0.0 0.0 42564 944 ? Ss 08:51 0:00 /usr/sbin/rpc.mountd root 2412 0.0 0.0 43816 544 ? Ss 08:51 0:00 /usr/sbin/rpc.idmapd root 2504 0.0 0.0 112676 976 pts/1 S+ 08:53 0:00 grep --color=auto rpc [[email protected] ~]# ps aux |grep nfs root 2424 0.0 0.0 0 0 ? S< 08:51 0:00 [nfsd4_callbacks] root 2430 0.0 0.0 0 0 ? S 08:51 0:00 [nfsd] root 2431 0.0 0.0 0 0 ? S 08:51 0:00 [nfsd] root 2432 0.0 0.0 0 0 ? S 08:51 0:00 [nfsd] root 2433 0.0 0.0 0 0 ? S 08:51 0:00 [nfsd] root 2434 0.0 0.0 0 0 ? S 08:51 0:00 [nfsd] root 2435 0.0 0.0 0 0 ? S 08:51 0:00 [nfsd] root 2436 0.0 0.0 0 0 ? S 08:51 0:00 [nfsd] root 2437 0.0 0.0 0 0 ? S 08:51 0:00 [nfsd] root 2506 0.0 0.0 112676 980 pts/1 S+ 08:54 0:00 grep --color=auto nfs
NFS配置选项
- rw 读写
- ro 只读
- sync 同步模式,内存数据实时写入磁盘
- async 非同步模式
- no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大,相当于root在本地磁盘读写
- root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户
- all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户
- anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid
- 客户端操作
- akuilinux02作为客户端,安装yum install -y nfs-utils
- showmount -e 192.168.133.130 //该ip为NFS服务端ip,查看是否有权限连接服务端,如果不能连接,查看服务端NFS服务是否启动,有没有监听111端口,检查服务端和客户端firewalld和SELinux防火墙是否关闭。
[[email protected] ~]# showmount -e 192.168.21.128 Export list for 192.168.21.128 /home/nfstestdir 192.168.21.0/24
- 挂载目录
[[email protected] ~]# mount -t nfs 192.168.21.128:/home/nfstestdir /mnt [[email protected] ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/sda3 18G 1.1G 17G 6% / devtmpfs 907M 0 907M 0% /dev tmpfs 916M 0 916M 0% /dev/shm tmpfs 916M 8.7M 908M 1% /run tmpfs 916M 0 916M 0% /sys/fs/cgroup /dev/sda1 197M 113M 85M 58% /boot tmpfs 184M 0 184M 0% /run/user/0 192.168.21.128:/home/nfstestdir 18G 7.4G 11G 42% /mnt
- 测试
[[email protected] ~]# touch /mnt/aminglinux.txt [[email protected] ~]# ls -l /mnt/aminglinux.txt -rw-r--r-- 1 1000 1000 0 6月 22 09:06 /mnt/aminglinux.txt [[email protected] ~]# ll /home/nfstestdir/ 总用量 0 -rw-r--r-- 1 akui akui 0 6月 22 09:06 aminglinux.txt #因为限定了属主和属组所以显示1000,和akui(01机器的1000为akui)
原文地址:http://blog.51cto.com/akui2521/2131569
时间: 2024-11-05 19:25:35