爲什麼要用NFS
NFS(Network File System)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件一樣。
NFS最早是由Sun公司發展出來的,
簡單的來說:它就是是可以透過網絡,讓不同的主機、不同的操作系統可以共享存儲。
以下是NFS最顯而易見的好處:
1. 節省本地存儲空間,將常用的數據存放在一臺NFS服務器上且可以通過網絡訪問,那麼本地終端將可以減少自身存儲空間的使用。
2. 用戶不需要在網絡中的每個機器上都建有Home目錄,Home目錄可以放在NFS服務器上且可以在網絡上被訪問使用。
3. 一些存儲設備CDROM和Zip(一種高儲存密度的磁盤驅動器與磁盤)等都可以在網絡上被別的機器使用。這可以減少整個網絡上可移動介質設備的數量。
NFS 的基本原則是“容許不同的客戶端及服務端通過一組RPC分享相同的文件系統”,它是獨立於操作系統,容許不同硬件及操作系統的系統共同進行文件的分享。
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是負責負責信息的傳輸。
一、準備階段:(客戶端和服務端)
nfs服務端:192.168.0.200 Centos6.5 64位操作系統
nfs客戶端:192.168.0.201 Centos6.5 64位操作系統
二、NFS服務端所需的軟件列表
nfs-utils: 這個是NFS服務主程序(包含rpc.nfsd、rpc.mountd、daemons)
rpcbind: 這個是CentOS6.X的RPC主程序(CentOS5.X的爲portmap)
三、檢查軟件是否安裝
客戶端和服務端都要檢查
#rpm -qa nfs-utils rpcbind
如果沒有安裝在系統中通過yum 命令進行安裝以上兩個包
#yum install -y nfs-utils rpcbind
四、啓動NFS服務端相關服務
服務端操作:
#service rpcbind status 查看狀態
#service rpcbind start 啓動
#service rpcbind stop 停止
#service rpcbind restart 重啓
#chkconfig rpcbind off //開機不啓動rpcbind,開機啓動rpcbind寫到/etc/rc.local,因爲rpcbind和nfs有啓動順序,如果教給系統默認規則開機自啓動,偶爾會啓動順序出錯,導致服務無法正常使用
啓動NFS服務
#service nfs start 啓動
#service nfs status 查看狀態
#service nfs stop 停止
#service nfs restat 重啓
#netstat -antp | grep 2049 nfs默認端口號2049
#chkconfig nfs off //開機不啓動nfs,開機啓動rpcbind寫到/etc/rc.local
五、配置NFS服務端
前面介紹了NFS的啓動,接下來我們配置NFS服務端的配置
/etc/exports 是NFS程序的配置文件。並且默認爲空
/etc/exports文件的配置格式爲:
NFS共享目錄 NFS客戶端地址1(參數1,參數2,參數3......) 客戶端地址2(參數1,參數2,參數3......)
NFS共享目錄 NFS客戶端地址(參數1,參數2,參數3......)
我們在此共享給 192.168.0.0/24所有主機
配置完成exports後重啓NFS服務
#service nfs restart
#showmount -e 127.0.0.1 #查看本機掛載情況
#mount -t nfs 192.168.0.200:/cxj /mnt #在本機測試掛載
六、配置NFS客戶端
在客戶端上0.201上執行
客戶端也需要安裝rpcbind和nfs-utils軟件,只需要啓動rpcbind即可。
然後再進行如下操作
#showmount -e 192.168.0.200
#mount -t nfs 192.168.0.200:/cxj /mnt
自此,我們配置成功,但是別高興。我們只是掛載動作完成了,但是我們沒有權限對掛載的目錄進行各種操作。
在nfs服務端配置:
#grep 65534 /etc/passwd
現在我們可以對掛載目錄進行各種操作,但是還沒有完。我們需要把掛載命令放在rc.local裏面,
我們不要把掛載命令放在fstab,因爲fstab比網絡先啓動,會出現掛載不上網絡NFS
如果對此文有什麼問題的話,請加下面微信一起探討