• NFS(Network File System) 共享存储文件系统介绍与部署


    NFS优势: 实现数据统一,节省磁盘资源,节省带宽

    主要存放:用户上传图片,视频附件等信息

    NFS共享存储工作原理
     1 在NFS服务端创建共享存储目录与挂载点
     2 在NFS客户端创建远程目录挂载点(需要与服务端一致)
     3 在NFS客户端进行远程挂载             

    RPC服务简介(房屋中介)   默认端口:111  与NFS通信

    负责协同管理NFS服务生成的多个随机端口号并整合后告知客户端
    统一管理NFS生成端口号  (记住端口号)
    记录每个NFS功能对应的端口号 

    NFS 服务器参数说明  vim /etc/exports

     rw   可读写
     ro   只读
     sync   同步
     async 异步 (先写入内存在写入到硬盘)
     no_all_squash   其他用户不压缩,映射不变
     root_squash      对root用户进行压缩映射
     all_squash        对所有用户进行压缩映射
     root_squash     当客户端以ROOT账号访问NFS服务端时,会把root映射成nobody用户访问服务端
     all_squash       所有用户都映射成为nobody匿名用户
     insecure 允许客户端从大于1024端口发请求
     anonuid= 指定映射用户UID  (服务端与客户端需要都有相同用户UID并且一致)
     anongid= 指定映射用户GID  (服务端与客户端需要都有相同用户GID并且一致)
     *********  修该指定用户后需要修改共享目录的所属用户组与权限*********
                       chown -R imp.imp /data

    部署环境:

      1台 NFS服务器 1台WEB服务器

    NFS服务端详细部署方法:

    1.检查NFS软件安装情况。(nfs-utils,rpcbind)

    [root@NFS-31 ~]# rpm -qa nfs-utils rpcbind
    rpcbind-0.2.0-16.el6.x86_64
    nfs-utils-1.2.3-78.el6_10.1.x86_64

    2.创建共享目录与权限设置

    [root@NFS-31 ~]# mkdir -p /nfs_data/
    [root@NFS-31 ~]# chmod  766 /nfs_data
    [root@NFS-31 ~]# chown -R nfsnobody.nfsnobody /nfs_data/

    3.修改共享存储配置文件(默认/etc/exports)

    [root@NFS-31 ~]# cat /etc/exports
    /nfs_data 10.0.0.0/24(insecurerw,sync) 
    /nfsuser 10.0.0.0/24 (insecure,rw,sync,)
    /nfs_data 10.0.0.0/24 (insecure,rw,sync,)
    #共享目录  共享地址   访问使用权限

    [root@NFS-31 ~]# cat /var/lib/nfs/etab    # 检查共享文件详细参数
    /data 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)
    /nfs_data 10.0.0.0/24(ro,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,ro,root_squash,no_all_squash)
    /nfs_data *(rw,sync,wdelay,hide,nocrossmnt,insecure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)

    4.启动服务(必须按照顺序启动,先启RPC后启NFS服务)并检查服务状态

    [root@NFS-31 ~]# /etc/init.d/rpcbind start
    [root@NFS-31 ~]# /etc/init.d/nfs start
    [root@NFS-31 ~]# showmount -e 127.0.0.1
    Export list for 127.0.0.1:
    /data 172.16.1.0/24
    /nfs_data (everyone)

    5.模拟挂载本地地址做客户端测试挂载访问情况

    [root@NFS-31 ~]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda3        18G  1.6G   15G  10% /
    tmpfs           491M     0  491M   0% /dev/shm
    /dev/sda1       190M   35M  146M  19% /boot
    [root@NFS-31 ~]# mount -t nfs 127.0.0.1:nfs_data /mnt
    [root@NFS-31 ~]# df -h
    Filesystem          Size  Used Avail Use% Mounted on
    /dev/sda3            18G  1.6G   15G  10% /
    tmpfs               491M     0  491M   0% /dev/shm
    /dev/sda1           190M   35M  146M  19% /boot
    127.0.0.1:nfs_data   18G  1.6G   15G  10% /mnt

    [root@NFS-31 ~]# touch /nfs_data/我是imp.txt
    [root@NFS-31 ~]# ll /mnt/
    total 4
    -rw-r--r--. 1 root root 14 Jun 10 09:03 imp.txt
    -rw-r--r--. 1 root root 0 Jun 10 09:13 nfshahaa.txt
    -rw-r--r--. 1 root root 0 Jun 10 09:40 我是imp.txt

    客户端部署

    1.确认软件是否安装

    [root@web03 ~]# rpm -qa rpcbind nfs-utils
    rpcbind-0.2.0-16.el6.x86_64
    nfs-utils-1.2.3-78.el6_10.2.x86_64

    2.开启rpcbind服务并检查远程挂

    [root@web03 ~]# service rpcbind status
    rpcbind (pid  2821) is running...
    [root@web03 ~]# showmount -e 10.0.0.31
    Export list for 10.0.0.31:
    /nfsuser  (everyone)
    /data     172.16.1.0/24
    /nfs_data (everyone)

    3.创建远程共享目录的挂载点

    [root@web03 ~]# mount -t nfs 172.16.1.31:/nfs_data /mnt

    autofs自动挂载部署方法:

    特点:autofs为守护进程,请求时候才挂载。(高并发不适用)
    1.安装软件
    yum install autofs -y
    2.修改配置文件 (第七行添加如下代码)
    vim /etc/auto.master
    /~ /etc/auto.home
    3.修改自定义的挂载配置文件
    vim /etc/auto.home
    /impkk -rw,soft,init 172.16.1.31:/data
    本地挂载点 访问参数 服务器端共享目录
    4.启动autofs服务
    systemctl start autofs

    5.进行df-h 测试 看是否自动挂载

    共享方式 (NFS参数)

    1 同步或异步写入服务器磁盘并且可读写
    /data 10.0.0.0/24(rw,sync)
    2 只读共享 (常用开发使用查看线上生产环境)
    /data 10.0.0.0/24(ro)
    3 修改NFS映射用户进行网络共享
    /data 10.0.0.0/24(rw,sync,anonuid=500,anongid=500)

    NFS存储服务目录说明

    /etc/rc.d/init.d/nfs NFS服务启动脚本
    /usr/sbin/showmount NFS共享目录信息
    /var/lib/nfs/etab 查看NFS默认配置信息
    /etc/rc.d/init.d/rpcbind rpcbind(中介)服务启动脚本
    /usr/sbin/rpcinfo NFS服务向RPC服务注册信息
    /proc/mounts 查看NFS客户端挂在信息

    NFS配置常见故障

      客户端挂载时报错
    mount.nfs: access denied by server while mounting 172.16.1.31:/data
    mount.nfs: mounting 172.16.1.31:/date failed, reason given by server: No such file or directory
    解决方法:查看服务端/etc/exports 是否与客户端挂载点拼写一致

    mount: wrong fs type, bad option, bad superblock on 10.0.0.31:/nfs_data,

    解决方法:没有安装nfs-utils  .安装即可

  • 相关阅读:
    闭包
    iframe
    函数声明和函数表达式
    简单的事件委托
    onhashchange
    WebP探索
    Chrome
    适合自己学习的一些网站
    模拟jQuery的一些功能
    __autoload()方法
  • 原文地址:https://www.cnblogs.com/imp-W/p/13048667.html
Copyright © 2020-2023  润新知