1. 程式人生 > >Liunx下NFS伺服器的搭建與配置

Liunx下NFS伺服器的搭建與配置

一、NFS簡介

NFSNetwork 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可以透過網路,讓不同的主機、不同的作業系統實現共享儲存

。可以這麼理解RPC和NFS的關係:NFS是一個檔案系統,而RPC是負責負責資訊的傳輸。

 

二、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命令。

 

 

 

檢查軟體是否安裝