New features: - Implement [client writeback cache](docs/config/client.en.md#client_enable_writeback) - Add the third I/O mode: [O_DIRECT|O_SYNC](docs/config/osd.en.md#data_io) (good for Optane) - Reduce load on etcd by splitting OSD lease and statistics reporting intervals: [etcd_stats_interval](docs/config/osd.en.md#etcd_stats_interval) (default 30 sec) - Make MON automatically filter OSDs by layout (block_size/immediate_commit/bitmap_granularity) to prevent "refusing to start PGs of this pool" errors on misconfiguration - Support running fio benchmarks on systems without io_uring - Make QEMU driver compatible with QEMU 8.1 - Document usage of [vhost-user-blk](docs/usage/qemu.en.md#vhost-user-blk) Bug fixes: - Fix resizing disks in QEMU driver (for example, in Proxmox) - Fix "unexpected result" in Proxmox driver by making CLI flush output on exit - Remove unneeded block_size mismatch warnings on pools without matching PGs - Fix possible segfault in vitastor-cli ls -l (usually with deleted pools) - Fix QEMU driver compatibility with systems without io_uring - Fix monitor eating 100% CPU when etcd is down (caused by infinite retries) - Fix potential incorrect write processing with snapshots (not caught in tests but could probably lead to client hangs) - Fix buffer insertion in cluster_client (not caught in tests but could probably lead to incorrect writes in rare cases) - Fix rare OSD crash during sync operation processing - Fix a reenterability issue in cluster_client not reproducible in QEMU/fio, but reproducible with the currently developed K/V database implementation - Fix deletion of the first modified object - OSDs could crash if you modified the same object a lot of times, then deleted it, and then modified it again - Fix the fio_sec_osd test tool
29 lines
1.1 KiB
Docker
29 lines
1.1 KiB
Docker
# Build packages for AlmaLinux 9 inside a container
|
|
# cd ..; podman build -t vitastor-el9 -v `pwd`/packages:/root/packages -f rpm/vitastor-el9.Dockerfile .
|
|
|
|
FROM almalinux:9
|
|
|
|
WORKDIR /root
|
|
|
|
RUN sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/*.repo
|
|
RUN dnf -y install epel-release dnf-plugins-core
|
|
RUN dnf -y install https://vitastor.io/rpms/centos/9/vitastor-release-1.0-1.el9.noarch.rpm
|
|
RUN dnf -y install gcc-c++ gperftools-devel fio nodejs rpm-build jerasure-devel libisa-l-devel gf-complete-devel rdma-core-devel libarchive liburing-devel cmake
|
|
RUN dnf download --source fio
|
|
RUN rpm --nomd5 -i fio*.src.rpm
|
|
RUN cd ~/rpmbuild/SPECS && dnf builddep -y --spec fio.spec
|
|
|
|
ADD . /root/vitastor
|
|
|
|
RUN set -e; \
|
|
cd /root/vitastor/rpm; \
|
|
sh build-tarball.sh; \
|
|
cp /root/vitastor-1.1.0.el9.tar.gz ~/rpmbuild/SOURCES; \
|
|
cp vitastor-el9.spec ~/rpmbuild/SPECS/vitastor.spec; \
|
|
cd ~/rpmbuild/SPECS/; \
|
|
rpmbuild -ba vitastor.spec; \
|
|
mkdir -p /root/packages/vitastor-el9; \
|
|
rm -rf /root/packages/vitastor-el9/*; \
|
|
cp ~/rpmbuild/RPMS/*/vitastor* /root/packages/vitastor-el9/; \
|
|
cp ~/rpmbuild/SRPMS/vitastor* /root/packages/vitastor-el9/
|