【每日一记8】+第4天 linux 通过nfs下提供目录共享给其他服务器,就是做了个共享盘
  

新手781833 1671

{{ttag.title}}
    起因:
    应用部署在多台服务器上的时候,我们上传文件到一个指定共享目录,这个共享目录要各台服务器都能访问到。程序本地访问到。

经过:
    百度一番后,搜索做共享盘用的最多的就是nfs。

结果:
    找了个感觉还不错的文档跟着做,试了下,心领神会了。。

1、准备工作,所有需要用到这个目录的服务器,都需要安装nfs服务,然后设置开启启动,并且把所需服务启动起来。

安装所需服务nfs、rpcbin
yum install  -y nfs-utils rpcbind
分别设置开启启动
chkconfig nfs on
chkconfig rpcbind on
启动这两个服务
service rpcbind start
service nfs start
重启:[root@VM_15_8_centos server]# service 服务名 restart
停止:[root@VM_15_8_centos server]# service 服务名 stop
开启:[root@VM_15_8_centos server]# service 服务名 start


2、创建共享目录
我这有3台服务器
1**.1**.8*.137 客户端 A
1**.1**.8*.138 客户端 B
1**.1**.8*.139 服务端 S

2.1 在服务端S上创建共享目录,其实所有服务目录都一样比较好。这里是为了区分服务端与客户端
mkdir -p /home/soft/nfs/server
2.2 编辑/etc/exports 文件,添加如下内容
/home/soft/nfs/server *(rw,no_root_squash,no_all_squash,sync)
说明:其中
/home/soft/nfs/server --共享目录位置* --IP限制,若是星号则都可以访问,1**.1**.8*.*,则是IP鄙视是1**.1**.8*段的菜可以访问。(rw,no_root_squash,no_all_squash,sync)  --(rw  ro 该目录分享的权限是可擦写 (read-write) 或只读 (read-only),但最终能不能读写,还是与文件系统的 rwx 及身份有关。 sync  async sync 代表数据会同步写入到内存与硬盘中,async 则代表数据会先暂存于内存当中,而非直接写入硬盘! no_root_squash  root_squash 客户端使用 NFS 文件系统的账号若为 root 时,系统该如何判断这个账号的身份?预设的情况下,客户端 root 的身份会由 root_squash 的设定压缩成 nfsnobody, 如此对服务器的系统会较有保障。但如果你想要开放客户端使用 root 身份来操作服务器的文件系统,那么这里就得要开 no_root_squash 才行! all_squash 不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名用户,通常也就是 nobody(nfsnobody) 啦! no_subtree_check 关闭子树检查 anonuid  anongid anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名用户的 UID 设定值,通常为 nobody(nfsnobody),但是你可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于你的 /etc/passwd 当中! anonuid 指的是 UID 而 anongid 则是群组的 GID 啰。 其他选项可以通过man exports查阅man文档)2.3 刷新配置,让修改的配置立即生效
cd /etc
exportfs -r

2.4 重启服务service nfs restart
2.5 查看服务注册情况
    说明下,如果不设置端口信息,那么nfs会随机启用端口提供服务,不利于服务器之间做安全控制,所以我们设定固定端口,在所有的服务器上都设置相同端口。
vi /etc/sysconfig/nfs
文件末端添加如下内容
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004

重启服务service nfs restart
查看RPC注册情况rpcinfo -p localhost
rpcinfo 选项与参数:
-p :针对某 IP (未写则预设为本机) 显示出所有的 port 与 porgram 的信息;
-t :针对某主机的某支程序检查其 TCP 封包所在的软件版本;
-u :针对某主机的某支程序检查其 UDP 封包所在的软件版本;

2.6 查询本机的nfs共享盘信息情况
showmount -e localhost 也可以任意客户机showmount -e 1**.1**.8*.139




3、客户端配置
3.1 挂在盘创建

执行命令:mkdir -p /home/soft/nfs/client

3.2 配置挂载服务端与客户端关系,提供挂载稳定性,使用TCP进行传输
执行命令:
mount -t nfs -o vers=3 服务端IP:服务端目录 当前机器目录 -o proto=指定协议 -o nolock  
mount -t nfs -o vers=3 192.168.89.139:/home/soft/nfs/server /home/soft/nfs/client -o proto=tcp -o nolock  


3.4 查看挂载目录情况
df -h



3.5 测试
在任意一台服务器的共享目录下,创建或者上传一个文件上去。然后查看目录下的内容,我这里在137上上传了一个index.html文件,然后查看各个服务器之间的目录,可以看到服务端与多客户端之间文件已经同步。再删除。再看。也都同步了。在服务端139上删除index.html那么客户端也都是删除了的。

4、 取消挂载
当我们那个盘符不需要挂载了的时候,客户端执行:umount /home/soft/nfs/client,提示繁忙 。。device is busy
强制执行:umount -lf /home/soft/nfs/client
重启服务后发现,之前挂载的目录内容也不见了service nfs restart

5、设置开机挂载
否则重启服务器后,之前命令配置的挂载信息就丢失了

6、windows挂载
1.开启nfs客户端:打开控制面板》程序》启用或关闭windos功能》选中nfs客户端,点击确定
2.挂载:mount 1**.1**.8*.139:/home/soft/nfs/server X:   (此处注意只能定位到nfs目录,否则会报网络错误)
会创建一个网络盘X盘,里面挂载文件
3.取消挂载:右键X盘,点击取消连接或者执行命令:umount X打开后,也能看到我们挂载的共享目录的内容

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

新手727241 发表于 2020-6-8 09:33
  
感谢分享
小鱼儿 发表于 2023-10-16 21:14
  
每天学习打卡,十分的有助于工作。
小西北 发表于 2023-10-16 21:15
  
每天学习打卡,十分的有助于工作。
梦境人生 发表于 2023-10-16 21:15
  
每天学习打卡,十分的有助于工作。
唐三平 发表于 2023-10-16 21:15
  
每天学习打卡,十分的有助于工作。
鲤鲤 发表于 2023-10-16 21:24
  
每天学习打卡,十分的有助于工作。
日出 发表于 2023-10-16 21:24
  
每天学习打卡,十分的有助于工作。
朱墩2 发表于 2023-10-16 21:24
  
每天学习打卡,十分的有助于工作。
小德 发表于 2023-10-16 21:31
  
每天学习打卡,十分的有助于工作。
发表新帖
热门标签
全部标签>
每日一问
2024年技术争霸赛
技术盲盒
技术笔记
干货满满
信服课堂视频
产品连连看
新版本体验
技术晨报
功能体验
每周精选
秒懂零信任
GIF动图学习
2023技术争霸赛专题
技术咨询
安全攻防
信服圈儿
问题分析处理
运维工具
通用技术
华北区交付直播
答题自测
在线直播
安装部署配置
原创分享
深信服技术支持平台
社区帮助指南
天逸直播
以战代练
自助服务平台操作指引
齐鲁TV
北京区每日一练
畅聊IT
专家问答
技术圆桌
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
流量管理
每日一记
云计算知识
用户认证
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
标准化排查
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
玩转零信任
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
山东区技术晨报
文档捉虫活动

本版达人

新手89785...

本周建议达人

新手78183...

本周分享达人