zoukankan      html  css  js  c++  java
  • day30 nfs服务器配置

    04. NFS服务部署流程
    RPC: 远程过程调用服务程序--- 相当于租房的中介(网络编程支持)
    服务端部署
    第一个历程: 下载安装软件
    rpm -qa|grep -E "nfs|rpc"
    yum install -y nfs-utils rpcbind

    第二个历程: 编写nfs服务配置文件
    vim /etc/exports (man exports)
    01 02(03)
    01: 设置数据存储的目录 /data
    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 install -y nfs-utils

    第二个历程: 实现远程挂载共享目录
    mount -t nfs 172.16.1.31:/data /mnt

    05. NFS服务工作原理:
    服务端:
    1. 启动rpc服务,开启111端口
    2. 启动nfs服务
    3. 实现nfs服务进程和端口好的注册

    补充: 检查nfs服务进程与端口注册信息
    没有注册时候:
    [root@nfs01 ~]# rpcinfo -p 172.16.1.31
    program vers proto port service
    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 service
    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

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

    06. nfs服务端详细配置说明
    实现多个网段主机可以进行挂载
    第一种方法:
    /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/ro xxx_squash anonuid/anongid
    3)和客户端挂载命令的参数有关 ro
    ??

    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_data.txt
    [oldboy@backup mnt]$ ll
    total 4
    -rw-rw-r-- 1 nfsnobody nfsnobody 0 May 9 12:11 oldboy_data.txt

    操作演示no_all_squash参数功能:
    [root@nfs01 ~]# vim /etc/exports
    /data 172.16.1.0/24(rw,sync,no_all_squash)
    [oldboy@backup mnt]$ touch oldboy_data02.txt
    touch: cannot touch ‘oldboy_data02.txt’: 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_data02.txt
    [oldboy@backup mnt]$ ll
    total 4
    -rw-r--r-- 1 nfsnobody nfsnobody 7 May 9 10:57 backup_data.txt
    -rw-rw-r-- 1 oldboy oldboy 0 May 9 12:17 oldboy_data02.txt
    -rw-rw-r-- 1 nfsnobody nfsnobody 0 May 9 12:11 oldboy_data.txt

    操作演示root_squash参数功能:
    vim /etc/exports
    /data 172.16.1.0/24(rw,sync,root_squash)
    [root@backup mnt]# touch root_data.txt
    [root@backup mnt]# ll
    -rw-r--r-- 1 nfsnobody nfsnobody 0 May 9 12:20 root_data.txt

    操作演示no_root_squash参数功能
    [root@backup mnt]# ll
    total 4
    -rw-r--r-- 1 root root 0 May 9 12:23 root_data02.txt

    企业互联网公司如何配置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,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,n
    o_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,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)

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

    nfs服务问题:
    01. nfs服务器重启,挂载后创建数据比较慢
    服务器重启方式不正确
    服务重启:
    01. restart 重启服务 强制断开所有连接 用户感受不好
    02. reload 重启服务(平滑重启) 强制断开没有数据传输的连接 提升用户感受

    07. nfs客户端详细配置说明
    mount -t nfs 172.16.1.31:/data /mnt

    如何实现自动挂载:
    01. 利用rc.local
    echo "mount -t nfs 172.16.1.31:/data /mnt" >>/etc/rc.local
    02. 利用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服务
    先加载/etc/fstab network服务
    autofs==centos7??

    客户端mount命令参数
    rw --- 实现挂载后挂载点目录可读可写 (默认)
    ro --- 实现挂载后挂载点目录可读可写
    suid --- 在共享目录中可以让setuid权限位生效 (默认)
    nosuid --- 在共享目录中可以让setuid权限位失效 提供共享目录的安全性
    exec --- 共享目录中的执行文件可以直接执行
    noexec --- 共享目录中的执行文件可以无法直接执行 提供共享目录的安全性
    auto --- 可以实现自动挂载 mount -a 实现加载fstab文件自动挂载
    noauto --- 不可以实现自动挂载
    nouser --- 禁止普通用户可以卸载挂载点
    user --- 允许普通用户可以卸载挂载点
    [oldboy@web01 ~]$ umount /mnt
    umount: /mnt: umount failed: Operation not permitted

    客户端如何卸载
    umount -lf /mnt --- 强制卸载挂载点
    -l 不退出挂载点目录进行卸载
    -f 强制进行卸载操作

  • 相关阅读:
    SqlHelper处理类
    你必须知道的ADO.NET(五) 细说数据库连接池
    你必须知道的ADO.NET(三) 连接字符串,你小觑了吗?
    从零开始学习ASP.NET MVC 入门
    ASP.NET MVC3 系列教程 目录
    .NET获取英文月份缩写名(可获取其他国家)
    你必须知道的ADO.NET(二)了解.NET数据提供程序
    良好的C#编程习惯
    你必须知道的ADO.NET(一) 初识ADO.NET
    mvc中使用一个action对多个不同名字段做remote验证
  • 原文地址:https://www.cnblogs.com/huangfeng666/p/12377598.html
Copyright © 2011-2022 走看看