NFS介绍与基本安装
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,1NFS介绍NFS是Network File System的缩写(分布式文件系统协议),==它最大的功能就是可以透过网络,让不同的机器、不同的操作系统、可以彼此分享个别的档案 (share files
千家信息网最后更新 2024年11月11日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安全错误
数据库的锁怎样保障安全
我的世界注册服务器
ibra网络技术
网络安全对安全感
如何解决服务器磁盘爆满
公安基层网络安全防范
北京会计软件开发价格网
软件开发实训室图片
我想学习app软件开发
云服务器怎么跟lora网关通信
大学的网络技术有哪些
电力驱动软件开发
Mysql数据库出版社
山西标准软件开发包括哪些
软件开发方法适用场景
联想服务器集成cpu
安徽元和网络技术
液晶电视软件开发工具
营口华龙互联网科技有限公司
网络安全的指标有哪三个
软件开发公司提供服务
怎么看自己的原神是哪个服务器的
数据库拆分六个原则
大数据数据库查询
网络技术发达英文
Qt软件开发项目经历
数据库项目管理师培训
论文查重的数据库来自于哪里
周口网络技术是什么
科技互联网国外杂志
网络技术专业人才培养目标