vitastor/docs/usage/nbd.ru.md

3.8 KiB
Raw Blame History

Документация → Использование → NBD


Read in English

NBD

NBD расшифровывается как "сетевое блочное устройство", но на самом деле оно также работает просто как аналог FUSE для блочных устройств, то есть, представляет собой "блочное устройство в пространстве пользователя".

NBD на данный момент необходимо, чтобы монтировать диски Vitastor ядром Linux. NBD немного снижает производительность из-за дополнительных копирований памяти, но она всё равно остаётся на неплохом уровне (см. для примера тест).

CSI-драйвер Kubernetes Vitastor основан на NBD.

Подключить устройство

Чтобы создать локальное блочное устройство для образа, выполните команду:

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}}