自學linux——21. NFS伺服器的搭建

叫我Ghost就好了發表於2020-12-07

                                                     NFS伺服器的搭建

1.NFS的認識

NFS(Network File System即網路檔案系統)服務最大的功能就是可以透過網路,讓不同的機器、不同的作業系統、可以彼此分享檔案,可以將遠端 Linux 系統上的檔案共享資源掛載到本地主機的目錄上,從而使得客戶端基於TCP/IP協議,像使用本地主機上的資源一樣讀寫遠端Linux系統上的共享檔案

2.配置需要

  • NFS 主程式:nfs-utils
  • RPC 主程式:rpcbind

NFS 的主配置檔案:/etc/exports   預設為空

3.相關引數

配置引數定義的格式:

共享目錄的路徑 +允許訪問的 NFS 客戶端(共享許可權引數)

A.伺服器端

(1)安裝NFS

rpm -q nfs-utils        #檢視是否安裝nfs-utils
rpm -q rpcbind          #檢視是否安裝rpcbind
yum install nfs-utils   #下載nfs-utils
yum install rpcbind     #下載rpcbind
rpm -q nfs-utils        #檢視是否安裝成功nfs-utils
rpm -q rpcbind          #檢視是否安裝成功rpcbind
systemctl start nfs-utils   #啟動nfs-utils
systemctl startr pcbind     #啟動pcbind
systemctl enable nfs-utils  #自啟nfs-utils
systemctl enable rpcbind    #自啟pcbind

(2)建立共享目錄

mkdir /nfs        #建立目錄
echo "nfs server">/nfs/nfs.txt  #建立檔案並寫入內容
chmod -Rf 777 /nfs/   #修改許可權
ll /nfs/              #檢視目錄
ll /nfs/nfs.txt       #檢視檔案

(3)配置NFS服務

配置引數格式:共享目錄的路徑 +允許訪問的 NFS 客戶端(共享許可權引數)

vim /etc/exports     #編輯主配置檔案
/nfs 192.168.0.*(rw,sync,root_squash)   #配置引數
exportfs -r          #配置生效
systemctl restart nfs       #重啟nfs
systemctl restart rpcbind   #重啟rpcbind

IP地址與引數之間沒有空格

(4)固定nfs服務埠(或iptables -F清空防火牆的預設策略)

vim /etc/sysconfig/nfs   #編輯配置檔案
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004

rpcinfo -p localhost     #檢視 RPC 服務的註冊狀況
systemctl restart nfs #重啟nfs

(5)本機查詢nfs伺服器

showmount -e 伺服器ip
-a :顯示目前主機與客戶端的 NFS 聯機分享的狀態
-e :顯示某部主機的 /etc/exports 所分享的目錄資料
-v:顯示版本號

B:linux客戶端

(1)建立目錄並掛載

mkdir /nfs      #建立掛載目錄
showmount -e 192.168.0.*   #檢視伺服器丟擲的共享目錄資訊
mount -t nfs 192.168.78.102:/nfs /nfs -o proto=tcp -o nolock   #提高NFS的穩定性

vim /etc/fstab #開機掛載
192.168.78.102:/nfs /nfs nfs defaults 0 0

ll /nfs/ #檢視掛載檔案
df -h #檢視掛載結果

提高NFS的穩定性,使用TCP協議掛載,NFS預設用UDP協議

(2)測試

cat /nfs/nfs.txt     #檢視檔案
echo “204” >> /nfs/nfs.txt  #追加內容
cat /nfs/nfs.txt     #檢視檔案

(3)解除安裝已掛在的NFS

umount –lf /nfs/nfs.txt

C.win客戶端

(1)開啟nfs客戶端

開啟控制皮膚—程式—啟用或關閉windos功能—選中適用於linux的Windows子系統—點選確定(先不重啟) —開啟控制皮膚—程式—啟用或關閉windos功能—選中NFS服務中的NFS客戶端和管理工具—點選確定—點選立即重啟

(2)掛載

win+r開啟執行,輸入mount   \\NFS的IP地址或者主機名\nfs目錄名 掛載點:  例如:mount   \\192.168.88.128\nfs X:   

win+e就可以看到掛載的X盤

(3)取消掛載

win+r開啟執行,輸入umount X:或者右鍵X盤,點選取消連線

5.自動掛載服務autofs

(1)autofs的認識

autofs服務程式是一 種Linux系統守護程式,它會在後臺檢測使用者是否要訪問某一個還未掛載的檔案系統,autofs會自動檢測該檔案系統是否存在,如果存在則進行掛載,如果使用者過了一段時間還沒有使用該檔案系統,autofs自動將其解除安裝,節省人力維護的成本和伺服器資源

(2)配置檔案

autofs服務程式主配置檔案為:/etc/auto.master,一般採用主配置和子配置的方式進行配置

主配置檔案採用“掛載目錄 子配置檔案”的格式填寫,掛載目錄是裝置掛載位置的上一級目錄

子配置檔案採用“掛載目錄 掛載檔案型別及許可權 :裝置名稱”的格式填寫,子配置檔案使用者自定義,字尾建議以.misc結束

(2)配置安裝(自動掛載光碟機為例)

a.下載

yum install autofs

b.修改配置檔案

vim /etc/auto.master     #編輯主配置檔案 
/media /etc/iso.misc     #新增子配置檔案
光碟裝置一般掛載到/media/cdrom目錄中
子配置檔案說明:/media /etc/iso.misc
/media 裝置掛載位置的上一級目錄
/etc/iso.misc 自定義子配置檔案

c.編輯子配置檔案

vim /etc/iso.misc
iso -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

把光碟裝置掛載到/media/iso 目錄中,子配置檔案可將掛載目錄寫為 iso,而-fstype 為檔案系統格式引數,iso9660 為光碟裝置格式,ro、nosuid 及 nodev 為光碟裝置具體的許可權引數,/dev/cdrom 則是定義要掛載的裝置名稱

d.啟動autofs服務

systemctl start autofs
systemctl enable autofs

e.檢視掛載

df -h           #檢視檔案系統目錄
cd /media/iso
ls
df -h

當切換到iso目錄時,使用掛載資源,autofs才自動進行掛載。當系統重啟後可以看到它沒有掛載上去,而再次切換到/media/iso目錄時,又會自動掛載。通過這種方式實現了按需分配,從而節約頻寬等資源

f.自動取消掛載

vim  /etc/autofs.conf
修改 timeout =    #多少秒後,自動取消掛載(單位為秒)
cat /etc/autofs.conf |grep -i "timeout ="    #檢視取消掛載時間

相關文章