(Linux)遠端掛載網路磁碟詳解 nfs共享

2021-10-09 12:58:27 字數 3663 閱讀 2490

在linux或windows乃至其他的系統,我們經常會需要進行磁碟的掛載。通常從掛載的方式的上分為本地掛載和遠端掛載。linux的本地掛載就不介紹了,這篇文章介紹的是遠端掛載網路磁碟。

實際上,這個操作與使用nfs共享乙個檔案的方法是相同的。思路是服務端將一塊磁碟空間本地掛載到乙個目錄,然後通過網路使用nfs將這個目錄進行共享,客戶端最後將服務端共享的目錄掛載到自己本地的乙個目錄,這樣就使客戶端擁有了一塊網路磁碟。

優點是:服務端的同一塊磁碟可以掛載到不同的客戶端,實現檔案的共享;可以擴充客戶端的儲存空間。

缺點是:依賴網路,當網路聯通失敗,客戶端掛載的網路磁碟會無法使用。

做網路掛載,服務端與客戶端網路要聯通,最好是在同一區域網內,還要注意防火牆的設定。

安裝nfs程式

yum -y install nfs*

檢視是否安裝了nfs與rpcbind

建立共享的目錄並共享

如要共享的目錄已存在請跳過建立

<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 當共享的目錄是乙個子目錄,服務端不檢查其父目錄的許可權

啟動nfs,rpcbind,並設為開機自啟

(centos7)

systemctl start nfs

systemctl start rpcbind

systemctl enable nfs

systemclt enable rpcbind

(centos6)

service nfs start

service rpcbind start

備註:停止服務命令

(centos7)

systemctl disable rpcbind

systemctl stop rpcbind

systemctl stop rpcbind.socket

systemctl stop nfs

(centos6)

service rpcbind stop

service nfslock stop

檢視是否共享成功

showmount -e localhost

可看到共享的目錄及客戶端,即為成功

安裝nfs程式

yum -y install nfs*

啟動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

建立掛載目錄

mkdir /data/nfsone

檢視是否共享成功

showmount -e nfs服務端ip

showmount -e 10.10.20.212

網路掛載

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也可以

檢視是否成功

解除安裝網路磁碟

與解除安裝本地掛載相同

umount /data/nfsone

或umount 10.10.20.212:/mnt/nfs01

另附:windows掛載nfs服務: 

windows目錄對映: 

mklink [[/d] | [/h] | [/j]] link target

/j:建立目錄聯接。

假設我們要將 c 盤下的 windows 資料夾,對映成 e 盤下的同名目錄。

mklink /j e:\windows c:\windows

Linux 遠端掛載 Ceph RBD 磁碟

rbd 是 ceph 的塊儲存方案,最近需要在一台 linux 伺服器上掛載 ceph 映象,做法和 kubernetes 掛 rbd 很像,但部分操作由於 kubernetes 在映象中已經固化了,所以將這次完全自己控制的步驟記錄下來,加深對 ceph 掛載的理解。要掛載 rbd 磁碟的 linu...

linux掛載磁碟

結果顯示這是有兩塊磁碟,分別是sda和sdb。fdisk dev sdb d 刪除分割槽 n 新建分割槽 q 退出不儲存 w 退出並儲存 p 該硬碟的分割槽資訊 mkfs t ext3 vfat dev sdb1 mkdir mnt database mount t ext3 vfat mnt da...

Linux 掛載磁碟

檢視待掛載磁碟資訊 fdisk l 格式化磁碟 mkfs.ext3 dev xvdb1 建立磁碟掛載入口 mkdir data 掛載到系統中 mount t ext3 dev xvdb1 data 編輯全域性檔案 vi etc fstab 新增 dev xvdb1 data ext3 default...