A single urgent fix for the new store: metadata was written incorrectly when filled metadata area exceeded 4 GB due to a simple & stupid 32-bit integer overflow. This was leading to OSDs corrupting metadata and being unable to start on the next run. The bug affected only the new store (meta_format=3) and OSDs with metadata area size larger than 4 GB. You can check your OSD metadata area size by checking `data_offset` in `vitastor-disk read-sb /dev/vitastor/osdXX-data` for single-disk OSDs or `blockdev --getsize64 /dev/vitastor/osdXX-meta` for hybrid OSDs. If you're affected, it's highly recommended to: - Install updated packages without restarting OSDs - Restart OSDs **one by one** - If a restart of an OSD triggers "has_degraded" rebalance - wait for it to finish before restarting another OSD - If an OSD fails to start with "double-claimed" errors in the log - purge and recreate it, and again wait for "has_degraded" rebalance to finish before proceeding to the next OSD
61 lines
3.7 KiB
Markdown
61 lines
3.7 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.5`
|
|
2. Установите скрипты в хост-систему командой: \
|
|
`docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v3.0.5 install.sh`
|
|
3. Перезагрузите правила udev: \
|
|
`udevadm control --reload-rules`
|
|
|
|
После этого вы можете возвращаться к разделу [Быстрый старт](../intro/quickstart.ru.md).
|
|
|
|
## Обновление контейнеров
|
|
|
|
Сначала обязательно проверьте раздел [Обновление 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 в контейнер.
|