NFS介绍与基本安装
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,1NFS介绍NFS是Network File System的缩写(分布式文件系统协议),==它最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案 (share files
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
网络安全审查办公室设立
数据库定时任务启动
互联网软件开发工程师月薪是多少
未成年网络安全教育课件
下载外文文献的数据库
大连鹏升互联网科技有限公司
青春期女生网络安全
高可用的dns服务器
网络安全对社会的经济效益
maven找不到数据库
徐汇区网络软件开发是什么
安全狗提示服务器被入侵
王者的服务器叫什么
计算机网络技术公开课课件
金盾大讲堂网络安全
浪潮 阿里巴巴服务器
高通平台软件开发招聘
网络安全排查报告范本
沈阳新华互联网科技学校贴吧
东城区时代软件开发价目表
南京商城软件开发多少钱
深圳市小鹅网络技术
江苏网络安全等级保护测评
c 访问数据库超时时间
选择哪种数据库系统模型
安徽etc无法连接服务器
中国图书全文数据库新课书馆
在线ip服务器
游戏公司服务器搞笑图
单元格筛选前一列的数据库