一、NFS安裝、配置
yum -y install nfs-utils nfs-utils-lib rpcbind
mkdir -p /home/network/nfs
vim /etc/exports
增加
/home/network/nfs *(rw,sync,no_root_squash,no_all_squash)
儲存退出
exportfs -r
service rpcbind restart
service nfs restart
chkconfig --level 35 nfs on
chkconfig --level 35 rpcbind on
服務端驗證NFS共用:
showmount -e
註:正常能顯示出上面設定的共用目錄,如果報如下錯誤:
clnt_create: RPC: Program not registered
說明 rpcbind服務與NFS服務 啟動順序不對,把他倆都停了,重新啟動,先啟動rpcbind服務再啟動nfs服務;
用戶端驗證NFS共用:
showmount -e 192.168.1.207 (即NFS伺服器的IP地址)
註:正常也能顯示出上面設定的共用目錄,如果報如下錯誤:
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
說明防火牆沒有開啟相應需要開啟的連接埠,把防火牆關掉,再測試應該就可以正常了;不過防火牆比較重要,一般情況下,不會隨意關閉,在服務端可開啟如下命令列出的所有連接埠即可:
# rpcinfo -p localhost
二、用戶端掛載
cd
mkdir testnfs
mount -t nfs 192.168.1.207:/home/network/nfs testnfs
驗證NFS掛載
df
正常能多顯示出類似紅色字型內容:
檔案系統 1K-塊 已用 可用 已用% 掛載點
/dev/sda3 50403012 1772272 46070384 4% /
tmpfs 914652 0 914652 0% /dev/shm
/dev/sda1 198337 27655 160442 15% /boot
192.168.1.207:/home/network/nfs
13383232 538944 12164480 5% /root/testnfs
或者
cd /root/testnfs
mkdir test
然後到服務端 /home/network/nfs 目錄下,是否出現一個 test的檔案夾即可;
設定系統啟動自動掛載:
vim /etc/fstab
新增
192.168.1.207:/home/network/nfs /root/testnfs nfs defaults 0 0
三、知識擴充
exports命令:
參數說明如下。
(1)-a:全部掛載(或卸載)/etc/exports檔案內的設定。
(2)-r:重新掛載/etc/exports中的設定,此外同步更新/etc/exports及/var/lib/nfs/xtab中的內容。
(3)-u:卸載某一目錄。
(4)-v:在export時將共用的目錄顯示在螢幕上。
/etc/exports檔案內容格式:
<共用目錄> [用戶端1 選項(存取權限,使用者映射,其他)]
使用者映射選項
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伺服器也不檢查其父目錄的許可權,這樣可以提高效率;