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

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

str 64位 服務器 all 過程 color font 命令行 exports

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

檢查軟件是否安裝

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