diff --git a/docs/usage/nbd.en.md b/docs/usage/nbd.en.md index 7cc89f5d..5d4ef670 100644 --- a/docs/usage/nbd.en.md +++ b/docs/usage/nbd.en.md @@ -25,6 +25,23 @@ It will output a block device name like /dev/nbd0 which you can then use as a no You can also use `--pool --inode --size ` instead of `--image ` if you want. +Additional options for map command: + +* `--nbd_timeout 30` \ + Timeout for I/O operations in seconds after exceeding which the kernel stops + the device. You can set it to 0 to disable the timeout, but beware that you + won't be able to stop the device at all if vitastor-nbd process dies. +* `--nbd_max_devices 64 --nbd_max_part 3` \ + Options for the `nbd` kernel module when modprobing it (`nbds_max` and `max_part`). + note that maximum allowed (nbds_max)*(1+max_part) is 256. +* `--logfile /path/to/log/file.txt` \ + Write log messages to the specified file instead of dropping them (in background mode) + or printing them to the standard output (in foreground mode). +* `--dev_num N` \ + Use the specified device /dev/nbdN instead of automatic selection. +* `--foreground 1` \ + Stay in foreground, do not daemonize. + ## Unmap image To unmap the device run: @@ -32,3 +49,27 @@ To unmap the device run: ``` vitastor-nbd unmap /dev/nbd0 ``` + +## List mapped images + +``` +vitastor-nbd ls [--json] +``` + +Example output (normal format): + +``` +/dev/nbd0 +image: bench +pid: 584536 + +/dev/nbd1 +image: bench1 +pid: 584546 +``` + +Example output (JSON format): + +``` +{"/dev/nbd0": {"image": "bench", "pid": 584536}, "/dev/nbd1": {"image": "bench1", "pid": 584546}} +``` diff --git a/docs/usage/nbd.ru.md b/docs/usage/nbd.ru.md index a562f18f..b302b1e7 100644 --- a/docs/usage/nbd.ru.md +++ b/docs/usage/nbd.ru.md @@ -30,6 +30,27 @@ vitastor-nbd map --etcd_address 10.115.0.10:2379/v3 --image testimg Для обращения по номеру инода, аналогично другим командам, можно использовать опции `--pool --inode --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` \ + Не уводить процесс в фоновый режим. + ## Отключить устройство Для отключения устройства выполните: @@ -37,3 +58,27 @@ vitastor-nbd map --etcd_address 10.115.0.10:2379/v3 --image testimg ``` 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}} +``` diff --git a/src/nbd_proxy.cpp b/src/nbd_proxy.cpp index 86d1d867..d7b08195 100644 --- a/src/nbd_proxy.cpp +++ b/src/nbd_proxy.cpp @@ -137,12 +137,19 @@ public: "OPTIONS:\n" " All usual Vitastor config options like --etcd_address plus NBD-specific:\n" " --nbd_timeout 30\n" - " timeout in seconds after which the kernel will stop the device\n" - " you can set it to 0, but beware that you won't be able to stop the device at all\n" - " if vitastor-nbd process dies\n" + " Timeout for I/O operations in seconds after exceeding which the kernel stops\n" + " the device. You can set it to 0 to disable the timeout, but beware that you\n" + " won't be able to stop the device at all if vitastor-nbd process dies.\n" " --nbd_max_devices 64 --nbd_max_part 3\n" - " options for the \"nbd\" kernel module when modprobing it (nbds_max and max_part).\n" - " note that maximum allowed (nbds_max)*(1+max_part) is 256.\n", + " Options for the \"nbd\" kernel module when modprobing it (nbds_max and max_part).\n" + " note that maximum allowed (nbds_max)*(1+max_part) is 256.\n" + " --logfile /path/to/log/file.txt\n" + " Wite log messages to the specified file instead of dropping them (in background mode)\n" + " or printing them to the standard output (in foreground mode).\n" + " --dev_num N\n" + " Use the specified device /dev/nbdN instead of automatic selection.\n" + " --foreground 1\n" + " Stay in foreground, do not daemonize.n", exe_name, exe_name, exe_name ); exit(0);