- Antietcd is now officially safe to use: the release includes a fixed version of antietcd which passes Jepsen transaction serializability tests. - Fix a huge checksum bug in the old store: incorrect checksums for small initial writes. The bug affected writes of exactly csum_block_size (4k by default) into new (unallocated) objects and generated invalid checksums in the store for the written 4k block. Moreover, generation of these invalid checksums was very slow because it was calculating CRC32 for 4 GB of zeroes. If the block wasn't then overwritten as a part of a larger write request it became unreadable even though the stored data was correct. The bug affected all versions since 1.0.0, or since 2.3.0 because vitastor-disk didn't allow to enable checksums prior to 2.3.0 because of another bug. O:-) - Prevent OSD disconnections due to long blocking of event-loop caused by PG resharding (moving objects between old and new PGs in memory) when changing pool PG count or just on restart of an OSD with a large database (for example, with a filled 8 TB SSD). The issue should now be fixed because OSD now performs resharding in chunks with pauses between chunks. - Prevent pools stuck in paused state on an aborted PG count change. - Fix a possible OSD crash with "division by zero" when trying to handle an operation before pool PG count is applied to the in-memory store.
3.7 KiB
Документация → Установка → Установка в Docker
Установка в Docker
Vitastor можно установить в Docker/Podman. При этом etcd, мониторы и OSD запускаются в контейнерах, но всё остальное выглядит максимально приближенно к установке из пакетов:
- используется сеть хост-системы
- для автозапуска используются udev и systemd
- журналы записываются в journald (не в json-файлы журналов docker)
- в хост-систему устанавливаются обёртки для вызова консольных инструментов vitastor-disk, vitastor-cli и других через контейнер
Такая установка полезна тогда, когда установка из пакетов невозможна или неудобна, например, в нестандартных Linux-дистрибутивах.
Если вам нужна не просто контейнеризованная инсталляция, вы также можете обратить внимание на Vitastor Kubernetes-оператор: https://github.com/Antilles7227/vitastor-operator
Установка контейнеров
Инструкция по установке максимально простая.
- Скачайте Docker-образ желаемой версии:
docker pull vitalif/vitastor:v3.0.2 - Установите скрипты в хост-систему командой:
docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v3.0.2 install.sh - Перезагрузите правила udev:
udevadm control --reload-rules
После этого вы можете возвращаться к разделу Быстрый старт.
Обновление контейнеров
Сначала обязательно проверьте раздел Обновление 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 в контейнер.