Linux nfs服務介紹

  • 2019 年 11 月 6 日
  • 筆記

nfs服務介紹

  1. nfs(Network File System) 網路文件系統,能使用戶訪問伺服器的文件系統,就像訪問自己的本機的文件系統一樣,並且多個
    客戶端共享訪問該文件系統。
  2. 目前nfs服務,較為流行的兩個nfs的組件為:nfsd,nfs-ganesha。前者linux為系統自帶的內核態的文件系統,後者是開源的用戶空間的文件
    系統。因為nfs-ganesha運行在用戶態,nfsd運行在內核態,所以nfs-ganesha具有記憶體分配靈活,可移植性更好,更方便擴展等優勢。
    缺點是nfs-ganesha目前的穩定性還不如nfsd。

如何搭建nfsd和nfs-ganesha服務

機器環境為centos7,由於兩者都使用2049埠,因此一台伺服器上,只能跑其中之一.

  1. 搭建nfsd服務
    A. 檢查是否安裝rpcbind和nfs-utils軟體
    rpm -qa | grep rpcbind nfs-utils

    B. 如果上面兩個軟體沒有安裝,需要安裝這兩個軟體
    yum install -y rpcbind nfs-utils

    C. 啟動B中安裝的軟體
    systemctl start rpcbind && systemctl enable rpcbind
    systemctl start nfs && systemctl enable nfs

    D. 配置nfs許可權文件
    配置許可權可以直接修改/etc/exports文件,也可以在/etc/exports.d目錄下,添加*.exports文件。
    文件內容格式為:目錄 IP/IP網段(nfs選項)
    文件內容每一個許可權的佔用一行,選項一般使用較多的搭配項為,rw/ro,sync,no_root_squash,rw表示讀寫,ro表示只讀
    sync,表示數據寫入到記憶體和硬碟,保證數據不會丟失,當客戶端用root身份掛載時候,nfs伺服器將其映射為root用戶.

    E. 執行許可權的載入 命令,exportfs -rav 執行這個命令,並不需要去重啟nfs服務。

    F. 客戶端使用如下命令去掛載,172.16.0.1表示伺服器的ip地址,vers 代表協議類型,支援3,4,4.1等,/mnt表示伺服器的
    共享目錄,/tmp為本地目錄
    mount -t nfs 172.16.0.1:/mnt /tmp -o vers=4

    G. 掛載成功後,使用df命令,nfs4所在的哪一行為掛載的nfs文件系統

    然後就可以,cd /tmp,對這個目錄下進行讀寫文件等操作了,
    至此nfsd服務全部搭建完畢。

    H. 查看nfs的日誌,在系統日誌/var/log/messages中,可以用vim打開,搜索nfs關鍵字。

  2. nfs-ganesha搭建(明天繼續些哈)