(Linux)遠端掛載網路磁碟詳解---nfs共享
前言
在Linux或Windows乃至其他的系統,我們經常會需要進行磁碟的掛載。通常從掛載的方式的上分為本地掛載和遠端掛載。Linux的本地掛載就不介紹了,這篇文章介紹的是遠端掛載網路磁碟。
遠端掛載網路磁碟
實際上,這個操作與使用nfs共享一個檔案的方法是相同的。思路是服務端將一塊磁碟空間本地掛載到一個目錄,然後通過網路使用nfs將這個目錄進行共享,客戶端最後將服務端共享的目錄掛載到自己本地的一個目錄,這樣就使客戶端擁有了一塊網路磁碟。
優點是:服務端的同一塊磁碟可以掛載到不同的客戶端,實現檔案的共享;可以擴充客戶端的儲存空間。
缺點是:依賴網路,當網路聯通失敗,客戶端掛載的網路磁碟會無法使用。
做網路掛載,服務端與客戶端網路要聯通,最好是在同一區域網內。
NFS簡介
-
Sun公司於1984年釋出。
-
NFS 是一種可分散式的網路檔案系統。
-
可以通過網路使不同的機器、不同的作業系統,能夠分享資料,使客戶端能通過網路訪問並分享檔案到位於服務端的磁碟中。
-
NFS在檔案傳送或資訊傳送過程中依賴於RPC協議。RPC負責負責資訊的傳輸。
服務端操作
【1】安裝NFS程式
yum -y install nfs*
rpcbind,在centos6以前自帶的yum源中為portmap。
使用yum安裝nfs時會下載依賴,因此只要下載nfs即可,無需再下載rpcbind.
【2】檢視是否安裝了nfs與rpcbind
rpm -qa |grep nfs
rpm -qa |grep rpcbind
【3】建立共享的目錄並共享
如要共享的目錄已存在請跳過建立
<1>mkdir /mnt/nfs01
<2>vim /etc/exports
/mnt/nfs01 10.10.10.0/24 (rw,no_root_squash,no_all_squash,sync)
配置 /mnt/nfs01 10.10.10.0/24 (rw,no_root_squash,no_all_squash,sync) 要共享的目錄 要分享給的客戶端 客戶端對此共享目錄的許可權 ---------- 客戶端指定 192.168.1.125 指定特定的的IP可以共享nfs目錄 * 指定所有網段及ip都可以共享nfs目錄 192.168.1.0/24 指定子網中的所有主機都可以共享nfs目錄 2018fs.wxyonghe.com 指定域名的主機可以共享nfs目錄 ---------- 許可權 rw 可讀可寫 ro 只讀(還與檔案系統的rwx有關) sync 資料同步寫入到記憶體與硬碟中 async 資料先暫存於記憶體當中,不會直接寫入硬碟 wdelay 當有寫操作,就會檢查是否有相關的寫操作,並在一起執行(預設設定) no_wdelay 當有寫操作就立即執行,通常要與sync配合使用 root_squash 當客戶端登陸NFS的身份為root使用者時,將客戶端的root使用者及所屬組都對映為匿名使用者或使用者組(預設設定) no_root_squash 使客戶端可以使用root身份及許可權來操作共享的目錄 all_squash 無論客戶端登陸NFS的身份為何,都將對映為匿名使用者 no_all_squash 無論客戶端登陸NFS的身份為何,都將對映為root使用者(預設設定) anonuid 將遠端訪問的所有使用者都對映為匿名使用者,並指定該使用者為本地使用者 anongid 將遠端訪問的所有使用者組都對映為匿名使用者組賬戶,並指定該匿名使用者組賬戶為本地使用者組賬戶 secure 使客戶端只能從小於1024的tcp/ip埠連線服務端(預設設定) insecure 允許客戶端從大於1024的tcp/ip埠連線服務端 subtree 當共享的目錄是一個子目錄,服務端會檢查其父目錄的許可權(預設設定) no_subtree 當共享的目錄是一個子目錄,服務端不檢查其父目錄的許可權
【4】啟動nfs,rpcbind,並設為開機自啟
(centos7)
systemctl start nfs
systemctl start rpcbind
systemctl enable nfs
systemclt enable rpcbind
(centos6)
service nfs start
service rpcbind start
【5】檢視是否共享成功
showmount -e localhost
可看到共享的目錄及客戶端,即為成功
客戶端操作
【1】安裝NFS程式
yum -y install nfs*
【2】啟動nfs
(centos7)
systemctl start nfs
systemctl start rpcbind
systemctl enable nfs
systemctl enable rpcbind
(centos6)
service nfs start
service rpcbind start
chkconfig nfs on
chkconfig rpcbind on
【3】建立掛載目錄
mkdir /data/nfsone
【4】檢視是否共享成功
showmount -e nfs服務端IP
showmount -e 10.10.20.212
【5】網路掛載
mount -t nfs -o nolock 服務端IP:共享目錄絕對路徑 本地掛載目錄
mount -t nfs -o nolock 10.10.20.212:/mnt/nfs01 /data/nfsone
centos7的nfs預設使用的是nfs4,所以mount -t 無需指定nfs4也可以
【6】檢視是否成功
df -Th
【7】解除安裝網路磁碟
與解除安裝本地掛載相同
umount /data/nfsone
或
umount 10.10.20.212:/mnt/nfs01