Debian

modprobe nbd 未在 Debian 10.2 中釋放連接

  • March 5, 2020

qemu-nbd - QEMU 磁碟網路塊設備伺服器在 Debian 10.2 上失敗

與 Debian 9.12 完美搭配。不再適用於 Debian 10.2。關於我可能做錯了什麼的任何建議?

modprobe nbd
qemu-nbd --connect /dev/nbd0 -f qcow2 /tmp/image.qcow2
# -----
qemu-nbd -d /dev/nbd0
modprobe -r nbd

最後它給出了以下錯誤消息: modprobe: FATAL: Module nbd is in use. 它在 Debian 9.12 中的工作方式。(正確打開和關閉連接,而不留下打開的連接)。

在記憶體中有兩個程序打開:$$ kworker/u9:0-knbd0-recv $$$$ knbd0-recv $$

這兩個程序在執行時應該關閉qemu-nbd -d /dev/nbd0

$$ EDIT $$ 沒有qemu-nbd程序在執行。在 /proc/partitions 中仍然可以看到 nbd 設備。 在dmesg

113.620404]  nbd0: p1 p2 < p5 >
[  117.767674] EXT4-fs (dm-10): mounted filesystem with ordered data mode. Opts: (null)
[  156.688684] block nbd0: NBD_DISCONNECT
[  156.688696] block nbd0: Disconnected due to user request.
[  156.688697] block nbd0: shutting down sockets
[  163.869378] blk_update_request: I/O error, dev nbd0, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0

這是我在 Debian 9.12 伺服器中看到的具有相同 qcow2 映像文件的內容:

[181586.110052] block nbd0: NBD_DISCONNECT
[181586.110063] block nbd0: shutting down sockets
[181617.936407]  nbd0: p1 p2 < p5 >
[181748.735336] EXT4-fs (dm-14): 6 orphan inodes deleted
[181748.735337] EXT4-fs (dm-14): recovery complete
[181748.755426] EXT4-fs (dm-14): mounted filesystem with ordered data mode. Opts: (null)
[181772.254622] block nbd0: NBD_DISCONNECT

$$ SOLUTION $$ 確保vgchange -a n nbdvg在斷開連接之前執行。

使用 LVM 時,請vgchange -a n nbdvg在斷開連接之前執行:

這是正確的順序:

modprobe nbd
qemu-nbd --connect /dev/nbd0 -f qcow2 /tmp/image.qcow2
# -----
vgchange -a n nbvg
qemu-nbd -d /dev/nbd0
modprobe -r nbd

引用自:https://unix.stackexchange.com/questions/571295