Документация → Использование → NBD
NBD расшифровывается как "сетевое блочное устройство", но на самом деле оно также работает просто как аналог FUSE для блочных устройств, то есть, представляет собой "блочное устройство в пространстве пользователя".
NBD на данный момент необходимо, чтобы монтировать диски Vitastor ядром Linux. NBD немного снижает производительность из-за дополнительных копирований памяти, но она всё равно остаётся на неплохом уровне (см. для примера тест).
CSI-драйвер Kubernetes Vitastor основан на NBD.
Смотрите также VDUSE.
Чтобы создать локальное блочное устройство для образа, выполните команду:
vitastor-nbd map --etcd_address 10.115.0.10:2379/v3 --image testimg
Команда напечатает название блочного устройства вида /dev/nbd0, которое потом можно будет использовать как обычный диск.
Для обращения по номеру инода, аналогично другим командам, можно использовать опции
--pool <POOL> --inode <INODE> --size <SIZE>
вместо --image testimg
.
Дополнительные опции для команды подключения 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
Не уводить процесс в фоновый режим.
Для отключения устройства выполните:
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}}