周五(3月6號)筆者發現有台物理機上掛載了乙個並非常用的nbd裝置,估計是之前人做的測試留下來的,決定解除安裝它,順帶了解了下nbd的裝置資訊。
什麼是nbd
全稱是network block device,類似於nfs,遠端裝置可以掛載,只不過掛載的不再是檔案系統,而是塊裝置。
nbd一般分為client端和server端。
nbd相關操作命令
# server對於server端的解除安裝 筆者沒有找到解除安裝命令,直接kill了。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裝置
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如果img檔案有1個分割槽,那麼對應的nbd10會生成乙個nbd10p1,如果有2個分割槽,對應的nbd10會生成nbd10p1以及nbd10p2,以此類推。qemu-nbd -c /dev/nbd10 xx.img 在本地掛載img檔案到nbd10上
qemu-nbd -d /dev/nbd10 解除安裝nbd10
通過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....