New features: - Add a new kernel device mounting method: [ublk](https://vitastor.io/docs/usage/ublk.html). It's the fastest method for random IOPS, and it's on par with VDUSE for linear MB/s. - Disable io_uring waits being reported as iowait on kernels which support it (6.15+) - Allow to enforce permissions at the VitastorFS NFS server side - Add qemu_file_mirror_path option to the config to allow to trick Veeam and make it work - Speed up CRC32C calculation in OSD by fixing a bug and enabling AVX512 version - Support QEMU 10 - Support Debian 13 Trixie and Proxmox 9.0 - Remove the dependency on system liburing in package builds (build it statically) Bug fixes: - Fix checksums NEVER BEING ENABLED in vitastor-disk prepare, even when explicitly requested :-D - Use default uid and gid from NFS AUTH_SYS when creating files - Fix object bitmaps supposedly & possibly being corrupted in some rare cases with EC N+2+ - Avoid multiple inflight overwrites to meta blocks - fixes possible data corruption with one specific SSD model: Memblaze PBlaze5 910 (github #79) - Fix a bug in antietcd which was leading to leases sometimes not expiring correctly - Fix a bug in NFS where ".." entry had its `cookie` equal to 0 instead of 1 (github #78) - Fix snapshots not being deleted during VM deletion in Proxmox plugin (github #85) - Fix monitor not filtering OSDs by block size correctly
2.3 KiB
Documentation → Installation → Dockerized Installation
Dockerized Installation
Vitastor may be installed in Docker/Podman. In such setups etcd, monitors and OSD all run in containers, but everything else looks as close as possible to a usual setup with packages:
- host network is used
- auto-start is implemented through udev and systemd
- logs are written to journald (not docker json log files)
- command-line wrapper scripts are installed to the host system to call vitastor-disk, vitastor-cli and others through the container
Such installations may be useful when it's impossible or inconvenient to install Vitastor from packages, for example, in exotic Linux distributions.
If you don't want just a simple containerized installation, you can also take a look at Vitastor Kubernetes operator: https://github.com/Antilles7227/vitastor-operator
Installing Containers
The instruction is very simple.
- Download a Docker image of the desired version:
docker pull vitalif/vitastor:v2.3.0 - Install scripts to the host system:
docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v2.3.0 install.sh - Reload udev rules:
udevadm control --reload-rules
And you can return to Quick Start.
Upgrading Containers
First make sure to check the topic Upgrading Vitastor to figure out if you need any additional steps.
Then, to upgrade a containerized installation, you just need to change the VITASTOR_VERSION
option in /etc/vitastor/docker.conf and restart all Vitastor services:
systemctl restart vitastor.target
QEMU
Vitastor Docker image also contains QEMU, qemu-img and qemu-storage-daemon built with Vitastor support.
However, running QEMU in Docker is harder to setup and it depends on the used virtualization UI (OpenNebula, Proxmox and so on). Some of them also required patched Libvirt.
That's why containerized installation of Vitastor doesn't contain a ready-made QEMU setup and it's recommended to install QEMU from packages or build it manually.
fio
Vitastor Docker image also contains fio and installs a wrapper called vitastor-fio to use it from
the host system.