Liunx下NFS伺服器的搭建與配置
一、NFS簡介
NFS(Network File System)即網路檔案系統,是FreeBSD支援的檔案系統中的一種,它允許網路中的計算機之間通過TCP/IP網路共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS伺服器上的檔案,就像訪問本地檔案一樣。
NFS最早由Sun公司開發,分2,3,4三個版本,2和3由Sun起草開發,4.0開始Netapp公司參與並主導開發,最新為4.1版本NFS資料傳輸基於RPC(Remote Procedure Call)協議。
NFS 的基本原則是“容許不同的客戶端及服務端通過一組RPC分享相同的檔案系統”,它是獨立於作業系統,容許不同硬體及作業系統的系統共同進行檔案的分享。
NFS在檔案傳送或資訊傳送過程中依賴於RPC協議。RPC (遠端過程呼叫) 是能使客戶端執行其他系統中程式的一種機制。NFS本身是沒有提供資訊傳輸的協議和功能的,但NFS卻能讓我們通過網路進行資料的分享,這是因為NFS使用了一些其它的傳輸協議。而這些傳輸協議用到這個RPC功能的。可以說NFS本身就是使用RPC的一個程式。或者說NFS也是一個RPC SERVER。所以只要用到NFS的地方都要啟動RPC服務,不論是NFS SERVER或者NFS CLIENT。這樣SERVER和CLIENT才能通過RPC來實現PROGRAM PORT的對應。
簡單來說:NFS可以透過網路,讓不同的主機、不同的作業系統實現共享儲存
二、NFS搭建
2.1 NFS服務端所需的軟體列表
nfs-utils: 這個是NFS服務主程式(包含rpc.nfsd、rpc.mountd、daemons)
rpcbind: 這個是CentOS6.X的RPC主程式(CentOS5.X的為portmap)
2.2 檢查軟體是否安裝
cat /etc/redhat-release #檢視系統版本 uname -r #檢視系統核心版本 uname -m #檢視系統是否64位
rpm -qa nfs-utils rpcbind #檢查安裝的軟體包
2.3 如果 nfs-utils 和 rpcbind 沒有安裝,可以使用 yum 命令進行安裝
yum install -y nfs-utils rpcbind
2.4 啟動NFS服務端相關服務 (CentOS7.4)
/bin/systemctl start rpcbind.service
/bin/systemctl start nfs.service
如果是CentOS 6.x,執行以下指令碼
service rpcbind start
service nfs start
三、 配置NFS服務端
3.1 建立共享目錄,例如是 /data/nfs_share
mkdir -p /data/nfs_share
3.2 給目錄新增許可權
chown -R nfsnobody /data/nfs_share
3.2 編輯配置檔案
vi /etc/exports
3.3 新增配置 (例如共享網段為 192.168.1.*)
/data/nfs_share 192.168.1.0/24(rw,sync)
3.4 使配置生效
exportfs -r
3.5 重啟服務
/bin/systemctl restart rpcbind.service
/bin/systemctl restart nfs.service
如果是CentOS 6.x
service rpcbind start
service nfs start
3.6 查詢NFS伺服器
showmount -e localhost
如果正確,會列印 /data/nfs_share 192.168.1.0/24
四、 配置NFS客戶端
4.1 客戶端也需要安裝rpcbind和nfs-utils軟體,並且設定開機自啟動。(只需要啟動rpcbind即可)
systemctl enable rpcbind.service
( CentOS 6.x 的命令是 chkconfig rpcbind on )
4.2 檢視可以掛載目錄 (這裡假設NFS伺服器IP是 192.168.1.1)
showmount -e 192.168.1.1
會打印出可以掛載的目錄資訊
4.3 建立掛載目錄(目錄路徑根據實際情況建立)
mkdir /mnt/nfs_share
4.3 掛載目錄
mount -t nfs 192.168.1.1:/data/nfs_share/ /mnt/nfs_share -o proto=tcp -o nolock
4.4 如果需要開機自動掛載目錄,需要將掛載命令放在rc.local裡面
五、 配置Windows NFS客戶端
如果客戶端是Windows,我們需要在程式和功能裡面啟用 NFS客戶端。
控制面板 -> 程式 -> 程式和功能 --> 勾選 NFS服務,NFS客戶端,確定。
之後可以在命令列使用mount命令掛載遠端目錄 (比如掛載到 Z 盤)
mount ip:/192.168.1.1/ /data/nfs_share/ z:
另外也可以在我的電腦(計算機) 中,建立對映網路驅動器,來掛載遠端目錄。
如果Windows版本不支援NFS服務,那麼需要安裝 Windows Services for UNIX ,然後在Korn Shell (開始選單 -> 程式 -> Windows Services for UNIX -> Korn Shell) 中執行 mount命令。
檢查軟體是否安裝