周五(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相關設備
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/135854.html
標籤:Linux
上一篇:作業系統-多行程影像
下一篇:ELK日志收集
