NFS(Network File System),即網絡文件系統。NFS服務能夠將遠程Linux系統上的文件共享資源掛載到本地主機的目錄上,從而使用本地主機(Linux客戶端)像使用本地資源那樣讀寫遠程Linux系統上的共享資源。
表1:系統環境vim
主機名稱 | 操做系統 | IP地址 |
---|---|---|
NFS服務器 | Centos 7 64位 | 192.168.2.211 |
NFS客戶端 | Centos 7 64位 | 192.168.2.223 |
表2:NFS服務配置文件的參數服務器
參數 | 做用 |
---|---|
ro | 只讀 |
rw | 讀寫 |
root_squash | 當NFS客戶端以root管理員訪問時,映射爲NFS服務器的匿名用戶 |
no_root_squash | 當NFS客戶端以root管理員訪問時,映射爲NFS服務器的root管理員 |
all_squash | 不管NFS客戶端使用什麼帳戶訪問,均映射爲NFS服務器的匿名用戶 |
sync | 同時將數據寫入到內存與硬盤中,保證不丟失數據 |
async | 優先將數據寫入到內存,而後再寫入硬盤;這樣效率更高,但可能會丟失數據 |
NFS服務器操做
一、安裝NFSyum -y install nfs-utils
二、建立用於NFS共享的目錄網絡
mkdir /nfsdata chown -R nfsnobody /nfsdata/
三、編輯NFS的配置文件,添加以下內容
注:NFS的配置文件默認是沒有內容的vim /etc/exports
/nfsdata 192.168.2.*(rw,sync,root_squash)
四、啓動NFS服務,並加入開機啓動項
NFS服務須要使用RPC(Remote Procedure Call,遠程過程調用)服務將NFS服務器的IP地址和端口號等信息發送給客戶端,所以,在啓動NFS服務以前,還須要順帶啓動rpcbind服務。async
systemctl start rpcbind systemctl enable rpcbind systemctl start nfs-server systemctl enable nfs-server
五、查看nfs向rpc註冊的端口信息rpcinfo -p localhost
注:下圖中用紅框括起來的端口號須要防火牆容許
六、配置firewalld防火牆,容許nfs和rpc端口tcp
firewall-cmd --permanent --add-service=nfs firewall-cmd --permanent --add-service=mountd firewall-cmd --permanent --add-port=111/tcp firewall-cmd --permanent --add-port=111/udp firewall-cmd --reload
NFS客戶端操做
一、使用showmount命令查詢NFS服務器的遠程共享信息
表3:showmount命令可用的參數以及做用ide
參數 | 做用 |
---|---|
-e | 顯示NFS服務器的共享列表 |
-a | 顯示本機掛載的文件資源的狀況 |
-v | 顯示版本號 |
showmount -e 192.168.2.211
二、建立掛載目錄,並掛載測試
mkdir /nfsdata mount -t nfs 192.168.2.211:/nfsdata /nfsdata
三、將掛載信息寫入/etc/fstab文件中,以便開機自動掛載vim /etc/fstab
192.168.2.211:/nfsdata /nfsdata nfs defaults 0 0
四、測試
往/nfsdata目錄下寫入一個文件echo "welcome to xuad.com" > /nfsdata/xuad.txt
在NFS服務器上查看/nfsdata目錄下是否生成了此文件操作系統