Ubuntu下配置NFS

什麼是NFS

NFS(Network FileSystem)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它允許網絡中的計算機之間通過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件一樣。

NFS組成

NFS有一個服務端和若干個客戶端組成

NFS作用

  1. 可以將一些文件放到遠程,節省本地存儲空間
  2. 在其他服務器上也能訪問相同的文件,可解決負載均衡中,文件同步問題
  3. 文件便於集中管理,備份

服務端安裝及配置

// 安裝服務端
sudo apt install nfs-kernel-server
// 修改配置
sudo vi /etc/exports
// 重啓
sudo service nfs-kernel-server restart

配置說明

// ip不限
/var/data *(rw,sync,no_root_squash)
//目錄 ip(權限) ip(權限)
/var/data 127.0.0(rw,sync,no_root_squash) 127.0.0(rw,sync,no_root_squash)

rw 可讀寫的權限
ro 只讀的權限
no_root_squash 登入NFS主機,使用該共享目錄時相當於該目錄的擁有者,如果是root的話,那麼對於這個共享的目錄來說,他就具有root的權限,這個參數『極不安全』,不建議使用
all_squash 不論登入NFS的使用者身份爲何,他的身份都會被壓縮成爲匿名使用者,通常也就是nobody
anonuid 可以自行設定這個UID的值,這個UID必需要存在於你的/etc/passwd當中
anongid 同anonuid,但是變成groupID就是了
sync 資料同步寫入到內存與硬盤當中
async 資料會先暫存於內存當中,而非直接寫入硬盤
insecure 允許從這臺機器過來的非授權訪問

配置生效,無需重啓

sudo exportfs -rv

exportfs命令
常用選項
-a 全部掛載或者全部卸載
-r 重新掛載
-u 卸載某一個目錄
-v 顯示共享目錄

showmount

// 顯示NFS服務器上所有的共享目錄
showmount -e
// 僅顯示已被NFS客戶端加載的目錄
showmount -a

原文地址 https://www.unix.com/man-page...

固定mountd端口

系統 RPC服務在 nfs服務啓動時默認會爲 mountd動態選取一個隨機端口(32768--65535)來進行通訊,我們可以通過編輯/etc/services 文件爲 mountd指定一個固定端口

# vi /etc/services

在末尾添加
mountd 端口號/udp
mountd 端口號/tcp

NFS的守護進程

rpc.nfsd:它是基本的NFS守護進程,主要功能是管理客戶端是否能夠登錄服務器

rpc.mountd:它是RPC安裝守護進程,主要功能是管理NFS的文件系統。當客戶端順利通過rpc.nfsd登錄NFS服務後,在使用NFS服務所提供的文憑前,還必須通過文件使用權限的驗證。它會讀取NFS的配置文件/etc/exports來對比客戶端權限。

portmap:portmap的主要功能是進行端口映射工作。當客戶端嘗試連接並使用RPC服務器提供的服務(如NFS服務)時,portmap會將所管理的與服務對應的端口提供給客戶端,從而使客戶可以通過該端口向服務器請求服務。

查看 rpc進程

rpcinfo -p 

防火牆配置

阿里雲有虛擬防火牆,需要配置安全組,如圖圖片描述

客戶端配置

安裝

apt-get install nfs-common

掛載

showmount -e 服務端ip
// 查看服務端共享目錄,若超時了,可能防火牆有問題,需要開放相應端口
mount -t nfs 服務端ip:共享目錄 掛載目錄

查看所有掛載

df -h

詳細說明

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