諾禾-NFS 效勞器

ubuntu18.04.4 配置 NFS 效勞器

NFS 概述
NFS(Network File System)是一種能使效勞器上的信息被其他計算機掛載而到達資源共享的網絡文件系統。一個客戶機能夠把遠程文件系統掛載到本地文件系統的某個目錄下,作爲本地系統的一局部來運用。NFS 有屬於本人的協議和端口號,但在傳送材料或其他相關信息時,NFS 效勞器需求運用 RPC 協議來輔佐運轉。

RPC
由於 NFS 支持的功用很多,每當啓動一個功用就要啓用一些端口來傳輸數據,因而 NFS 的功用所對應的端口是不固定的,通常是隨機取用一些未被運用的小於 1024 的端口作爲傳輸之用,而客戶端必需曉得效勞器相關端口才幹銜接,此時需求 RPC 效勞。

RPC(遠程過程調用協議)的功用是制定每個 NFS 功用對應的端口號,並且回送給客戶端,讓客戶端銜接到正確的端口上。NFS 效勞器啓動時會隨機啓用數個端口號,並主意向 RPC 註冊,RPC 固定運用 111 號端口監聽客戶機的懇求並回應正確的端口號。因而,啓動 NFS 之前,要先啓動 RPC。

NFS 文件系統配置
Ubuntu 系統所運用的軟件包爲 nfs-kernel-server,當然還需求其他包支持,比方 rpcbind 作端口映射工作,這些支持包在裝置 NFS 時會自動裝置。

sudo apt install nfs-kernel-server
NFS 的效勞是 nfs-server.service,能夠運用效勞管理的方法停止管理

sudo systemctl enable/disable nfs-server.service # 啓用/禁用
systemctl status nfs-server.service # 檢查狀態
systemctl start/stop/restart/reload nfs-server.service # 啓動/中止/重啓/重載
NFS 配置文件爲 /etc/exports,每一行描繪一個共享目錄,並且闡明該目錄如何被共享,每一有效行的格式爲:共享目錄 訪問者(選項) 訪問者(選項)

訪問者爲主機或 IP 地址,括號內的選項只對括號前的訪問者有效,訪問者格式能夠爲:

指定 IP 地址
指定網段中一切主機,如 192.168.137.0/24
單臺主機名,如 pc001
含有通配符的主機名,如 proj*.local.domain,表示 local.domain 域的一切以 proj 開業的主機
常用選項及闡明如表所示

選項 闡明
ro/rw 只讀/讀寫
sync/async 同步/異步寫入
secure 只允許 NFS 經過 1024 以前端口銜接(默許)
insecure 允許 NFS 經過 1024 及以上的端口銜接,此選項關閉 secure
secure_locks 運用平安的文件鎖
insecure_looks/no_auth_nlm 允許運用不平安的文件鎖,此選項關閉 secure_locks
wdelay 延遲寫,假如多個用戶要寫入 NFS 目錄,則歸組寫入(默許)
no_wdelay 同步寫入。當運用 async 時,無須此設置
hide 不共享子目錄或躲藏子目錄
no_hide 共享 NFS 目錄的子目錄
subtree_check 共享目錄樹,假如共享目錄是一個子目錄,將強迫檢查父目錄權限(默許)
no_subtree_check 與 subtree_check 相對應,不檢查父目錄權限
root_squash 客戶機用 root 用戶訪問共享文件夾時,將 root 映射爲匿名用戶
no_root_squash 客戶機用 root 用戶訪問共享文件夾時,不做映射
all_squash 客戶機一切用戶映射爲匿名用戶
anonuid=xxx,anongid=xxx 運用 all_squash 選項時,指定 NFS 效勞器 /etc/passwd 文件中用戶的 UID 和 GID
no_all_squash 保存共享文件的 UID 和 GID(默許)
在客戶端運用 NFS,需求裝置支持包

sudo apt-get install nfs-common
運用 mount 命令來將效勞器上的共享目錄裝置到本地

mount -t nfs [options] server:dir mount_point
其意義是將 server 效勞器上的 dir 目錄裝置在本地的 mount_point 裝置點上,文件系統類型爲 nfs

NFS 系統的運用
首先樹立一個共享目錄,然後向其中添加一些用於共享的文件

sudo mkdir -p /var/nfs_share
sudo /etc/init.d /var/nfs_share
編輯 /etc/exports 文件,參加如下行

/var/nfs_share *(rw,no_root_squash,insecure)
重載 NFS 效勞

sudo systemctl reload nfs-server.service
在恣意一臺能夠 ping 通效勞器的主機上裝置共享目錄,這裏以 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 目錄掛載到本機的 /mnt/nfs 目錄下。到此,在客戶端能夠經過命令查看其中內容了

ls -l /mnt/nfs
NFS 文件系統的拆卸與普通文件的拆卸辦法相同

sudo umount /mnt/nfs

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