NFS(百度百科):NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件一樣。
NFS在文件傳送或信息傳送過程中依賴於RPC協議。RPC,遠程過程調用 (Remote Procedure Call) 是能使客戶端執行其他系統中程序的一種機制。NFS本身是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網絡進行資料的分享,這是因爲NFS使用了一些其它的傳輸協議。而這些傳輸協議用到這個RPC功能的。可以說NFS本身就是使用RPC的一個程序。或者說NFS也是一個RPC SERVER。所以只要用到NFS的地方都要啓動RPC服務,不論是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實現PROGRAM PORT的對應。可以這麼理解RPC和NFS的關係:NFS是一個文件系統,而RPC是負責負責信息的傳輸。
實驗環境準備:服務端CentOS6.7,ip:192.168.1.3;客戶端機器test,ip:192.168.1.6;兩臺機器可以通信,即相互ping的通,關掉服務端防火牆(命令:service iptables stop)和sexlinux(命令:setenforce 0)。
配置步驟:
1.在客戶端安裝nfs
yum install nfs* (這樣就會把依賴的軟件都下載下來,包括portmap)
2.修改配置文件(默認打開是空白)
vi /etc/exports
增加一條: /home/dong * (rw)
(注: 2.0 NFS的配置文件爲 /etc/exports,內容格式如下:
<共享目錄> 客戶端1(選項) [客戶端2(選項) ...]
共享目錄:NFS共享給客戶機的目錄。
客戶端:網絡中可以訪問此目錄的主機。多個客戶端以空格分隔。
選項:設置目錄的訪問權限、用戶映射等,多個選項以逗號分隔。
例如:/home/dong 1 92.168.1.0/24 (rw,insecure,sync,all_squash,anonuid= 65534,anongid=65534)
2.1 客戶端的指定方式
指定ip地址的主機:192.168.0.100或者指定子網中的所有主機:192.168.0.0/24 或 192.168.0.0/255.255.255.0 指定域名的主機:nfs.test.com 指定域中的所有主機:*.test.com
所有主機:*
2.2選項說明
ro:共享目錄只讀;
rw:共享目錄可讀可寫;
all_squash:所有訪問用戶都映射爲匿名用戶或用戶組;
no_all_squash(默認):訪問用戶先與本機用戶匹配,匹配失敗後再映射爲匿名用戶或用戶組;
root_squash(默認):將來訪的root用戶映射爲匿名用戶或用戶組;
no_root_squash:來訪的root用戶保持root帳號權限;
anonuid=<UID>:指定匿名訪問用戶的本地用戶UID,默認爲nfsnobody(65534);
anongid=<GID>:指定匿名訪問用戶的本地用戶組GID,默認爲nfsnobody(65534);
secure(默認):限制客戶端只能從小於1024的tcp/ip端口連接服務器;
insecure:允許客戶端從大於1024的tcp/ip端口連接服務器;
sync:將數據同步寫入內存緩衝區與磁盤中,效率低,但可以保證數據的一致性;
async:將數據先保存在內存緩衝區中,必要時才寫入磁盤;
wdelay(默認):檢查是否有相關的寫操作,如果有則將這些寫操作一起執行,這樣可以提高效率;
no_wdelay:若有寫操作則立即執行,應與sync配合使用;
subtree_check(默認) :若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限;
no_subtree_check :即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣可以提高效率;)
3.啓動nfs服務:service nfs start 會起來四個服務
4.在客戶端掛載
如果出現錯誤的話建議你在客戶端安裝以下nfs相關應用,因爲報錯的情況很多,安裝後就沒了:yum install -y nfs*
5.查看你掛載到的目錄是否出現服務端的的內容,如果沒有問題證明實驗成功,到此可以結束了,請往後面去看自動掛載的配置;這時你如果發現你沒有權限的話出現下面圖片的情況的話
轉到服務端查看共享目錄的權限
發現其他同組的用戶和其他用戶的權限是---,那就執行下下面的命令如圖
設置好權限後再返回客戶端查看掛載的目錄發現就可以看到一模一樣的文件了。
在/mnt裏面可以創建和刪除文件了。
到此配置nfs結束,下面是解決每次客戶端開機都需要輸入很長的掛載命令的不便問題,接下來是客戶端自動掛載的配置:
1.在客戶端安裝軟件autofs
2.修改主配置文件 vim /etc/auto.master
增加一條 /home/text-autonfs /etc/auto.nfs
/home/autofs-test不需要存在這個目錄,掛載後自動創建。
3.編輯auto.nfs (原先不存在,編輯時會自動創建)
vi /etc/auto.nfs
增加一條: dong -rw 192.168.1.3:/home/dong
4.重啓autofs服務
serveice autofs restart
5.測試:卸載原來的掛載,僅輸入命令:mount 就會自動掛載設置好的命令。
6.查看自動生成的掛載目錄
7.查看掛載的目錄,發現映射成功。
ls /mnt/test-autonfs/dong
ok!