如何在 Ubuntu 上获取连接的 NBD 设备列表?

Ala*_*ect 4 qemu ubuntu

查看nbd-servernbd-client以及qemu-ndb的手册页,我看不到任何列出连接了哪些 NBD 设备的方法。有没有办法做到这一点?

我可以通过实验找到的最接近的是 ls /dev/nbd并从中获取信息。但是你必须尝试安装东西才能看到它是什么。

小智 5

我正在使用此代码将新的附加qcow到未使用的/dev/nbd

for x in /sys/class/block/nbd[0-9]{1,} ; do 
        S=$(cat $x/size)
        if [ "$S" = "0" ] ; then
            dev_name=$(basename $x)
            ${SUDO} qemu-nbd -d /dev/${dev_name} || true
            echo "connecting ${QCOW_FILE} to /dev/${dev_name}"
            ${SUDO} qemu-nbd -c /dev/${dev_name} ${QCOW_FILE} &&  IS_MOUNTED="yes" ||   ${SUDO} qemu-nbd -d /dev/${dev_name}
            [[ "${IS_MOUNTED:-no}" != "yes" ]] && continue
            break
        fi

    done
Run Code Online (Sandbox Code Playgroud)