存储服务器
存储服务器
⼀、NFS
NFS是Network File System的缩写,中⽂意思是⽹络⽂件共享系统,它的主要功能是通过⽹络(⼀般是局域⽹)让不同的主机系统之间可以共享⽂件或⽬录
试试看1)存储服务的种类⽤于中⼩型企业: 实现数据共享存储FTP(⽂件传输协议) 运维01 服务器A 服务器B FTP服务器运维02 服务器C 服务器D 中⼩型电商公司(游戏点卡游戏币道具 Q币充值话费) --- 财务对账信息(数据库) --- 对账⽂件 --- FTP服务器权限(⽤户认证的权限存储⽬录的权限(⽤户))
2)获取数据的⽅式 SSH远程服务 sFTP samba windows--linux之间数据传输 Linux部署samba NFS linux--linux之间数据传输⽤于门户⽹站: ⼀个⽤户 -- 存储服务器上万个⽤户 -- 存储服务器利⽤分布式存储Moofs(mfs)⽐较落伍,初学学习⽐较简单GlusterFS FastDFS 企业应⽤较多
⼆、NFS存储服务作⽤
1. 实现数据的共享存储
2. 编写数据操作管理
3. 节省购买服务器磁盘开销淘宝--上万⽤电开销
三、NFS服务部署流程
RPC: 远程过程调⽤服务程序--- 相当于租房的中介(⽹络编程⽀持)
1)服务端部署
第⼀个历程: 下载安装rpc软件rpm -qa|grep -E "nfs|rpc" --检查软件是否安装yum install -y nfs-utils rpcbind
第⼆个历程: 编写nfs服务配置⽂件[root@nfs01 ~]# vim /etc/exports (man exports) /data 172.16.1.0/24(rw,sync)
01 02 03
01: 设置数据存储的⽬录 /data 02: 设置⽹络⼀个⽩名单 (允许哪些主机连接到存储服务器进⾏数据存储) 03: 配置存储⽬录的权限信息存储⽬录⼀些功能
第三个历程: 创建⼀个存储⽬录mkdir /data chown nfsnobody.nfsnobody /data - --nfsnobody安装nfs软件⾃动⽣成
第四个历程: 启动服务程序先启动 rpc服务systemctl start rpcbind.rvice systemctl enable rpcbind.rvice 再启动 nfs服务systemctl start nfs systemctl enable nfs
2)客户端部署
第⼀个历程: 安装nfs服务软件yum install -y nfs-utils
第⼆个历程: 实现远程挂载共享⽬录mount -t nfs 172.16.1.31:/data /mnt
df -h ---查看是否挂载成功
第三个历程:检查是否能够在存储服务器共享数据
在挂载⽬录创建⼀个⽂件
查看服务端/data⽬录是否同步
四、NFS服务⼯作原理
1)服务端
1. 启动rpc服务,开启111端⼝
2. 启动nfs服务
3. 实现nfs服务进程和端⼝号的注册
补充: 检查nfs服务进程与端⼝注册信息没有注册时候: [root@nfs01 ~]# rpcinfo -p 172.16.1.31 program vers proto port rvice 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 nfs服务注册之后信息: [root@nfs01 ~]# rpcinfo -p 172.16.1.31 program vers proto port rvice 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 53997 status 100024 1 tcp 49863 status 100005 1 udp 20048 mountd 100005 1 tcp 20048 mountd 100005 2 udp 20048 mountd 100005 2 tcp 20048 mountd 100005 3 udp 20048 mountd 100005 3 tcp 20048 mountd
2)客户端
建⽴TCP⽹络连接
客户端执⾏挂载命令,进⾏远程挂载
可以实现数据远程传输存储
质量口号
五、nfs服务端详细配置说明
1
总结:共享⽬录的权限和哪些因素有关:1)和存储⽬录的本⾝权限有关(755 属主:nfsnobody)2)和配置⽂件中的权限配置有关
rw/ro xxx_squash anonuid/anongid 3)和客户端挂载命令的参数有关 ro
2)NFS配置参数权限
rw -- 存储⽬录是否有读写权限ro -- 存储⽬录是否时只读权限sync -- 同步⽅式存储数据直接将数据保存到磁盘(数据存储安全)async --异步⽅式存储数据直接将数据保存到内存(提⾼数据存储效率)no_root_squash -- 不要将root⽤户⾝份进⾏转换root_squash -- 将root⽤户⾝份进⾏转换all_squash -- 将所有⽤户⾝份都进⾏转换no_all_squash -- 不要将普通⽤户⾝份进⾏转换
操作演⽰all_squash参数功能:
vim /etc/exports
/data 172.16.1.0/24(ro,sync,all_squash)
[oldboy@backup mnt]$ touch
[oldboy@backup mnt]$ ll
total 4
-rw-rw-r-- 1 nfsnobody nfsnobody 0 May 9 12:11
操作演⽰no_all_squash参数功能:
[root@nfs01 ~]# vim /etc/exports
/data 172.16.1.0/24(rw,sync,no_all_squash)
[oldboy@backup mnt]$ touch
touch: cannot touch ‘’: Permission denied
解决权限问题:
[root@nfs01 ~]# chmod o+w /data/
[root@nfs01 ~]# ll /data/ -d
drwxr-xrwx. 2 nfsnobody nfsnobody 52 May 9 12:11 /data/
[oldboy@backup mnt]$ touch
[oldboy@backup mnt]$ ll
total 4
-rw-r--r-- 1 nfsnobody nfsnobody 7 May 9 10:57
-rw-rw-r-- 1 oldboy oldboy 0 May 9 12:17
-rw-rw-r-- 1 nfsnobody nfsnobody 0 May 9 12:11
操作演⽰root_squash参数功能:
vim /etc/exports
/data 172.16.1.0/24(rw,sync,root_squash)
[root@backup mnt]# touch
[root@backup mnt]# ll
-
rw-r--r-- 1 nfsnobody nfsnobody 0 May 9 12:20
操作演⽰no_root_squash参数功能
[root@backup mnt]# ll
total 4
-rw-r--r-- 1 root root 0 May 9 12:23
3)企业互联⽹公司如何配置NFS 各种squash参数
卑微什么意思保证⽹站存储服务器⽤户数据安全性: no_all_squash 需要进⾏配置共享⽬录权限为www(确保客户端⽤户服务端⽤户 uid数值⼀致)root_squash 需要进⾏配置 root---nfsnobody data⽬录---www 以上默认配置(很多服务默认配置都是从安全⾓度出发)如何查看nfs默认配置
cat /var/lib/nfs/etab --- 记录nfs服务的默认配置记录信息
/data 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,cure,root_squash,no_all_squash,no_subtre
e_check,cure_locks,acl,n
o_pnfs,anonuid=65534,anongid=65534,c=sys,rw,cure,root_squash,no_all_squash)
如何让root⽤户可以操作管理www⽤户管理的data⽬录 root --- root_squash --- www ---操作--- data⽬录 anonuid=65534,anongid=65534 ---可以指定映射的⽤户信息
修改映射⽤户:www=1002 /data 172.16.1.0/24(rw,sync,anonuid=1002,anongid=1002)
4)企业中如何编辑nfs
1. 通⽤⽅法 * /data 17
2.16.1.0/24(rw,sync)
2. 特殊情况(让部分⼈员不能操作存储⽬录可以看⽬录中的数据) /data 10.0.0.0/24(ro,sync)
3. 修改默认的匿名⽤户 /data 10.0.0.0/24(ro,sync,anonuid=xxx,anongid=xxx)
nfs服务问题:
1. nfs服务器重启,挂载后创建数据⽐较慢服务器重启⽅式不正确服务重启:
2. restart 重启服务强制断开所有连接⽤户感受不好
3. reload 重启服务(平滑重启)强制断开没有数据传输的连接提升⽤户感受
4. nfs客户端详细配置说明 mount -t nfs 172.16.1.31:/data /mnt
如何实现⾃动挂载:
突飞猛进1. 利⽤rc.local echo "mount -t nfs 17
2.16.1.31:/data /mnt" >>/etc/rc.local
迟到检讨书300字2. 利⽤fstab⽂件 vim /etc/fstab 172.16.1.31:/data /mnt nfs defaults 0 0
/etc/fstab 实现fstab⽂件挂载⾃动加载nfs存储⽬录必须让remote-fs.target服务开机⾃启 centos7 必须启动 remote-fs.target
centos6 必须启动 netfs
需求问题:如何找到⼀台服务器开机运⾏了哪些服务 ll /etc/systemd/system/multi-ur.target.wants/
六、客户端mount
rw --- 实现挂载后挂载点⽬录可读可写(默认)ro --- 实现挂载后挂载点⽬录可读不可写suid --- 在共享⽬录中可以让tuid权限位⽣效(默认) nosuid --- 在共享⽬录中可以让tuid权限位失效提供共享⽬录的安全性exec --- 共享⽬录中的执⾏⽂件可以直接执⾏ noexec ---共享⽬录中的执⾏⽂件可以⽆法直接执⾏提供共享⽬录的安全性auto --- 可以实现⾃动挂载 mount -a 实现加载fstab⽂件⾃动挂载 noauto ---
不可以实现⾃动挂载 nour --- 禁⽌普通⽤户可以卸载挂载点ur --- 允许普通⽤户可以卸载挂载点[oldboy@web01 ~]$ umount /mnt umount: /mnt: umount failed: Operation not permitted
客户端如何卸载umount -lf /mnt --- 强制卸载挂载点-l 不退出挂载点⽬录进⾏卸载-f 强制进⾏卸载操作
七、NFS服务挂载不上排查⽅法:
服务端进⾏排查:
哪款手机性价比最高1、检查nfs进程信息是否注册rpcinfo -p localhost/172.16.1.31 问题原因:服务启动顺序不对,没有启动nfs服务
2、检查有没有可⽤存储⽬录 showmount -e 172.16.1.31 问题原因:配置⽂件编写有问题,重启nfs服务
八上历史书
3、在服务端进⾏挂载测试是否能够在存储⽬录中创建或删除数据客户端测试: a. 检查nfs进程信息是否注册 rpcinfo -p
localhost/172.16.1.31 问题原因:服务启动顺序不对,没有启动nfs服务 b.检查有没有可⽤存储⽬录 showmount -e 172.16.1.31 问题原因: c. 配置⽂件编写有问题,重启nfs服务⽹络问题ping 172.16.1.31 telnet 172.16.1.31 111
8. 课程总结: 1)NFS存储服务器概念 2)NFS存储⼯作原理图 3)NFS存储服务部署 4)NFS服务端详细配置说明服务端配置参数
xxx_squash
5. NFS客户端详细配置说明客户端挂载参数说明 man mount 如何强制卸载共享⽬录
6.怎么画火焰