Files
Vitaliy Filippov dd5941b9a4 Release 3.0.9
- Fix broken garbage collection in the new store leading to very high memory usage
- Make the new store do full garbage collection on OSD startup by default (can be turned off with a new gc_on_start parameter)
- Make startup logging with the new store more informative, allow to log amount of garbage with log_level > 1
- Fix clients reading from snapshots incorrectly on retries (for example when OSDs were restarted during read)
- Fix a possible "send-after-free" in OSD which could probably also affect snapshot reads
- Fix OSD crashing when handling a read_bitmap operation from a deleted object with the new store
2026-04-04 18:38:40 +03:00

4.4 KiB

Документация → Установка → Установка в Docker


Read in English

Установка в 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.9
  2. Установите скрипты в хост-систему командой:
    docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v3.0.9 install.sh
  3. Перезагрузите правила udev:
    udevadm control --reload-rules
  4. Включите сервис vitastor-host:
    systemctl enable --now vitastor-host

После этого вы можете возвращаться к разделу Быстрый старт.

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, чтобы понять, не требуются ли вам какие-то дополнительные действия.

После этого для обновления 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 в контейнер.