4.3 KiB
Документация → Использование → NBD
NBD
NBD расшифровывается как "сетевое блочное устройство", но на самом деле оно также работает просто как аналог FUSE для блочных устройств, то есть, представляет собой "блочное устройство в пространстве пользователя".
NBD на данный момент необходимо, чтобы монтировать диски Vitastor ядром Linux. NBD немного снижает производительность из-за дополнительных копирований памяти, но она всё равно остаётся на неплохом уровне (см. для примера тест).
Смотрите также VDUSE, как лучшую альтернативу NBD.
CSI-драйвер Kubernetes Vitastor использует NBD, когда VDUSE недоступен.
Подключить устройство
Чтобы создать локальное блочное устройство для образа, выполните команду:
vitastor-nbd map --image testimg
Команда напечатает название блочного устройства вида /dev/nbd0, которое потом можно будет использовать как обычный диск.
Для обращения по номеру инода, аналогично другим командам, можно использовать опции
--pool <POOL> --inode <INODE> --size <SIZE>
вместо --image testimg
.
vitastor-nbd поддерживает все обычные опции Vitastor, например, --config_file <path_to_config>
,
плюс специфичные для NBD:
--nbd_timeout 30
Максимальное время выполнения любой операции чтения/записи в секундах, при превышении которого ядро остановит NBD-устройство. Вы можете установить опцию в 0, чтобы отключить ограничение времени, но имейте в виду, что в этом случае вы вообще не сможете отключить NBD-устройство при нештатном завершении процесса vitastor-nbd.--nbd_max_devices 64 --nbd_max_part 3
Опции, передаваемые модулю ядра nbd, если его загружает vitastor-nbd (nbds_max
иmax_part
). Имейте в виду, что (nbds_max)*(1+max_part) обычно не должно превышать 256.--logfile /path/to/log/file.txt
Писать сообщения о процессе работы в заданный файл, вместо пропуска их при фоновом режиме запуска или печати на стандартный вывод при запуске в консоли с--foreground 1
.--dev_num N
Использовать заданное устройство/dev/nbdN
вместо автоматического подбора.--foreground 1
Не уводить процесс в фоновый режим.
Обратите внимание, что опции nbd_timeout
, nbd_max_devices
и nbd_max_part
можно
также задавать в /etc/vitastor/vitastor.conf
или в другом файле конфигурации,
заданном опцией --config_file
.
Отключить устройство
Для отключения устройства выполните:
vitastor-nbd unmap /dev/nbd0
Вывести подключённые устройства
vitastor-nbd ls [--json]
Пример вывода в обычном формате:
/dev/nbd0
image: bench
pid: 584536
/dev/nbd1
image: bench1
pid: 584546
Пример вывода в JSON-формате:
{"/dev/nbd0": {"image": "bench", "pid": 584536}, "/dev/nbd1": {"image": "bench1", "pid": 584546}}