linux之 NFS服務器與客戶端的安裝與配置


今天實驗室需要搭建NAS,我負責的是NFS的安裝與配置,現將整理的文檔分享一下:

      參考一:Linux下rpm 安裝包方式安裝

      http://linux.chinaunix.net/techdoc/beginner/2008/03/17/983528.shtml

      參考二:CentOS下NFS安裝與配置

      http://blog.csdn.net/puwenhui/article/details/6298178

      步驟:

      一、服務器端

      (1)安裝rpm包

      rpm -ivh nfs4-acl-tools-0.3.3-1.el5.x86_64.rpm

      rpm -ivh libgssapi-0.10-2.x86_64.rpm

      rpm -ivh libgssapi-devel-0.10-2.x86_64.rpm

      rpm -ivh libevent-1.1a-3.2.1.x86_64.rpm

      rpm -ivh libevent-devel-1.1a-3.2.1.x86_64.rpm

      rpm -ivh nfs-utils-lib-1.0.8-7.6.el5.x86_64.rpm

      rpm -ivh nfs-utils-lib-devel-1.0.8-7.6.el5.x86_64.rpm

      rpm -ivh portmap-4.0-65.2.2.1.x86_64.rpm

      rpm -ivh nfs-utils-1.0.9-42.el5.x86_64.rpm

      (2)創建NFS文件系統服務端目錄(例:/opt/nfs),並賦予用戶權限

      mkdir /opt/nfs

      chown nastors:storage /opt/nfs

      chmod 777 /opt/nfs

      (3)編輯配置文件/etc/exports,加入以下語句:

      /opt/nfs *(rw,sync,no_root_squash)

      注:①/opt/nfs為服務器掛載目錄

      ②IP:*處指定客戶端IP,*表示所有IP

      (4)啟動服務

      /etc/init.d/portmap start  啟動RPC進程,為NFS提供端口

      /etc/init.d/nfs start

      /etc/init.d/nfslock start  來控制文件一致性

      (5)查看端口和服務

      rpcinfo –p localhost  看到portmap,nfs,mountd進程都已經開啟

      (6)查看nfs的設置

      showmount -e localhost  查看exports文件

      showmount -a localhost  查看nfs與主機連接情況

      (7)重新修改 /etc/exports ,使用exportfs[-aruv]來使系統明白

      -a:全部掛載(或卸除) /etc/exports 檔案內的設定

      -r :重新掛載 /etc/exports 里面的設定,此外,亦同步更新 /etc/exports

      及/var/lib/nfs/xtab 的內容!

      -u :卸除某一目錄

      -v :在 export 的時候,將分享的目錄顯示到屏幕上!

      修改后一定記得重啟nfs服務:service nfsrestart

      二、客戶端

      (1)開啟客戶端的RPC

      /etc/init.d/portmap start

      (2)開啟客戶端的nfslock(與服務器端對應)

      /etc/init.d/nfslock start

      (3)檢查一下RPC是否開啟

      showmount –e 222.31.76.177[S2] 

      如果顯示出在服務器端寫的exports文件的內容,則說明成功

      (4)進行nfs掛載

      原因:①服務器端做修改后未重啟服務:

      exportfs -a

      service nfs restart

      ②服務器配置文件/etc/exports中指定的客戶端IP不對

      測試用例:

      在222.31.76.177(服務器)上建了兩個共享目錄/opt/nfs和/opt/nfs_cwn,前者是對所有IP都開放,后者只對222.31.76.195(客戶端)開放。經實驗,在195上能成功加載這兩個共享目錄,而另一台虛擬機222.31.76.48(客戶端)只能掛載/opt/nfs。

      結論:NFS能同時存在多個共享目錄,並分別指定共享范圍,都在服務器配置文件/etc/exports下設定。另一方面,多個客戶端也能同時使用這些共享目錄。

      [S1]* rw:read-write,可擦寫的權限;

      * ro:read-only,只讀的權限;

      * sync:數據同步寫入到內存與硬盤當中;

      * async:數據會先暫存於內存當中,而非直接寫入硬盤!

      * no_root_squash:

      登入 NFS 主機使用分享目錄的用戶,如果是 root 的話,那么對於這個分享的目錄來說,他就具有 root 的權限! 這個項目『極不安全』,不建議使用!

      * root_squash:

      在登入 NFS 主機使用分享之目錄的用戶如果是 root 時,那么這個使用者的權限將被壓縮成為匿名用戶,通常他的 UID 與 GID 都會變成nobody(nfsnobody) 那個系統賬號的身份;

      * all_squash:

      不論登入 NFS 的使用者身份為何, 他的身份都會被壓縮成為匿名用戶,通常也就是nobody(nfsnobody) 啦!

      * anonuid:

      anon 意指 anonymous (匿名者) 前面關於 *_squash 提到的匿名用戶的 UID 設定值,通常為 nobody(nfsnobody),但是您可以自行設定這個 UID 的值!當然,這個 UID 必需要存在於您的 /etc/passwd 當中!

      * anongid:同 anonuid ,但是變成 group ID 就是了!

      [S2]此IP為服務器的IP


免責聲明!

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



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