您好,登錄后才能下訂單哦!
這篇文章主要介紹“CentOS6.5系統下怎么安裝和配置NFS服務”,在日常操作中,相信很多人在CentOS6.5系統下怎么安裝和配置NFS服務問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”CentOS6.5系統下怎么安裝和配置NFS服務”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
安裝 NFS 服務器所需的軟件包:
# yum install nfs-utils
這會將所需要的關聯軟件包一並安裝完成。
注意,NFS4不同於NFS3,不再需要安裝portmap,網上很多文章都還寫著要安裝portmap,完全是瞎扯蛋。
配置 NFS 共享
編輯/etc/exports文件,此文件初始狀態下什麼內容都沒有,自己加吧。
# vi /etc/exports
/home/exp 192.168.0.10(rw,sync,fsid=0) 192.168.0.11(rw,sync,fsid=0)
192.168.0.10 和192.168.0.11兩臺機器可以掛載NFS服務器上的/home/exp目錄到自己的文件系統中。
rw表示可讀可寫;sync表示同步寫內存和磁盤,fsid=0表示將/home/exp這個導出文件夾包裝成起始根目錄。
啟動nfs服務:
先開啟rpcbind和nfs隨機自啟動:
#chkconfig rpcbind on
# chkconfig nfs on
然後分別啟動rpcbind和nfs服務:
#service rpcbind start
#service nfs start
確認nfs服務啟動成功:
# rpcinfo -p
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
...
100005 3 tcp 750 mountd
檢查 NFS 服務器是否輸出我們想共享的目錄 /home/exp:
# exportfs
/home/exp 192.168.0.10
/home/exp 192.168.0.11
NFSv4已經不使用portmap了,而是rpcbind,這一點要注意。
NFS 客戶端
首先還是和服務器端一樣,安裝nfs套件。
然後啟動rpcbind服務:
還是先開啟rpcbind服務隨機啟動:
#chkconfig rpcbind on
然後啟動rpcbind服務:
#service rpcbind start
檢查 NFS 服務器端是否有目錄共享:
# showmount -e nfs服務器的IP
使用 mount 掛載服務器端的目錄/home/exp到客戶端某個目錄下:
# mkdir /home/exp
# mount -t nfs4 nfs服務器IP:/ /home/exp
# df -h看一下掛上來了沒有。
想在客戶機啟動時自動掛載,則在/etc/fstab加上:
# vi /etc/fstab
nfs服務器IP:/ /home/exp nfs4 ro,hard,intr,proto=tcp,port=2049,noauto 0 0
客戶端掛載後,寫文件時可能會報一個權限問題:Permission denied。解決這個問題可以修改服務器端文件/etc/exports,改成如下內容:
# vi /etc/exports
/home/exp 192.168.0.10(rw,sync,fsid=0,anonuid=48,anongid=48) 192.168.0.11(rw,sync,fsid=0,anonuid=48,anongid=48)
anonuid=48的意思是讓所有匿名用戶的操作都視同為服務器上ID為48的用戶,在我的服務器上是apache用戶;同樣的anongid=48意思是讓所有匿名用戶組的操作都視同為服務器上ID為48的用戶組,在我的服務器上是apache組。這樣設置了還不夠,服務器上還必須要存在ID為48的用戶和用戶組,同時客戶機上也要有ID為48的用戶和用戶組,且用戶名和用戶組的名稱要和服務器上的一致。
設置好後,重啟NFS服務,問題即可解決。
重新讀取NFS配置文件:
# exportfs -rv
可使用如下命令查看
# exportfs -v
共享多個目錄
使用NFSv4方式共享多個目錄時,所有的目錄都要作為共享根目錄的子目錄。例如:有以下目錄需要共享:
/first/very/long/path2
/second/very/long/path3
同時讓客戶端看上去共享的目錄是 /dir1 和 /dir2。
服務器端 創建子目錄 # mkdir /home/NFSv4/dir1
# mkdir /home/NFSv4/dir2
使用參數掛載需要共享的目錄 # mount --bind /first/very/long/path2
/home/NFSv4/dir1
# mount --bind /secend/very/long/path3
/home/NFSv4/dir2
修改/etc/exports文件 /home/NFSv4/dir1 *(rw,nohide,sync)
/home/NFSv4/dir2 *(rw,nohide,sync)
注意:需要使用nohide參數 重新讀取NFS配置文件 # exportfs -rv
這時你就可以在客戶端上掛載服務器上的多個共享文件夾了:
從根目錄掛載
# mount server1:/ /mount/point/
單獨掛載
# mount server1:/dir1 /mount/point1/
# mount server1:/dir2 /mount/point2/
權限控制
修改 /ect/export 文件,類似以下內容:
/home/NFSv4 192.168.1.0/24
(ro,fsid=0,sync,anonuid=65534,anongid=65534)
調優
在默認情況下,NFS 的配置不適合大容量磁盤。
每個客戶機應該用 rsize=32768,wsize=32768,intr,noatime 掛裝遠程文件系統,如。
mount -o rsize=32768,wsize=32768,intr,noatime server1:/
/mount/point/
從而確保:
使用大的讀/寫塊(數字指定最大塊大小,在這個示例中是 32KB)。
在掛起時 NFS 操作可以被中斷。
不持續更新 atime。
可以將這些設置放在 /etc/fstab 中。如果使用自動掛裝器,那么應該將這些設置放在適當的 /etc/auto.* 文件中。
在 服務器端,一定要確保有足夠的 NFS 內核線程來處理所有客戶機。在默認情況下,只啟動一個線程,但是 Red Hat 和 Fedora 系統會啟動 8 個線程。對于繁忙的 NFS 服務器,應該提高這個數字,比如 32 或 64。可以用 nfsstat -rc 命令評估客戶機,了解是否有阻塞的現象,這個命令顯示客戶機遠程過程調用(RPC)統計數據。下表顯示一個 Web 服務器的客戶機統計數據。
# nfsstat -rc
Client rpc stats:
calls retrans authrefrsh
1465903813 0 0
第二列 retrans 是零,這表示從上一次重新引導以來沒有出現需要重新傳輸的情況。如果這個數字比較大,就應該考慮增加 NFS 內核線程。設置方法是將所需的線程數量傳遞給 rpc.nfsd,比如 rpc.nfsd 128 會啟動 128 個線程。任何時候都可以進行這種設置,線程會根據需要啟動或銷毀。同樣,這個設置應該放在啟動腳本中,尤其是在系統上啟用 NFS 的腳本。
關于 NFS,最后要注意一點:如果可能的話,應該避免使用 NFSv2,因為 NFSv2 的性能比 v3 和 v4 差得多。在現代的 Linux 發行版中這應該不是問題,但是可以在服務器上檢查 nfsstat 的輸出,了解是否有任何 NFSv2 調用。
NFSv4配置參考:
exports文件內容格式:
<輸出目錄> [客戶端1 選項(訪問權限,用戶映射,其他)] [客戶端2 選項(訪問權限,用戶映射,其他)]
1.輸出目錄:
輸出目錄是指NFS系統中需要共享給客戶機使用的目錄;
2.客戶端:
客戶端是指網絡中可以訪問這個NFS輸出目錄的計算機
客戶端常用的指定方式
指定ip地址的主機 192.168.0.200
指定子網中的所有主機 192.168.0.0/24
指定域名的主機 a.liusuping.com
指定域中的所有主機 *.liusuping.com
所有主機 *
3.選項:
選項用來設置輸出目錄的訪問權限、用戶映射等。NFS主要有3類選項:
訪問權限選項
設置輸出目錄只讀 ro
設置輸出目錄讀寫 rw
用戶映射選項
all_squash 將遠程訪問的所有普通用戶及所屬組都映射為匿名用戶或用戶組(nfsnobody);
no_all_squash 與all_squash取反(默認設置);
root_squash 將root用戶及所屬組都映射為匿名用戶或用戶組(默認設置);
no_root_squash 與rootsquash取反;
anonuid=xxx 將遠程訪問的所有用戶都映射為匿名用戶,并指定該用戶為本地用戶(UID=xxx);
anongid=xxx 將遠程訪問的所有用戶組都映射為匿名用 戶組賬戶,并指定該匿名用戶組賬戶為本地用戶組賬戶(GID=xxx);
其它選項
secure 限制客戶端只能從小于1024的tcp/ip端口連接nfs服務器(默認設置);
insecure 允許客戶端從大于1024的tcp/ip端口連接服務器;
sync 將數據同步寫入內存緩沖區與磁盤中,效率低,但可以保證數據的一致性;
async 將數據先保存在內存緩沖區中,必要時才寫入磁盤;
wdelay 檢查是否有相關的寫操作,如果有則將這些寫操作 一起執行,這樣可以提高效率(默認設置);
no_wdelay 若有寫操作則立即執行,應與sync配合使用;
subtree 若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限(默認設置);
no_subtree 即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣可以提高效率;
到此,關于“CentOS6.5系統下怎么安裝和配置NFS服務”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。