(轉)NFS在Linux下的安裝、部署與應用

轉:https://baijiahao.baidu.com/s?id=1694470911715977170&wfr=spider&for=pc

NFS文件系統是Sun公司開發的網絡文件系統,也稱爲分佈式文件系統,其基本原理是將某個設備本地文件系統通過以太網的方式共享給其它計算節點使用。也就是說,計算機節點通過NFS存儲的數據是通過網絡存儲在另外一個設備,而不是存儲在本地磁盤。

 

 網絡文件系統最大的特點是可以實現多個計算節點對同一個存儲設備的訪問,從而提升存儲的利用率,並簡化存儲管理難度。NFS分佈式文件系統本身是客戶端服務器架構模式。

本文將介紹如何基於Linux操作系統部署一個NFS文件系統服務,並且介紹如何在客戶端進行使用。最後本文介紹一下其整體架構。

基於CentOS的NFS服務安裝配置

本節以CentOS 7爲例介紹一下NFS服務的安裝,這裏的NFS服務是指Linux內核中的nfsd服務及配套的用戶態程序。它是NFS分佈式文件系統的服務端。當然,除了nfsd外,還有很多其它的NFS分佈式文件系統服務端,比如用戶態的Ganesha。但是,這些不在本文的範圍內,今天我們主要介紹一下nfsd的安裝和使用。

爲了簡化安裝,我們將操作系統的防火牆和SELinux都關閉。關閉這些特性並不會影響NFS的功能,只是用來避免使用過程中出現一些問題。如果在生產環境,爲了數據的安全,這些特性通常是需要開啓的。下面我們就介紹一下如何安裝及配置NFS服務。

步驟 1: 服務端安裝

具體安裝我們可以藉助CentOS的軟件包管理工具yum,具體安裝命令如下所示:

$ sudo yum install nfs-utils

注意:只安裝 nfs-utils 即可,rpcbind 屬於它的依賴,會自動安裝上。

步驟 2: 服務端配置

我們期望在操作系統啓動的時候可以自動啓動NFS服務,因此我們這裏需要設置一下 NFS 服務開機啓動,具體命令如下:

$ sudo systemctl enable rpcbind

$ sudo systemctl enable nfs

軟件安裝後服務可能沒有啓動,這時需要手動啓動一下 NFS 服務。如果已經啓動了就不需要執行該步操作了。

$ sudo systemctl start rpcbind

$ sudo systemctl start nfs

步驟 3: 配置共享目錄

完成上述操作後,NFS服務已經正常工作了,但是我們在客戶端仍然沒有辦法訪問該服務。這是因爲此時NFS服務還沒有配置導出的資源。接下來我們在服務端配置一個共享目錄,也就是要導出的資源。首先要創建一個目錄,並且修改該目錄的權限:

$ sudo mkdir /data

$ sudo chmod 755 /data

有了基本的資源後,我們就可以配置導出的目錄了。NFS的配置非常簡單,打開配置文件:

$ sudo vi /etc/exports

在打開的文件中添加如下內容。

/data/ 192.168.0.0/24(rw,sync,no_root_squash,no_all_squash)

對於上述配置項的含義,我們解釋如下:/data: 共享目錄位置。192.168.0.0/24: 客戶端 IP 範圍,本文是限制某個子網,如果是* 代表沒有限制。rw: 權限設置,可讀可寫。sync: 同步共享目錄。no_root_squash: 可以使用 root 授權。no_all_squash: 可以使用普通用戶授權。

至此,我們已經完成nfsd服務的安裝,重啓一下nfs服務就可以使用了。爲了確認是否安裝成功,可以通過如下命令進行確認。

showmount -e localhost

如果該命令執行後有目錄信息輸出,那表示配置正確,否則應該是存在問題,需要具體定位。不過通常不會有什麼問題。

基於Ubuntu的NFS服務安裝與配置

如果您使用的是Ubuntu的環境,那麼也可以非常容易的安裝NFS服務。具體方式是使用Ubuntu的軟件包管理工具。以Ubuntu18.04爲例,執行如下命令就可以完成安裝:

$sudo apt install nfs-kernel-server

完成安裝後,具體的配置與CentOS下的配置方法相同,本文不再贅述。

NFS文件系統的掛載與使用

構建NFS服務是爲了使用,因此我們可以在另外一臺機器進行掛載,並使用該文件系統。在掛載之前需要安裝客戶端必須的軟件,具體步驟如下所示。

步驟 1: 客戶端安裝

首先需要在計算節點安裝客戶端軟件,安裝方法與服務端類似。

$ sudo yum install nfs-utils

步驟 2: 客戶端連接 NFS

先查服務端的共享目錄,這裏的IP地址是nfs服務器的地址。

$ showmount -e 192.168.0.101

如果輸入如下內容,說明目錄導出成功,服務端的配置是沒有問題。接下來就可以在客戶端掛載服務端的目錄了。

 

 NFS目錄掛着與本地文件系統一樣。首先在客戶端創建一個本地目錄。

$ sudo mkdir /mnt/data

然後將服務端的目錄掛載到本地。

$ sudo mount -t nfs 192.168.0.101:/data /mnt/data

正常情況就可以完成掛載,此時遠程導出的目錄就變成了本地目錄樹的一個分支。我們可以像使用本地文件系統一樣使用NFS文件系統了。我們可以做個實驗,在客戶端寫入一個文件,此時在服務端的目錄中就可以看到新創建的文件。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章