|
|
|
@ -17,6 +17,13 @@
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
На настройку пулов также влияют:
|
|
|
|
|
|
|
|
|
|
- [Дерево размещения OSD](#дерево-размещения)
|
|
|
|
|
- [Настройки отдельных OSD](#настройки-osd)
|
|
|
|
|
|
|
|
|
|
Параметры:
|
|
|
|
|
|
|
|
|
|
- [name](#name)
|
|
|
|
|
- [scheme](#scheme)
|
|
|
|
|
- [pg_size](#pg_size)
|
|
|
|
@ -35,6 +42,57 @@
|
|
|
|
|
- [Реплицированный пул](#реплицированный-пул)
|
|
|
|
|
- [Пул с кодами коррекции ошибок 2+1](#пул-с-кодами-коррекции-ошибок)
|
|
|
|
|
|
|
|
|
|
# Дерево размещения
|
|
|
|
|
|
|
|
|
|
Дерево размещения OSD задаётся в отдельном ключе etcd `/vitastor/config/node_placement`
|
|
|
|
|
в следующем JSON-формате:
|
|
|
|
|
|
|
|
|
|
`
|
|
|
|
|
{
|
|
|
|
|
"<имя узла или номер OSD>": {
|
|
|
|
|
"level": "<уровень>",
|
|
|
|
|
"parent": "<имя родительского узла, если есть>"
|
|
|
|
|
},
|
|
|
|
|
...
|
|
|
|
|
}
|
|
|
|
|
`
|
|
|
|
|
|
|
|
|
|
Здесь, если название узла - число, считается, что это OSD. Уровень OSD
|
|
|
|
|
всегда равен "osd" и не может быть переопределён. Для OSD вы можете только
|
|
|
|
|
переопределить родительский узел. По умолчанию родителем OSD считается его хост.
|
|
|
|
|
|
|
|
|
|
Нечисловые имена узлов относятся к другим узлам дерева OSD, таким, как хосты (серверы),
|
|
|
|
|
стойки, датацентры и так далее.
|
|
|
|
|
|
|
|
|
|
Хосты всех OSD автоматически создаются в дереве с уровнем "host" и именем, равным имени хоста,
|
|
|
|
|
сообщаемым соответствующим OSD. Вы можете ссылаться на эти хосты, не заводя их
|
|
|
|
|
в дереве вручную.
|
|
|
|
|
|
|
|
|
|
Уровень может быть "host", "osd" или относиться к другому уровню размещения из
|
|
|
|
|
[placement_levels](monitor.ru.md#placement_levels).
|
|
|
|
|
|
|
|
|
|
Родительский узел нужен только для промежуточных узлов дерева.
|
|
|
|
|
|
|
|
|
|
# Настройки OSD
|
|
|
|
|
|
|
|
|
|
Настройки отдельных OSD задаются в ключах etcd `/vitastor/config/osd/<number>`
|
|
|
|
|
в JSON-формате `{"<key>":<value>}`.
|
|
|
|
|
|
|
|
|
|
На данный момент поддерживается одна настройка:
|
|
|
|
|
|
|
|
|
|
## reweight
|
|
|
|
|
|
|
|
|
|
- Тип: число, от 0 до 1
|
|
|
|
|
- По умолчанию: 1
|
|
|
|
|
|
|
|
|
|
Каждый OSD получает число PG, пропорциональное его размеру. Reweight - это
|
|
|
|
|
множитель для размера, используемый в процессе распределения PG.
|
|
|
|
|
|
|
|
|
|
Это значит, что OSD, сконфигурированный с reweight меньше 1 будет получать
|
|
|
|
|
меньше PG, чем обычно. OSD с reweight, равным 0, не будет участвовать в
|
|
|
|
|
хранении данных вообще. Вы можете установить reweight в 0, чтобы убрать
|
|
|
|
|
все данные с OSD.
|
|
|
|
|
|
|
|
|
|
# Параметры
|
|
|
|
|
|
|
|
|
|
## name
|
|
|
|
|