- Surrogate increment-only peer IDs are now used instead of file descriptor numbers, and client cleanup sequence is reworked in another attempt to fix a possible PG hang in 'peering' states. The history of this bug is still unclear and it still hasn't been reproduced in tests, but several users have reported it since 3.0.4 (only with enabled RDMA). - Fix a minor bug where an OSD could skip reporting misplaced PG state when moving an object in non-immediate_commit mode. - Add Ubuntu 26.04 (Resolute Raccoon) support and patches for qemu 10.2 and libvirt 12.0
86 lines
4.4 KiB
Markdown
86 lines
4.4 KiB
Markdown
[Документация](../../README-ru.md#документация) → Установка → Установка в Docker
|
|
|
|
-----
|
|
|
|
[Read in English](docker.en.md)
|
|
|
|
# Установка в Docker
|
|
|
|
Vitastor можно установить в Docker/Podman. При этом etcd, мониторы и OSD запускаются
|
|
в контейнерах, но всё остальное выглядит максимально приближенно к установке из пакетов:
|
|
- используется сеть хост-системы
|
|
- для автозапуска используются udev и systemd
|
|
- журналы записываются в journald (не в json-файлы журналов docker)
|
|
- в хост-систему устанавливаются обёртки для вызова консольных инструментов vitastor-disk,
|
|
vitastor-cli и других через контейнер
|
|
|
|
Такая установка полезна тогда, когда установка из пакетов невозможна или неудобна,
|
|
например, в нестандартных Linux-дистрибутивах.
|
|
|
|
Если вам нужна не просто контейнеризованная инсталляция, вы также можете обратить внимание
|
|
на Vitastor Kubernetes-оператор: https://github.com/Antilles7227/vitastor-operator
|
|
|
|
## Установка контейнеров
|
|
|
|
Инструкция по установке максимально простая.
|
|
|
|
1. Скачайте Docker-образ желаемой версии: \
|
|
`docker pull vitalif/vitastor:v3.0.8`
|
|
2. Установите скрипты в хост-систему командой: \
|
|
`docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v3.0.8 install.sh`
|
|
3. Перезагрузите правила udev: \
|
|
`udevadm control --reload-rules`
|
|
4. Включите сервис vitastor-host: \
|
|
`systemctl enable --now vitastor-host`
|
|
|
|
После этого вы можете возвращаться к разделу [Быстрый старт](../intro/quickstart.ru.md).
|
|
|
|
## Podman
|
|
|
|
Если вы используете Podman, перед установкой контейнеров Vitastor выполните следующие
|
|
команды от имени суперпользователя:
|
|
|
|
```
|
|
ln -s podman /usr/bin/docker
|
|
|
|
mkdir -p /etc/systemd/system/systemd-udevd.service.d
|
|
|
|
cat >/etc/systemd/system/systemd-udevd.service.d/override.conf <<EOF
|
|
[Service]
|
|
CapabilityBoundingSet=~
|
|
SystemCallFilter=@mount capset
|
|
EOF
|
|
|
|
systemctl daemon-reload
|
|
|
|
systemctl restart systemd-udevd
|
|
```
|
|
|
|
Без этих настроек udev не может делать вызовы внутрь Podman-контейнеров и определение дисков Vitastor не работает.
|
|
|
|
## Обновление контейнеров
|
|
|
|
Сначала обязательно проверьте раздел [Обновление Vitastor](../usage/admin.ru.md#обновление-vitastor),
|
|
чтобы понять, не требуются ли вам какие-то дополнительные действия.
|
|
|
|
После этого для обновления Docker-инсталляции вам нужно просто поменять опцию `VITASTOR_VERSION`
|
|
в файле `/etc/vitastor/docker.conf` и перезапустить все сервисы Vitastor командой:
|
|
|
|
`systemctl restart vitastor.target`
|
|
|
|
## QEMU
|
|
|
|
В Docker-образ также входят QEMU, qemu-img и qemu-storage-daemon, собранные с поддержкой Vitastor.
|
|
|
|
Однако настроить запуск QEMU в Docker сложнее и способ запуска зависит от используемого интерфейса
|
|
виртуализации (OpenNebula, Proxmox и т.п.). Также для OpenNebula, например, требуется патченый
|
|
Libvirt.
|
|
|
|
Поэтому по умолчанию Docker-сборка пока что не включает в себя готового способа запуска QEMU
|
|
и QEMU рекомендуется устанавливать из пакетов или собирать самостоятельно.
|
|
|
|
## fio
|
|
|
|
fio также входит в Docker-контейнер vitastor, и в хост-систему устанавливается обёртка `vitastor-fio`
|
|
для запуска fio в контейнер.
|