|
|
|
@ -53,6 +53,12 @@ |
|
|
|
|
to work. For example, Mellanox ConnectX-3 and older adapters don't have |
|
|
|
|
Implicit ODP, so they're unsupported by Vitastor. Run `ibv_devinfo -v` as |
|
|
|
|
root to list available RDMA devices and their features. |
|
|
|
|
|
|
|
|
|
Remember that you also have to configure your network switches if you use |
|
|
|
|
RoCE/RoCEv2, otherwise you may experience unstable performance. Refer to |
|
|
|
|
the manual of your network vendor for details about setting up the switch |
|
|
|
|
for RoCEv2 correctly. Usually it means setting up Lossless Ethernet with |
|
|
|
|
PFC (Priority Flow Control) and ECN (Explicit Congestion Notification). |
|
|
|
|
info_ru: | |
|
|
|
|
Название RDMA-устройства для связи с Vitastor OSD (например, "rocep5s0f0"). |
|
|
|
|
Имейте в виду, что поддержка RDMA в Vitastor требует функций устройства |
|
|
|
@ -61,6 +67,13 @@ |
|
|
|
|
потому не поддерживаются в Vitastor. Запустите `ibv_devinfo -v` от имени |
|
|
|
|
суперпользователя, чтобы посмотреть список доступных RDMA-устройств, их |
|
|
|
|
параметры и возможности. |
|
|
|
|
|
|
|
|
|
Обратите внимание, что если вы используете RoCE/RoCEv2, вам также необходимо |
|
|
|
|
правильно настроить для него коммутаторы, иначе вы можете столкнуться с |
|
|
|
|
нестабильной производительностью. Подробную информацию о настройке |
|
|
|
|
коммутатора для RoCEv2 ищите в документации производителя. Обычно это |
|
|
|
|
подразумевает настройку сети без потерь на основе PFC (Priority Flow |
|
|
|
|
Control) и ECN (Explicit Congestion Notification). |
|
|
|
|
- name: rdma_port_num |
|
|
|
|
type: int |
|
|
|
|
default: 1 |
|
|
|
@ -114,26 +127,39 @@ |
|
|
|
|
так что менять этот параметр обычно не нужно. |
|
|
|
|
- name: rdma_max_msg |
|
|
|
|
type: int |
|
|
|
|
default: 1048576 |
|
|
|
|
default: 132096 |
|
|
|
|
info: Maximum size of a single RDMA send or receive operation in bytes. |
|
|
|
|
info_ru: Максимальный размер одной RDMA-операции отправки или приёма. |
|
|
|
|
- name: rdma_max_recv |
|
|
|
|
type: int |
|
|
|
|
default: 16 |
|
|
|
|
info: | |
|
|
|
|
Maximum number of RDMA receive buffers per connection (RDMA requires |
|
|
|
|
preallocated buffers to receive data). Each buffer is `rdma_max_msg` bytes |
|
|
|
|
in size. So this setting directly affects memory usage: a single Vitastor |
|
|
|
|
RDMA client uses `rdma_max_recv * rdma_max_msg * OSD_COUNT` bytes of memory. |
|
|
|
|
Default is roughly 2 MB * number of OSDs. |
|
|
|
|
info_ru: | |
|
|
|
|
Максимальное число буферов для RDMA-приёма данных на одно соединение |
|
|
|
|
(RDMA требует заранее выделенных буферов для приёма данных). Каждый буфер |
|
|
|
|
имеет размер `rdma_max_msg` байт. Таким образом, настройка прямо влияет на |
|
|
|
|
потребление памяти - один Vitastor-клиент с RDMA использует |
|
|
|
|
`rdma_max_recv * rdma_max_msg * ЧИСЛО_OSD` байт памяти, по умолчанию - |
|
|
|
|
примерно 2 МБ * число OSD. |
|
|
|
|
- name: rdma_max_send |
|
|
|
|
type: int |
|
|
|
|
default: 8 |
|
|
|
|
info: | |
|
|
|
|
Maximum number of parallel RDMA receive operations. Note that this number |
|
|
|
|
of receive buffers `rdma_max_msg` in size are allocated for each client, |
|
|
|
|
so this setting actually affects memory usage. This is because RDMA receive |
|
|
|
|
operations are (sadly) still not zero-copy in Vitastor. It may be fixed in |
|
|
|
|
later versions. |
|
|
|
|
info_ru: | |
|
|
|
|
Максимальное число параллельных RDMA-операций получения данных. Следует |
|
|
|
|
иметь в виду, что данное число буферов размером `rdma_max_msg` выделяется |
|
|
|
|
для каждого подключённого клиентского соединения, так что данная настройка |
|
|
|
|
влияет на потребление памяти. Это так потому, что RDMA-приём данных в |
|
|
|
|
Vitastor, увы, всё равно не является zero-copy, т.е. всё равно 1 раз |
|
|
|
|
копирует данные в памяти. Данная особенность, возможно, будет исправлена в |
|
|
|
|
более новых версиях Vitastor. |
|
|
|
|
Maximum number of outstanding RDMA send operations per connection. Should be |
|
|
|
|
less than `rdma_max_recv` so the receiving side doesn't run out of buffers. |
|
|
|
|
Doesn't affect memory usage - additional memory isn't allocated for send |
|
|
|
|
operations. |
|
|
|
|
info_ru: | |
|
|
|
|
Максимальное число RDMA-операций отправки, отправляемых в очередь одного |
|
|
|
|
соединения. Желательно, чтобы оно было меньше `rdma_max_recv`, чтобы |
|
|
|
|
у принимающей стороны в процессе работы не заканчивались буферы на приём. |
|
|
|
|
Не влияет на потребление памяти - дополнительная память на операции отправки |
|
|
|
|
не выделяется. |
|
|
|
|
- name: peer_connect_interval |
|
|
|
|
type: sec |
|
|
|
|
min: 1 |
|
|
|
|