Linux nfs下載安裝與簡單配置

一、什麼是NFS?

  • 全稱 network file system 網絡文件系統
  • 經過網絡存儲和組織文件的一種方法或機制。

二、爲何要用共享存儲?

前端全部的應用服務器接收到用戶上傳的圖片、文件、視頻,都會統一的放到後端的存儲上。
全部節點服務器都須要將內容存到存儲上,取的統一來取。前端

三、共享存儲的種類

  • 單點存儲系統就是NFS,中小型企業,阿里雲服務的NAS服務,OSS對象存儲。
    NFS性能不過高。
    大型企業會用分佈式存儲FastDFS、Ceph、GlsterFS、Mfsweb

  • 大型存儲廠商:EMC、Netapp 幾十萬。
    藝龍旅行網 存儲用的EMC 傳統企業。vim

  • 硬件存儲:傳統企業:穩定、2臺 雙主機頭 幾十塊硬盤 RAID10。
    BAT 曾經用硬件,超貴、後端

  • 阿里雲 去IOE Ibm Orace EMC安全

四、NFS工做原理

NFS網絡文件系統
啓動NFS服務,並且還有啓動不少端口。
NFS功能,須要不少服務。每一個服務都有端口,並且常常變化。服務器

  • NFS服務:
    一、NFS服務(有不少進程和端口),把本身的端口告訴RPC。
    二、RPC服務(對外固定端口111)網絡

  • 客戶端請求NFS服務,先找RPC 111,查到NFS的端口,發給客戶。app

    五、安裝

    服務器端和客戶端都要安裝:異步

    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
  • 啓動NFSasync

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

六、配置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)
實現開機自動掛載

一、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

二、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

三、backup 配置與web相同。

四、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

刪除成功

五、開機自動掛載

[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
相關文章
相關標籤/搜索