NFS介绍与基本安装
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,1NFS介绍NFS是Network File System的缩写(分布式文件系统协议),==它最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案 (share files
千家信息网最后更新 2026年11月03日NFS介绍与基本安装
1NFS介绍
NFS是Network File System的缩写(分布式文件系统协议),==它最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案 (share files)==
NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本
NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。《客户端NFS和服务端NFS通讯过程》
1)首先服务器端启动RPC服务,并开启111端口
2)启动NFS服务,并向RPC注册端口信息
3)客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口
4)服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
5)客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。
(注:rpcbind是centos6及以后称之为rpcbind,portmap是centos5及以前的版本)
场景1:有3台机器A,B,C,需求是这3台机器的数据是一样的,当A的机器负载高时客户想要访问A服务器上的数据时,这时有2台机器B,C的负载不是很高,将A与B,C的数据共享,可是怎么样能时实的更新B,与C的机器上呢。
此时用NFS服务即可实现,时实的更新的数据。(NFS不监听端口,portmap监听111端口)
2nfs服务端安装配置
服务端的配置:
[root@chy01 ~]# ifconfigens33: flags=4163 mtu 1500 inet 192.168.212.11 netmask 255.255.255.0 broadcast 192.168.212.255 inet6 fe80::243b:ddac:7a2b:a5b prefixlen 64 scopeid 0x20 ether 00:0c:29:13:b3:3b txqueuelen 1000 (Ethernet) RX packets 5269 bytes 2572740 (2.4 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1167 bytes 157323 (153.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0(服务端的ip地址)[root@chy01 ~]# yum install -y nfs-utils rpcbind[root@chy01 ~]# vim /etc/exports(nfs的配置文件)/home/nfstestdir 192.168.212.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)(/home/nfstestdir 需要共享的目录,这个目录后续需要创建,192.168.212.0/24(给192.168.212.0这个网络段共享目录。(rw,sync,all_squash,anonuid=1000,anongid=1000)如此是[root@chy01 ~]# mkdir /home/nfstestdir[root@chy01 ~]# chmod 777 /home/nfstestdir(创建目录并且给777的权限)[root@chy01 ~]# netstat -lntpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1275/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2240/master tcp6 0 0 :::3306 :::* LISTEN 1744/mysqld tcp6 0 0 :::111 :::* LISTEN 1/systemd tcp6 0 0 :::22 :::* LISTEN 1275/sshd tcp6 0 0 ::1:25 :::* LISTEN 2240/master (可以查看到rpc服务已经启动)[root@chy01 ~]# ps aux |grep nfsroot 3502 0.0 0.0 112664 976 pts/0 S+ 07:06 0:00 grep --color=auto nfs(虽然rpc已经启动,但是nfs服务并没有启动)[root@chy01 ~]# systemctl start nfs(手动启动nfs)[root@chy01 ~]# ps aux |grep nfsroot 3550 0.0 0.0 0 0 ? S< 07:07 0:00 [nfsd4_callbacks]root 3556 0.0 0.0 0 0 ? S 07:07 0:00 [nfsd]root 3557 0.0 0.0 0 0 ? S 07:07 0:00 [nfsd]root 3558 0.0 0.0 0 0 ? S 07:07 0:00 [nfsd]root 3559 0.0 0.0 0 0 ? S 07:07 0:00 [nfsd]root 3560 0.0 0.0 0 0 ? S 07:07 0:00 [nfsd]root 3561 0.0 0.0 0 0 ? S 07:07 0:00 [nfsd]root 3562 0.0 0.0 0 0 ? S 07:07 0:00 [nfsd]root 3563 0.0 0.0 0 0 ? S 07:07 0:00 [nfsd]root 3568 0.0 0.0 112664 976 pts/0 S+ 07:07 0:00 grep --color=auto nfs(查看nfs服务)[root@chy01 ~]# systemctl enable nfsCreated symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.(nfs开机启动) 客户端简单配置:
[root@chy ~]# ifconfigens33: flags=4163 mtu 1500 inet 192.168.212.10 netmask 255.255.255.0 broadcast 192.168.212.255 inet6 fe80::338e:589c:fa07:65e5 prefixlen 64 scopeid 0x20 ether 00:0c:29:70:77:62 txqueuelen 1000 (Ethernet) RX packets 8880 bytes 8055224 (7.6 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 1205 bytes 139708 (136.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0(客户端的IP地址)[root@chy ~]# yum install -y nfs-utils rpcbind(同样需要安装nfs-utils包) 3nfs配置选项
nfs配置选项
[root@chy01 ~]# cat /etc/exports/home/nfstestdir 192.168.212.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)rw 读写 ro 只读 sync 同步模式,内存数据实时写入磁盘 async 非同步模式 no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大 root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户 all_squash 客户端上所有用户在使用NFS共享目录时都被限定为一个普通用户 anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid挂载客户端
在此就不需要在安装nfs,因为之前就有安装nfs安装包(需要关闭防火墙)[root@chy ~]# showmount -e 192.168.212.11Export list for 192.168.212.11:/home/nfstestdir 192.168.212.0/24(可以看到共享的目录/home/nfstestdir)[root@chy ~]# mount -t nfs 192.168.212.11:/home/nfstestdir /mnt/ (挂载时需要加-t[root@chy ~]# df -h 文件系统 容量 已用 可用 已用% 挂载点/dev/mapper/cl-root 8.8G 5.4G 2.9G 66% /devtmpfs 737M 0 737M 0% /devtmpfs 748M 0 748M 0% /dev/shmtmpfs 748M 8.6M 739M 2% /runtmpfs 748M 0 748M 0% /sys/fs/cgroup/dev/sda1 190M 107M 70M 61% /boot/dev/mapper/cl-var 8.4G 281M 7.7G 4% /var/dev/mapper/cl-home 497M 26M 472M 6% /hometmpfs 150M 0 150M 0% /run/user/0192.168.212.11:/home/nfstestdir 497M 26M 472M 6% /mnt[root@chy mnt]# touch chy.111[root@chy mnt]# ls -l 总用量 0-rw-r--r-- 1 mysql mysql 0 8月 24 08:06 chy.111(在客户端创建一个chy.111)[root@chy mnt]# id mysqluid=1000(mysql) gid=1000(mysql) 组=1000(mysql)在服务端测试
[root@chy01 ~]# ls -l /home/nfstestdir/总用量 0-rw-r--r-- 1 mysql mysql 0 8月 24 08:06 chy.111[root@chy01 ~]# id mysqluid=1000(mysql) gid=1000(mysql) 组=1000(mysql)也许有个疑问?为什么授权用户和组是mysql呢?
[root@chy01 ~]# cat /etc/exports/home/nfstestdir 192.168.212.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)我们看到,我们设置的权限为anonuid=1000,anongid=1000,那么1000就是mysql
服务
客户
客户端
数据
用户
目录
端口
端的
机器
配置
文件
权限
版本
系统
开发
不同
普通
信息
公司
地址
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
厦门中拓互联网络科技有限公司
工业互联网科技新基建
金融科技与互联网金融
礼当家互联网科技
互联网 视角下的科技创新
互联网科技视频素材
互联网科技咨询
多迪互联网科技有限公司
现代科技和互联网有关系吗
江阴互联网智能科技产品进口
中和天地互联网科技有限公司
伊宁互联网科技做什么的
互联网风格科技公司名称
云鲸互联网络科技有限公司
科技互联网行业投资研究
国产互联网科技公司
陕西彩京云互联网科技有限公司
互联网科技大会大佬
网互联网络科技
什么是科技互联网
亿人帮互联网科技有限公司
互联网科技官网
狮子座互联网科技有限公司
齐家互联网科技有限公司
亿人帮互联网科技
互联网公司会议桌创意科技软装饰
宁夏众和广鑫互联网科技有限公司
坤平互联网科技
雨阳互联网卡科技有限公司