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
[编辑] 没有qemu-nbd
进程正在运行。 nbd 设备仍然可以在 /proc/partitions 中看到。
在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
[解决方案] 确保vgchange -a n nbdvg
在断开连接之前执行。
答案1
使用 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