zoukankan      html  css  js  c++  java
  • Linux nfs下载安装与简单配置

    1、什么是NFS?

    • 全称 network file system 网络文件系统
    • 通过网络存储和组织文件的一种方法或机制。

    2、为什么要用共享存储?

    前端所有的应用服务器接收到用户上传的图片、文件、视频,都会统一的放到后端的存储上。
    所有节点服务器都需要将内容存到存储上,取的统一来取。

    3、共享存储的种类

    • 单点存储系统就是NFS,中小型企业,阿里云服务的NAS服务,OSS对象存储。
      NFS性能不太高。
      大型企业会用分布式存储FastDFS、Ceph、GlsterFS、Mfs

    • 大型存储厂商:EMC、Netapp 几十万。
      艺龙旅行网 存储用的EMC 传统企业。

    • 硬件存储:传统企业:稳定、2台 双主机头 几十块硬盘 RAID10。
      BAT 曾经用硬件,超贵、

    • 阿里云 去IOE Ibm Orace EMC

    4、NFS工作原理

    NFS网络文件系统
    启动NFS服务,而且还有启动很多端口。
    NFS功能,需要很多服务。每个服务都有端口,而且经常变化。

    • NFS服务:
      1、NFS服务(有很多进程和端口),把自己的端口告诉RPC。
      2、RPC服务(对外固定端口111)

    • 客户端请求NFS服务,先找RPC 111,查到NFS的端口,发给客户。

    5、安装

    服务器端和客户端都要安装:

        yum install nfs-utils rpcbind -y
        rpm -qa nfs-utils rpcbind 
    
        [root@nfs01 ~]# rpm -qa nfs-utils rpcbind
        nfs-utils-1.3.0-0.61.el7.x86_64
        rpcbind-0.2.0-47.el7.x86_64
        启动RPC
        [root@nfs01 ~]# systemctl start rpcbind.service 
        [root@nfs01 ~]# systemctl enable rpcbind.service 
    
    • 启动NFS

            [root@nfs01 ~]# systemctl start nfs
            [root@nfs01 ~]# systemctl enable nfs
    

    6、配置nfs

    • NFS配置文件 /etc/exports
      待共享的目录 访问的主机(权限)
      1)待共享的目录 存东西的目录 取东西的目录例如:/data
      2)访问的主机,
      172.16.1.7(web01) 单个主机
      172.16.1.0/24 网段
      172.16.1.* 网段
      master 主机名
      3)()权限
      rw 可读写 read write
      ro 只读 read only
      sync 写到磁盘才算完成,安全 慢
      async 异步写到远程缓冲区,快 不安全

    实践:

            [root@nfs01 ~]# tail -1 /etc/exports
            /data 172.16.1.0/24(rw,sync)
            [root@nfs01 ~]# mkdir -p /data
            [root@nfs01 ~]# ls -ld /data
            drwxr-xr-x 2 root root 51 4月  16 10:24 /data
    
    • NFS默认用户nfsnobody

            [root@nfs01 ~]# grep nfsno /etc/passwd
            nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
            [root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data
            [root@nfs01 ~]# ls -ld /data
            drwxr-xr-x 2 nfsnobody nfsnobody 51 4月  16 10:24 /data
    
    • 重启NFS

            [root@nfs01 ~]# systemctl reload nfs #《==生产场景必须要实现平滑重启。
            [root@nfs01 ~]# exportfs -r
            # 上述二者等价,选一个即可。
            [root@nfs01 ~]# showmount -e 172.16.1.31
            Export list for 172.16.1.31:
            /data 172.16.1.0/24   #《==看到共享的目录了
    
    服务单本地挂载:
            [root@nfs01 ~]# mount -t nfs 172.16.1.31:/data /mnt
            [root@nfs01 ~]# df -h
            文件系统           容量  已用  可用 已用% 挂载点
            /dev/sda3           19G  1.8G   18G   10% /
            devtmpfs           476M     0  476M    0% /dev
            tmpfs              487M     0  487M    0% /dev/shm
            tmpfs              487M  7.6M  479M    2% /run
            tmpfs              487M     0  487M    0% /sys/fs/cgroup
            /dev/sda1          253M  136M  118M   54% /boot
            tmpfs               98M     0   98M    0% /run/user/0
            172.16.1.31:/data   19G  1.8G   18G   10% /mnt
    

    换到web01挂载

    安装

            yum install nfs-utils rpcbind -y
            rpm -qa nfs-utils rpcbind 
    

    2)启动

            [root@web01 ~]# systemctl start rpcbind
            [root@web01 ~]# systemctl enable rpcbind
    

    3)查看NFS服务器提供的共享目录

          [root@web01 ~]# showmount -e 172.16.1.31
          Export list for 172.16.1.31:
          /data 172.16.1.0/24
    

    4)挂载测试

          [root@web01 ~]# mount -t nfs 172.16.1.31:/data /mnt
          [root@web01 ~]# df -h
            文件系统           容量  已用  可用 已用% 挂载点
            /dev/sda3           19G  1.8G   18G   10% /
            devtmpfs           476M     0  476M    0% /dev
            tmpfs              487M     0  487M    0% /dev/shm
            tmpfs              487M  7.6M  479M    2% /run
            tmpfs              487M     0  487M    0% /sys/fs/cgroup
            /dev/sda1          253M  136M  118M   54% /boot
            tmpfs               98M     0   98M    0% /run/user/0
            172.16.1.31:/data   19G  1.8G   18G   10% /mnt
    

    例题

    web01 backup客户端实现挂载到nfs
    NFS下面共享/backup ,允许web01 backup客户端(/backup)可读写.
    web01上传图片,backup上可以删除web01上传的图片。
    NFS下面共享/data1,允许 web01 backup客户端10网段只读(data1)
    实现开机自动挂载

    1、nfs

            [root@nfs01 ~]# mkdir  /backup /data1
            [root@nfs01 ~]# vim /etc/exports
                #oldboyjyt shared dir at time
                /backup 172.16.1.0/24(rw,sync)
                /data1 10.0.0.0/24(ro)
            [root@nfs01 ~]# systemctl reload  nfs
            [root@nfs01 ~]# chown -R nfsnobody.nfsnobody /backup
            [root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data1
            [root@nfs01 ~]# showmount -e 172.16.1.31
              Export list for 172.16.1.31:
              /data1  10.0.0.0/24
              /backup 172.16.1.0/24
    

    2、web

            [root@web01 ~]# mkdir  /backup /data1
            [root@web01 ~]# mkdir /gz1 /gz2 
            [root@web01 ~]# chown -R nfsnobody.nfsnobody /gz1
            [root@web01 ~]# chown -R nfsnobody.nfsnobody /gz2
            [root@web01 ~]# showmount -e 172.16.1.31
              Export list for 172.16.1.31:
              /data1  10.0.0.0/24
              /backup 172.16.1.0/24
            [root@web01 ~]# mount -t nfs 172.16.1.31:/backup /gz1
            [root@web01 ~]# mount -t nfs 172.16.1.31:/data1 /gz2
    

    3、backup 配置与web相同。

    4、web01上传图片,backup上可以删除web01上传的图片

            [root@web01 /]# cd /gz1
            [root@web01 /gz1]# ll
            总用量 0
            [root@web01 /gz1]# rz
            rz waiting to receive.
            [root@web01 /gz1]# ll
            总用量 20
            -rw-r--r-- 1 nfsnobody nfsnobody 16413 4月  11 11:23 tp.jpg
            [root@web01 gz1]# 
            [root@backup /]# cd /gz1
            [root@backup /gz1]# ll
            总用量 20
            -rw-r--r-- 1 nfsnobody nfsnobody 16413 4月  11 11:23tp.jpg
             [root@backup /gz1]# rm -f tyy.jpg 
             [root@backup /gz1]# ll
             总用量 0
    

    删除成功

    5、开机自动挂载

            [root@web01 /]# chmod +x /etc/rc.local 
            [root@web01 /]# vim /etc/rc.local 
                    /bin/mount -t nfs 172.16.1.31:/backup /gz1
                    /bin/mount -t nfs 172.16.1.31:/data1 /gz2
            [root@backup /]# chmod +x /etc/rc.local 
            [root@backup /]# vim /etc/rc.local 
                    /bin/mount -t nfs 172.16.1.31:/backup /gz1
                    /bin/mount -t nfs 172.16.1.31:/data1 /gz2
    菜鸟9528号,请求开炮。
  • 相关阅读:
    bzoj3757 苹果树
    bzoj2743 [HEOI2012]采花
    bzoj4241 历史研究
    bzoj4448 [Scoi2015]情报传递
    bzoj3295 [Cqoi2011]动态逆序对
    bzoj4034 [HAOI2015]T2
    bzoj3339 Rmq Problem
    BZOJ 1017 魔兽地图
    BZOJ 1021 循环的债务
    SUOI #37 清点更多船只
  • 原文地址:https://www.cnblogs.com/jiangyatao/p/10724617.html
Copyright © 2011-2022 走看看