NFS學習筆記

一、NFS原理

## 本次實驗以CentOS7.7爲例
[root@qll251 ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
[root@qll251 ~]#
  1. NFS,是Network File System的簡寫,即網絡文件系統。
  2. 功能:不同操作系統的機器實現數據共享,使用RPC協議。
  3. 模式: C/S 模式(Client/Server模式)
  4. 端口號:2049
[root@qll251 ~]# grep nfs  /etc/services
nfs             2049/tcp        nfsd shilp      # Network File System
nfs             2049/udp        nfsd shilp      # Network File System
nfs             2049/sctp       nfsd shilp      # Network File System
[root@qll251 ~]#

5.版本:RHEL7是以NFSv4作爲默認版本

[root@qll251 ~]# nfsstat -s
Error: No Server Stats (/proc/net/rpc/nfsd: No such file or directory).
[root@qll251 ~]#
#############爲什麼出現Error呢?因爲咱們的NFS服務還沒有安裝呀

二、NFS-server服務安裝

NFS-server必需安裝兩個安裝包:nfs-utilsrpcbind
nfs-utils :包括基本的NFS命令與監控的程序
rpcbind :支持安全NFS RPC服務的連接

1)安裝NFS-server
[root@qll251 ~]# yum -y install nfs-utils

2)驗證是否安裝成功

## ·&&
[root@qll251 ~]#  rpm -qa | grep nfs && rpm -qa | grep rpcbind
libnfsidmap-0.25-19.el7.x86_64
nfs-utils-1.3.0-0.65.el7.x86_64
rpcbind-0.2.0-48.el7.x86_64
[root@qll251 ~]#

三、NFS服務器端配置

1)在NFS-Server上創建共享目錄,比如創建/tmp/share並設置權限

[root@qll251 ~]# mkdir -p /tmp/share
[root@qll251 ~]# chmod o+rwx /tmp/share
[root@qll251 ~]# ll  -d /tmp/share
drw-rw-rw- 2 root root 6 2月   3 16:38 /tmp/share
[root@qll251 ~]#

2)編輯NFS的配置文件:/etc/exports

NFS服務器通過讀取/etc/exports配置文件設定哪些客戶端可以訪問及訪問的權限。

/etc/exports文件格式

共享路徑	 客戶端主機1(選項) 客戶端主機2 (選項) ...
/tmp/share 192.168.1.0/24(rw,sync,all_squash) #常用all_squash參數,將所有來訪用戶變成nfsnobody用戶訪問。

在這裏插入圖片描述

3)啓動NFS服務,並使配置生效

[root@qll251 ~]# systemctl start rpcbind
[root@qll251 ~]# systemctl start nfs
[root@qll251 ~]# exportfs -rv
exporting 192.168.1.0/24:/tmp/share #我這裏是允許192.168.1.0/24整個網段下的主機訪問
[root@qll251 ~]#

4)NFS服務器端先自我測試下是否可以聯機

[root@qll251 ~]# showmount -e localhost   //-e:Show the NFS server's export list.
Export list for localhost:
/tmp/share 192.168.1.0/24
[root@qll251 ~]#

到此,NFS服務側的配置已完成,下面我們來討論Linux及Windows客戶端如何訪問NFS共享資源

四、Linux客戶端訪問NFS資源

1)安裝nfs-utils客戶端

[root@qll252 ~]# yum -y install nfs-utils

2)創建掛載目錄

[root@qll252 opt]# mkdir /shares

3)查看服務器端所共享的目錄信息

[root@qll252 ~]# showmount -e 192.168.1.251
Export list for 192.168.1.251:
/tmp/share 192.168.1.0/24
[root@qll252 ~]#

4)掛載NFS服務器所共享的/tmp/share目錄

# 格式: mount -t nfs `NFS服務器的IP`:`共享的目錄` 客戶端掛載點
[root@qll252 ~]# mount -t nfs 192.168.1.251:/tmp/share /shares
[root@qll252 ~]# df -h
文件系統                  容量  已用  可用 已用% 掛載點
192.168.1.251:/tmp/share   37G  1.6G   36G    5% /shares
[root@qll252 ~]#

以上mount方式爲臨時性掛載,重啓後失效
若改爲永久性開機自動掛載,則在/etc/fstab最後一行加入
192.168.1.251:/tmp/share /shares nfs _netdev 0 0

5)客戶端使用NFS所共享的資源

[root@qll252 ~]# cd /shares/
[root@qll252 shares]# touch 123.txt
[root@qll252 shares]# mkdir dir
[root@qll252 shares]# ls
123.txt  dir
[root@qll252 shares]#

6)取消掛載

[root@qll252 ~]# umount /shares

五、Windows客戶端掛載NFS

開頭說過,NFS是C/S架構。因此Windows客戶端同樣需要安裝NFS客戶端軟件,我們以Win7爲例

1)點擊開始 -> 控制面板->點擊程序
在這裏插入圖片描述2)點擊“打開或關閉windows功能”
在這裏插入圖片描述

3)展開NFS服務,勾選“NFS客戶端”和“管理工具”;同時勾選上“基於unix的應用程序子系統”,然後點確定
在這裏插入圖片描述
qinlulu

4)等待安裝

在這裏插入圖片描述

5)安裝完畢,窗口會自動關閉。
這時我們按下win + r,輸入cmd,進入命令提示符。
輸入mount -h,查看下mount幫助信息(小技巧:未提示錯誤,也側面說明咱正確安裝了NFS客戶端)
在這裏插入圖片描述
6)Win7執行掛載NFS操作

掛載格式:mount \NFS的IP\NFS目錄名 掛載盤符
取消掛載:umount 掛載盤符

qinlulu

7)我們按下win+e,打開計算機資源管理器。可以看到,我們掛載的Z盤已存在
qinlulu

如果小夥們對DOS命令不太熟悉,我們也可以採用如下方式

(和第六步實現效果一樣)

qinlulu

點擊完成,完成網絡驅動器映射
在這裏插入圖片描述

以兩種方式,重啓主機都需要手動從新映射。真是不厭其煩,因此我們可以寫一個批處理文件,並設置開啓啓動。步驟如下:

# 編寫nfs.txt文件
@echo off
start   "C:\Windows\System32\cmd.exe" 
net use Z: \\192.168.1.251\tmp\test
taskkill /f /im cmd.exe
exit
# 編寫完畢,修改nfs.txt後綴爲:nfs.bat。(後綴爲bat結尾的,爲Windows可識別的批處理腳本)
#以下是命令介解釋:
#第一行命令作用:關閉腳本中命令執行的回顯過程,那@echo on呢?聰明的您應該知道命令作用了
#第二行:啓動cmd.exe程序
#第三行:將NFS服務器共享目錄映射至本地Z盤
#第四行:命令執行完畢,關閉cmd命令窗口
#第五行:退出

批處理腳本編寫完畢,我們可雙擊nfs.bat,手動查看是否映射成功。

接下來完成最後一步,將nfs.bat批處理文件加入Windows開啓自啓動目錄

開始-->所有程序-->啓動;右鍵打開-->將桌面上的nfs.bat放入
qinlulu

拉進去!
qinlulu

重啓之後,效果如下:

重啓電腦的圖片就不展現了,在此保證任何實驗都是經過本人親自反覆驗證的。

qinlulu

更多IT技術,請微信搜索公衆號“秦露露”或者掃描下方二維碼關注
在這裏插入圖片描述

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