4

Просматривая справочные страницы для nbd-server и nbd-client и qemu-ndb, я не вижу способа перечислить, какие устройства NBD подключены. Есть ли способ сделать это?

Самым близким, что я могу найти экспериментальным путем, является ls /dev/nbd и извлечение информации из него. Но вы должны попытаться смонтировать материал, чтобы увидеть, что это такое.

1 ответ1

3

Я использую этот код для присоединения нового 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .