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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM