NFS存储服务详解

1.NFS的介绍

NFS主要功能是通过网络(一般是局域网)让不同主机之间共享文件或者目录

获取数据的方式:
     samba     windows--linux之间传输数据
     NFS        Linux-Linux之间传输数据
用于门户网站:
     一个用户   --存储服务器
    上万用户    --存储服务器

2.利用分布式存储

Moosefs(mfs)    比较落伍
GlusterFS          企业常用
FastDFS            企业常用


3.NFS存储服务的作用

 1)实现数据的共享存储
 2)编写数据操作管理
 3)节省购买服务器成本开销


4.NFS工作流程图

NFS(房源)、RPC(中介)、客户端(租客)

步骤1:先启动RPC服务
步骤2:启动NFS服务(向RPC服务注册启动的端口)
步骤3:客户请求NFS服务-->RPC服务
步骤4:RPC返回端口到租客
步骤5:客户端拿着地址端口请求传输数据

PS:RPC-远程过程调用服务程序--相当于租房中的中的中介(来管理NFS的随机端口)

5.NFS服务部署流程

服务端部署:

第一个历程:下载安装软件

rpm -qa|egrep "nfs|rpc"
yum -y install nfs-utils rpcbind

第二个历程:编写nfs服务配置文件

vim /etc/exports(man exports)
01:设置数据存储的目录
02:设置网络一个白名单(允许哪些主机可以链接到存储服务器进行数据存储)
03:配置存储目录的权限信息,存储目录一些功能
/data   172.16.1.0/24(rw,sync)

第三个历程:创建一个存储目录

mkdir /data
chown nfsnobody.nfsnobody /data

第四个历程:启动服务程序

先启动 rpc服务---systemctl start rpcbind.service
                systemctl enable rpcbind.service
在启动 nfs服务---systemctl start nfs
                systemctl enable nfs

客户端部署:

第一个历程:安装nfs服务软件

yum -y install nfs-utils

第二个历程:实现远程挂载共享目录

mount -t nfs 172.16.1.31:/data /mnt

第三个历程:

在/mnt目录创建文件,服务端/data也会同步数据

6.NFS服务工作原理:

服务端:
    1.启动rpc服务,开启111端口
    2.启动nfs服务
    3.实现nfs服务进程和端口号的注册
补充:检查nfs服务进程与端口注册信息--执行命令rpcinfo -p 172.16.1.31(localhost)
一旦重启nfs服务端口会发生随机变化


客户端:
    1.建立TCP网络连接
    2.客户端执行挂载命令,进行远程挂载
    3.可以实现数据远程数据存储

7.nfs服务配置详细说明

实现多个网段主机进行挂载
第一种方法:
    vim /etc/exports
    /data 172.16.1.0/24(rw,sync) 10.0.0.0/24(rw,sync)
第二种方法:
    /data 172.16.1.0/24(rw,sync)
    /data 10.0.0.0/24(rw,sync)
总结:共享目录跟哪些因素有关
    1:和存储目录的本身权限有关(755 属主:nfsnobody)
    2:和配置文件中的权限配置有关(rw/wo,XXX_squash,anongid=XXX,anonuid=XXX)
    3.和客户端挂载命令参数有关


8.nfs配置参数说明

    rw            --存储目录是否有读写权限
    ro            --存储目录是否是只读权限
    sync          --同步方式存储数据
    async         --异步方式存储数据	
no_root_squash    --不要将root用户身份进行转换
root_squash       --将root用户身份进行转换
all_squash        --将所有用户身份都进行转化
no_all_squash     --不要将普通用户身份进行转换

同步方式---存入硬盘当中
           优点:传输数据可靠,不易丢失数据
           缺点:数据传输慢
异步方式---存入内存当中
           优点:传输数据块
           缺点:传输数据不可靠,易丢失数据


9.企业互联网公司如何配置NFS各种squash参数

保证网站存储服务器用户数据安全性:
no_all_squash 需要进行配置 共享目录权限为www (确保客户端和服务端 UID数值一致)
root_squash   需要进行配置 root---nfsnobody   data目录---www
以上默认配置(很多服务默认配置都是从安全角度出发)

如何查看nfs服务的默认配置

cat /var/lib/nfs/etab    (只是记录文件)

如何让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)

企业中如何编辑nfs配置文件
01.通用方法:
   /data 172.16.1.0/24(rw,sync)
02.特殊情况:(让部分人员不能操作存储目录,可以查看目录中的数据)
   /data 10.0.0.0/24(ro,sync)
03.修改默认的匿名用户
/data 172.16.1.0/24(rw,sync,anonuid=XXX,anongid=XXX)
无法针对每个用户设置
FTP可以   分布式存储可以

10.nfs服务问题

01.nfs服务重启,挂载后创建数据比较慢
服务器重启方式不正确
服务重启:
a.systemctl restart nfs (强制退出)(restart重启冷却时间大概90s左右)
b.systemctl reload nfs(平滑重启)(强制断开没有数据传输的链接)
 

11.nfs客户端详细配置说明

mount -t nfs 172.16.1.31:/data /mnt

如何实现自动挂载:
1:利用rc.local

echo "mount -t 172.16.1.31:/data /mnt" /etc/rc.local


2.利用fstab文件

vim /etc/fstab
172.16.1.31:/data    /mnt    nfs   defaults  0  0


特殊服务已经开启了

centos6:无法实现网络存储服务自动挂载原因
根据系统服务启动顺序
按照顺讯一次启动:network服务--sshd服务--crond服务--rsync服务--rpcbind服务--nfs服务(串行方式)
先加载/etc/fstab ---network服务  ---autofs服务

autofs服务程序:开机自动启动
服务启动好之后,重新加载fstab

centos7:无法实现网络存储服务自动挂载原因
根据系统服务启动顺序
network服务
sshd服务
crond服务
rsync服务(并行方式)
  
remote-fs.target:开机自动启动 
服务启动好之后,重新加载fstab
 

12.客户端mount命令参数(-o)

   rw    ----实现挂载后挂载目录可读可写(默认)
   ro    ----实现挂载后挂载目录可读可写
   suid  ----在共享目录中可以让setuid权限位生效(默认)
 nosuid  ----在共享目录中可以让setuid权限位失效(提高共享目录的安全性)
   exec  ----共享目录中的执行文件可以直接执行(默认)
 noexec  ----共享目录中的执行文件无法直接执行(提高共享目录的安全性)
   auto  ----可以实现自动挂载  mount -a(可以试想批量挂载)
   vim /etc/fstab 172.16.1.31:/data  /mnt  auto  0  0
 noauto  ----不可以实现自动挂载
   user  ----可以让普通用户卸载挂载点
 nouser  ----禁止普通用户卸载挂载点

13.客户端如何卸载

umount /mnt
umount -lf /mnt (强制卸载挂载点)
-l  不退出挂载点目录进行卸载
-f  强制进行卸载操作

14.NFS服务挂载不上排查方法:

服务端进行排查:
   1.检查nfs进行信息是否注册

 rpcinfo -p localhost


   问题原因:服务启动顺序不对,没有启动nfs服务


   2.有没有可用的存储目录

cat /etc/exports
showmount -e 172.16.1.31(查看有没有共享的目录)


   问题原因:配置文件编写有问题


   3.在服务端进行挂载测试
   是否能能够在存储目录中创建或者删除


客户端进行排查:
   1.查看nfs服务是否启动
   2.检查有没有 可用的存储目录
   3.ping 172.16.1.31
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CN-FuWei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值