一、NFS服務簡介
NFS是Network File System的縮寫,即網絡文件系統。一種使用於分散式文件系統的協定,由sun公司開發,於1984年向外公佈。功能:通過網絡讓不同的機器、不同的操作系統能夠彼此分享個別數據,讓應用程序在客戶端通過網絡訪問位於服務端磁盤中的數據,是在類Unix系統間實現磁盤文件共享的一種方法。
NFS的基本原則是“容許不同的客戶端及服務端通過一組RPC共享相同的文件系統”,它是獨立於操作系統,容許不同硬件及操作系統的系統共同進行文件的分享。
NFS在文件傳送或信息傳送過程中依賴於RPC協議。RPC,遠程過程調用是能使客戶端執行其他系統程序的一種機制。NFS本身是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網絡進行資料的分享,這是因爲NFS使用了一些其他的傳輸協議。而這些傳輸協議用到這個RPC功能。可以說NFS本身就是使用RPC的一個程序。或者說NFS是一個RPC SERVER。所以只要NFS的地方必須啓動RPC服務。總結:NFS只是一個文件系統,而rpc是負責信息的傳輸。
二、安裝NFS服務
NFS需要兩個軟件包
nfs-utils-* 包括基本的NFS命令與監控程序
rpcbind-* 支持安全NFS RPC服務的連接
1.檢查系統是否安裝NFS
rpm -qa|grep nfs
rpm -qa|grep rpcbind
如果沒有,先yum grouplist 再 yum groupinstall “NFS”
三、NFS服務器配置
NFS常用目錄
/etc/exports NFS服務的主要配置文件
/usr/sbin/exportfs NFS服務的管理命令
/usr/sbin/showmount 客戶端查看命令
/var/lib/nfs/etab 記錄NFS分享出來的目錄的完整權限設定值
/var/lib/nfs/xtab 記錄曾經登錄過的客戶端信息
NFS服務的配置文件爲/etc/exports,系統沒有默認值,所以這個文件不一定會存在,可以使用vim手動建立,然後在文件裏面寫入配置內容。
/etc/exports文件內容格式:
<輸出目錄> 【客戶端1 選項 (訪問權限,用戶映射,其他)】 【客戶端2 選項(訪問權限,用戶映射,其他)】
a.輸出目錄:輸出目錄是指NFS系統中需要共享給客戶機使用的目錄
b.客戶端:網絡中可以訪問這個NFS輸出目錄的計算機
客戶端常用的指定方式:
指定ip地址的主機:192.168.0.200
指定子網中的所有主機:192.168.0.0/24 192.168.0.0/255.255.255.0
指定域名的主機:david.bsmart.cn
指定域名中的所有主機:*.bsmart.cn
所有主機:*
c.選項:用來設置輸出目錄的訪問權限,用戶映射等
NFS主要有3類選項:
訪問權限選項
設置輸出目錄只讀:ro
設置輸出目錄讀寫:rw
用戶映射選項
all_squash:將遠程訪問的所有普通用戶及所屬組都映射爲匿名用戶或者用戶組(nfsnobody)
no_all_squash:與all_squash相反(默認設置)
root_squash:將root用戶及其所屬組都映射爲匿名用戶or用戶組
no_root_squash:與上相反
anonuid=xxx:將遠程訪問的所有用戶都映射爲匿名用戶,並指定該用戶爲本地用戶
anongid=xxx:將遠程訪問的所有用戶組都映射爲匿名用戶組帳號,並指定該匿名用戶組賬戶爲本地用戶組賬戶
其它選項(忽略,就用默認值)
四、NFS服務器的啓動與停止
在對/etc/exports文件進行正確的配置後,就可以啓動NFS服務器了。
1.啓動NFS服務器
爲了使nfs服務器能正常工作,需要啓動rpcbind和nfs兩個服務,並且rpcbind一定要先於nfs啓動
service rpcbind start
service nfs start
2.查詢nfs服務器狀態
service rpcbind status
service nfs status
3.停止nfs服務器
要停止nfs,要先停止nfs再停止rpcbind服務,對於系統中有其他服務(如nis)需要使用時,不需要停止rpcbind服務
service nfs stop
service rpcbind stop
4.設置nfs服務器的自動啓動狀態
chkconfig --add
chkconfig --level 35
五、實例
1.將NFS server的/home/cairui 共享給192.168.66.128,權限讀寫
#vim /etc/exports
/home/cairui 192.168.66.128/24(rw)
2.重啓rpcbind和nfs服務
service rpcbind restart
service nfs restart
exportfs
3.服務器端使用showmount命令查詢NFS共享狀態
showmount -e
showmount -a 顯示已經與客戶端連接上的目錄信息
4.客戶端使用showmount命令查詢nfs的共享狀態
showmount -e 服務端ip
5.客戶端掛載nfs服務器中的共享目錄
命令格式:mount NFS服務器IP:共享目錄 本地掛載點目錄
查看是否掛載成功:mount|grep nfs
查看文件是否與服務器端一致
6.NFS的共享權限和訪問控制
在服務器/home/cairui修改權限使得客戶端可寫,可讀
chmod 777 -R /home/cairui
6.卸載已掛載的NFS共享目錄
格式:umount /tmp/cai
八.啓動自動掛載nfs文件系統
格式::<remote/export>
</local/directory> nfs <option> 0 0
#vim /etc/fstab
最後一行爲後加的
保存退出,重啓系統
轉載自:https://cloud.tencent.com/developer/article/1022106