一、NFS服務簡介 NFS是Network File System的縮寫,即網路文件系統。一種使用於分散式文件系統的協定,由sun公司開發,於1984年向外公佈。功能:通過網路讓不同的機器、不同的操作系統能夠彼此分享個別數據,讓應用程式在客戶端通過網路訪問位於服務端磁碟中的數據,是在類Unix系統間 ...
一、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文件系統
格式:<server>:<remote/export>
</local/directory> nfs <option> 0 0
#vim /etc/fstab
最後一行為後加的
保存退出,重啟系統