nbd 相關概念及操作

2021-10-12 10:33:26 字數 1538 閱讀 6048

周五(3月6號)筆者發現有台物理機上掛載了乙個並非常用的nbd裝置,估計是之前人做的測試留下來的,決定解除安裝它,順帶了解了下nbd的裝置資訊。

什麼是nbd

全稱是network block device,類似於nfs,遠端裝置可以掛載,只不過掛載的不再是檔案系統,而是塊裝置。

nbd一般分為client端和server端。

nbd相關操作命令

# server

apt install nbd-server 安裝nbd server端

modprobe

nbd 載入nbd模組

lsmod | grep nbd 檢視nbd模組是否載入

nbd-server [port] nbd.file 通過nbd-server掛載nbd.file,nbd.file可以是linux格式支援的磁碟映象檔案(iso,塊裝置等)

# client

apt install nbd-client

ls /dev/nbd* -hl 檢視nbd列表及大小

nbd-client [server ip] [port] /dev/nbd10 將遠端server的塊裝置掛載到本地nbd10上

nbd-client -d /dev/nbd10 detach遠端nbd裝置

對於server端的解除安裝 筆者沒有找到解除安裝命令,直接kill了。

nbd-client 和qemu-nbd

nbd-client用於掛載遠端nbd-server,當主機裝完nbd-client的包後,通過 ls /dev/nbd* -hl 能夠發現新增了/dev/nbd 裝置

執行nbd-client 掛載命令後,對這塊block,執行的是常規的例如mkfs , mount 後便可使用。

但是對於img,qcow2這類檔案該如何進行本地掛載,使用的是qemu-nbd

(如下圖,使用client以及server方式,雖然前面nbd步驟可以正常執行,但是卻無法正常mount,提示格式不支援)

# qemu-nbd

qemu-nbd -c /dev/nbd10 xx.img 在本地掛載img檔案到nbd10上

qemu-nbd -d /dev/nbd10 解除安裝nbd10

如果img檔案有1個分割槽,那麼對應的nbd10會生成乙個nbd10p1,如果有2個分割槽,對應的nbd10會生成nbd10p1以及nbd10p2,以此類推。

通過mount掛載便可進入訪問。

解除安裝圖一中的/mnt

cd /mnt && ls -al 進入/mnt目錄並檢查有無重要檔案

cd .. 退出

ls /dev/nbd10* -hl 檢查nbd10相關裝置

umount /mnt 取消/mnt掛載

qemu-nbd -d /dev/nbd10 解除安裝10裝置,注意不是nbd10p1

ls /dev/nbd10* -hl 再次檢查nbd10相關裝置

佇列的相關概念及操作

什麼是佇列?佇列就是乙個隊伍,佇列和棧一樣,由一段連續的儲存空間組成,是乙個具有自身特殊規則的資料結構,我們都知道棧的先進後出的規則,而佇列剛好相反,是乙個先進先出的 fifo 或者說後進後出 lilo 的資料結構。佇列的是一種受限制的資料結構,插入操作只能從一端操作,這一端叫做隊尾,而移除操作也只...

靜態鍊錶相關概念及其操作

靜態鍊錶結構 首先我們先來看看靜態鍊錶的結構定義 typedef structcomponent,staticlinklist maxsize status initlist staticlinklist l l maxsize 2 cur 0 備用鍊錶的表尾 l maxsize 1 cur 0 資...

python基礎 類的相關概念及操作

一 類的基本概念 class dog def init self,name,age self.name name self.age age def sit self print self.name.title is now sitting.def roll over self print self....