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号,请求开炮。
原文地址:https://www.cnblogs.com/jiangyatao/p/10724617.html