modprobe nbd は Debian 10.2 からの接続を解除しません。

modprobe nbd は Debian 10.2 からの接続を解除しません。

qemu-nbd- Debian 10.2 で QEMU ディスクネットワークブロックデバイスサーバーが失敗する。

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

最後に、次のエラーメッセージが表示されます。Debian modprobe: FATAL: Module nbd is in use. 9.12では正常に動作します。 (接続を開いたままにせずに接続を適切に開閉します。)

メモリには2つのプロセスが開いています。[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

以下は、同じqcow2イメージファイルを持つDebian 9.12サーバーで見ることができます。

[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

関連情報