# NFS遠程掛載 ## 一、概述 > NFS是一種基於TCP/IP 傳輸的網路文件系統協議。通過使用NFS協議,客戶機可以像訪問本地目錄一樣訪問遠程伺服器中的共用資源 > NAS存儲: NFS服務的實現依賴於RPC (Remote Process Call,遠端過程調用)機制,以完成遠程到本地的映 ...
NFS遠程掛載
一、概述
NFS是一種基於TCP/IP 傳輸的網路文件系統協議。通過使用NFS協議,客戶機可以像訪問本地目錄一樣訪問遠程伺服器中的共用資源
NAS存儲: NFS服務的實現依賴於RPC (Remote Process Call,遠端過程調用)機制,以完成遠程到本地的映射過程。
在Centos 7系統中,需要安裝nfs-utils、 rpcbind 軟體包來提供NFS共用服務,前者用於NFS共用發佈和訪問,後者用於RPC支持。
手動載入NFS共用服務時,應該先啟動rpcbind, 再啟動nfs。
nfs埠:2049
RPC埠:111
2.特點
採用TCP/IP傳輸網路文件
安全性低
簡單易操作
適合區域網環境
二、nfs遠程掛載實驗
先準備兩台虛擬機 一臺當作服務端 另一臺則是客戶端
-
在服務端上安裝nfs-utils rpcbind軟體包
yum install nfs-utils rpcbind -y
-
創建測試文件夾用作客戶端可訪問的文件夾
mkdir /nfstest
-
開啟rpcbind服務和nfs服務
systemctl start rpcbind systemctl start nfs
-
在/nfstest 目錄下創建兩個文件
touch /nfstest/只因你太美.txt touch /nfstest/雞你太美.txt
-
修改nfstest文件許可權 修改屬主和屬組
chmod -R 777 /nfstest/ chown -R nfsnobody.nfsnobody /nfstest/
-
修改配置文件 寫入/nfstest *(insecure,rw,sync) 即可
文件目錄 目標IP/埠(rw,sync,all_squash,anonuid=1000,anongid=1000)。
它主要分三部分,第一部分為共用出去的目錄,第二部分為允許訪問的ip,可以是一個IP,也可以是IP段,第三部分為小括弧中的許可權選項。rw 允許讀寫
ro 只讀
sync 同步寫入
async 先寫入緩衝區,必要時才寫入磁碟,速度快,但會丟數據
subtree_check 若輸出一個子目錄,則nfs服務將檢查其父目錄許可權
no_subtree_check 若輸出一個字目錄,不檢查父目錄,提高效率
no_root_squash 客戶端以root登錄時,賦予其本地root許可權
oot_squash 客戶端以root登錄時,將其映射為匿名用戶
all_squash 將所有用戶映射為匿名用戶vim /etc/exports /nfstest *(insecure,rw,sync) `這裡*設置全部地址都可,也可改為具體的ip地址`
-
準備客戶端同樣安裝軟體 啟動服務
yum install nfs-utils rpcbind -y systemctl start rpcbind systemctl start nfs
-
查看服務端掛載情況 showmount -e ip
showmount -e x.x.x.x 顯示如下: Export list for x.x.x.x: /nfstest *
-
把服務端的測試文件/nfstest文件掛載到客戶端的client_nfs文件上
再次說明x.x.x.x為你的ip地址
這裡我先創建被掛載的文件client_nfs mkdir /client_nfs mount掛載 mount -t nfs x.x.x.x:/nfstest/ /client_nfs/
-
ls 查看/client_nfs文件
ls /client_nfs/ 雞你太美.txt 只因你太美.txt
註意:
-
因為以及設置了rw 可讀寫 許可權 即可以在/client_nfs文件下創建文件 在服務端機器/nfstest文件下 也能看到所創建的文件
-
如果想取消掛載 umount 命令即可
註意不要在client_nfs目錄下使用
umount /client_nfs
-
-
因為你掛載了服務端的文件,那麼當你取消掛載,然後在客戶端原先的client_nfs文件下創建文件,再進行掛載操作後,查看文件就會再顯示,讀取的都是掛載文件/nfstest的文件。
-
開機自動掛載
配置開機掛載服務,每次開機都能用nfs
-
把掛載命令寫入到 開機啟動掛載文件中
vim /etc/fstab 在下麵添加 x.x.x.x:/nfstest /client_nfs nfs defaults 0 0
autofs自動掛載服務
如果開機就強制掛載很多內容,但是又不經常使用,會給伺服器造成很大壓力
因此一些具有動態特性的文件系統,可以選擇進行動態掛載。比如:光碟、軟盤、U盤、移動硬碟、NFS、SMB等文件系統
autofs特點
autofs和mount命令的不同點在於
autofs是一個守護進程,它會在後臺檢測用戶是否要訪問某一個還未掛載的文件系統,autofs會自動檢測該文件系統是否存在,如果存在則進行掛載,如果用戶過一段時間沒有使用該文件系統,autofs自動將其卸載,節省人力維護成本,以及節省伺服器資源
缺點:
autofs特點是,當用戶請求時候才掛載文件系統,如果是高併發的業務場景,大量的用戶併發訪問文件系統,autofs突然進行大量的掛載,會給伺服器造成很大壓力,因此在一些高併發場景下,寧願保持持續掛載,也不用autofs
-
安裝autofs
yum install autofs -y
-
編輯 /etc/auto.master
/misc /etc/auto.misc //在這一行下麵添加如下語句 (第七行) /- /etc/auto.home
-
編輯/etc/auto.home文件
/client_nfs -rw,soft,intr x.x.x.x:/nfstest
-
啟動autofs
systemctl start autofs
-
檢查/client_nfs文件是否掛載了 如果掛載了可以umount取消掛載
[root@localhost ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 devtmpfs 476M 0 476M 0% /dev tmpfs 487M 0 487M 0% /dev/shm tmpfs 487M 7.7M 479M 2% /run tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/sda2 19G 1.9G 18G 10% / /dev/sda1 1014M 132M 883M 13% /boot tmpfs 98M 0 98M 0% /run/user/0
-
查看/client_nfs文件 會自動掛載並顯示/nfstest文件中的內容
[root@localhost ~]# ls /client_nfs/ 雞你太美.txt 只因你太美.txt
-
再次查看掛載情況
[root@localhost ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 devtmpfs 476M 0 476M 0% /dev tmpfs 487M 0 487M 0% /dev/shm tmpfs 487M 7.7M 479M 2% /run tmpfs 487M 0 487M 0% /sys/fs/cgroup /dev/sda2 19G 1.9G 18G 10% / /dev/sda1 1014M 132M 883M 13% /boot tmpfs 98M 0 98M 0% /run/user/0 x.x.x.x:/nfstest 19G 2.9G 17G 15% /client_nfs
-
當一段時間不操作,之後autofs會自動卸載該設備
-