电竞比分网-中国电竞赛事及体育赛事平台

分享

ubuntu18.04.4 配置 NFS 服務(wù)器

 丹楓無跡 2022-06-24 發(fā)布于北京

NFS 概述

NFS(Network File System)是一種能使服務(wù)器上的信息被其他計(jì)算機(jī)掛載而達(dá)到資源共享的網(wǎng)絡(luò)文件系統(tǒng)。一個客戶機(jī)可以把遠(yuǎn)程文件系統(tǒng)掛載到本地文件系統(tǒng)的某個目錄下,作為本地系統(tǒng)的一部分來使用。NFS 有屬于自己的協(xié)議和端口號,但在傳送資料或其他相關(guān)信息時,NFS 服務(wù)器需要使用 RPC 協(xié)議來協(xié)助運(yùn)行。


RPC

因?yàn)?NFS 支持的功能很多,每當(dāng)啟動一個功能就要啟用一些端口來傳輸數(shù)據(jù),因此 NFS 的功能所對應(yīng)的端口是不固定的,通常是隨機(jī)取用一些未被使用的小于 1024 的端口作為傳輸之用,而客戶端必須知道服務(wù)器相關(guān)端口才能連接,此時需要 RPC 服務(wù)。

RPC(遠(yuǎn)程過程調(diào)用協(xié)議)的功能是制定每個 NFS 功能對應(yīng)的端口號,并且回送給客戶端,讓客戶端連接到正確的端口上。NFS 服務(wù)器啟動時會隨機(jī)啟用數(shù)個端口號,并主動向 RPC 注冊,RPC 固定使用 111 號端口監(jiān)聽客戶機(jī)的請求并回應(yīng)正確的端口號。因此,啟動 NFS 之前,要先啟動 RPC。


NFS 文件系統(tǒng)配置

Ubuntu 系統(tǒng)所使用的軟件包為 nfs-kernel-server,當(dāng)然還需要其他包支持,比如 rpcbind 作端口映射工作,這些支持包在安裝 NFS 時會自動安裝。

sudo apt install nfs-kernel-server

NFS 的服務(wù)是 nfs-server.service,可以使用服務(wù)管理的辦法進(jìn)行管理

sudo systemctl enable/disable nfs-server.service	# 啟用/禁用
systemctl status nfs-server.service	# 檢查狀態(tài)
systemctl start/stop/restart/reload nfs-server.service	# 啟動/停止/重啟/重載

NFS 配置文件為 /etc/exports,每一行描述一個共享目錄,并且說明該目錄如何被共享,每一有效行的格式為:共享目錄 訪問者(選項(xiàng)) 訪問者(選項(xiàng))

訪問者為主機(jī)或 IP 地址,括號內(nèi)的選項(xiàng)只對括號前的訪問者有效,訪問者格式可以為:

  • 指定 IP 地址
  • 指定網(wǎng)段中所有主機(jī),如 192.168.137.0/24
  • 單臺主機(jī)名,如 pc001
  • 含有通配符的主機(jī)名,如 proj*.local.domain,表示 local.domain 域的所有以 proj 開業(yè)的主機(jī)

常用選項(xiàng)及說明如表所示

選項(xiàng) 說明
ro/rw 只讀/讀寫
sync/async 同步/異步寫入
secure 只允許 NFS 通過 1024 以前端口連接(默認(rèn))
insecure 允許 NFS 通過 1024 及以上的端口連接,此選項(xiàng)關(guān)閉 secure
secure_locks 使用安全的文件鎖
insecure_looks/no_auth_nlm 允許使用不安全的文件鎖,此選項(xiàng)關(guān)閉 secure_locks
wdelay 延遲寫,如果多個用戶要寫入 NFS 目錄,則歸組寫入(默認(rèn))
no_wdelay 同步寫入。當(dāng)使用 async 時,無須此設(shè)置
hide 不共享子目錄或隱藏子目錄
no_hide 共享 NFS 目錄的子目錄
subtree_check 共享目錄樹,如果共享目錄是一個子目錄,將強(qiáng)制檢查父目錄權(quán)限(默認(rèn))
no_subtree_check 與 subtree_check 相對應(yīng),不檢查父目錄權(quán)限
root_squash 客戶機(jī)用 root 用戶訪問共享文件夾時,將 root 映射為匿名用戶
no_root_squash 客戶機(jī)用 root 用戶訪問共享文件夾時,不做映射
all_squash 客戶機(jī)所有用戶映射為匿名用戶
anonuid=xxx,anongid=xxx 使用 all_squash 選項(xiàng)時,指定 NFS 服務(wù)器 /etc/passwd 文件中用戶的 UID 和 GID
no_all_squash 保留共享文件的 UID 和 GID(默認(rèn))

在客戶端使用 NFS,需要安裝支持包

sudo apt-get install nfs-common

使用 mount 命令來將服務(wù)器上的共享目錄安裝到本地

mount -t nfs [options] server:dir mount_point

其意義是將 server 服務(wù)器上的 dir 目錄安裝在本地的 mount_point 安裝點(diǎn)上,文件系統(tǒng)類型為 nfs


NFS 系統(tǒng)的使用

首先建立一個共享目錄,然后向其中添加一些用于共享的文件

sudo mkdir -p /var/nfs_share
sudo /etc/init.d /var/nfs_share

編輯 /etc/exports 文件,加入如下行

/var/nfs_share *(rw,no_root_squash,insecure)

重載 NFS 服務(wù)

sudo systemctl reload nfs-server.service

在任意一臺可以 ping 通服務(wù)器的主機(jī)上安裝共享目錄,這里以 Ubuntu 客戶端為例

sudo mkdir -p /mnt/nfs
sudo mount -t nfs 192.168.1.105:/var/nfs_share /mnt/nfs

將 192.168.1.105 上的 /var/nfs_share 目錄掛載到本機(jī)的 /mnt/nfs 目錄下。到此,在客戶端可以通過命令查看其中內(nèi)容了

ls -l /mnt/nfs

NFS 文件系統(tǒng)的拆卸與普通文件的拆卸方法相同

sudo umount /mnt/nfs

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多