NFS(Network FileSystem)即網絡文件系統,是FreeBSD支持的文件系統中的一種,它容許網絡中的計算機之間經過TCP/IP網絡共享資源。在NFS的應用中,本地NFS的客戶端應用能夠透明地讀寫位於遠端NFS服務器上的文件,就像訪問本地文件同樣。
NFS有一個服務端和若干個客戶端組成linux
// 安裝服務端 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 顯示共享目錄服務器
// 顯示NFS服務器上全部的共享目錄 showmount -e // 僅顯示已被NFS客戶端加載的目錄 showmount -a
原文地址 https://www.unix.com/man-page...網絡
系統 RPC服務在 nfs服務啓動時默認會爲 mountd動態選取一個隨機端口(32768--65535)來進行通信,咱們能夠經過編輯/etc/services 文件爲 mountd指定一個固定端口負載均衡
# vi /etc/services
在末尾添加
mountd 端口號/udp
mountd 端口號/tcpasync
rpc.nfsd:它是基本的NFS守護進程,主要功能是管理客戶端是否可以登陸服務器tcp
rpc.mountd:它是RPC安裝守護進程,主要功能是管理NFS的文件系統。當客戶端順利經過rpc.nfsd登陸NFS服務後,在使用NFS服務所提供的文憑前,還必須經過文件使用權限的驗證。它會讀取NFS的配置文件/etc/exports來對比客戶端權限。ui
portmap:portmap的主要功能是進行端口映射工做。當客戶端嘗試鏈接並使用RPC服務器提供的服務(如NFS服務)時,portmap會將所管理的與服務對應的端口提供給客戶端,從而使客戶能夠經過該端口向服務器請求服務。阿里雲
rpcinfo -p
阿里雲有虛擬防火牆,須要配置安全組,如圖spa
apt-get install nfs-common
showmount -e 服務端ip // 查看服務端共享目錄,若超時了,可能防火牆有問題,須要開放相應端口 mount -t nfs 服務端ip:共享目錄 掛載目錄
掛載命令詳細說明
df -h