New features: - Intelligent recovery/rebalance speed auto-tuning to reduce its impact on clients (see README -> Features) - Auto-restoration of dead VDUSE daemons in CSI plugin - Add vitastor-disk update-sb command - Update QEMU for Debian Bookworm to 8.1 and use it for CSI plugin Bug fixes: - Fix pools SOMETIMES staying inactive after stopping a node due to OSDs not reacting to PG state changes caused by incorrect full reload of state from etcd on reconnection - Make monitors retry pool configuration changes quickier which fixes them being unable to apply changes when an ongoing rebalance is quickly making a lot of PGs clean - Fix CSI plugin not accepting array of strings as etcd address in /etc/vitastor/vitastor.conf - Allow multiple interfaces with the same IP address, for "simple routed" full mesh network - Do not ignore loopback addresses for OSD network (to make ECMP setups with frr possible) - Fix a rare client crash during OSD reconnections - Only treat data partitions as existing OSDs in vitastor-disk prepare - Remove etcd parameter from default command examples - Fix reported free space sometimes changing non-immediately after deletion of data from OSDs - Fix a possible OSD crash on print_slow when bs_op is NULL - Use the same etcd_ws_keepalive_interval in mon as in OSD - Fix mon not using values from config when /config/global is not present - Remove pve-storage-portal-dns-list format for vitastor_etcd_address - Parse log_level in cluster_client - Fix vitastor-nbd image existence check not working because of non-zeroed inode_watch fields - Do not warn on EPIPE in client unless log_level is raised explicitly - Fix incorrect error in CSI when searching for the device in /sys - Remove 2 last prints to stdout in etcd_state_client - Fix a possible OSD crash when checking corrupted journal entries
169 lines
4.2 KiB
RPMSpec
169 lines
4.2 KiB
RPMSpec
Name: vitastor
|
|
Version: 1.4.0
|
|
Release: 1%{?dist}
|
|
Summary: Vitastor, a fast software-defined clustered block storage
|
|
|
|
License: Vitastor Network Public License 1.1
|
|
URL: https://vitastor.io/
|
|
Source0: vitastor-1.4.0.el7.tar.gz
|
|
|
|
BuildRequires: liburing-devel >= 0.6
|
|
BuildRequires: gperftools-devel
|
|
BuildRequires: devtoolset-9-gcc-c++
|
|
BuildRequires: rh-nodejs12
|
|
BuildRequires: rh-nodejs12-npm
|
|
BuildRequires: jerasure-devel
|
|
BuildRequires: libisa-l-devel
|
|
BuildRequires: gf-complete-devel
|
|
BuildRequires: libibverbs-devel
|
|
BuildRequires: cmake3
|
|
Requires: vitastor-osd = %{version}-%{release}
|
|
Requires: vitastor-mon = %{version}-%{release}
|
|
Requires: vitastor-client = %{version}-%{release}
|
|
Requires: vitastor-client-devel = %{version}-%{release}
|
|
Requires: vitastor-fio = %{version}-%{release}
|
|
|
|
%description
|
|
Vitastor is a small, simple and fast clustered block storage (storage for VM drives),
|
|
architecturally similar to Ceph which means strong consistency, primary-replication,
|
|
symmetric clustering and automatic data distribution over any number of drives of any
|
|
size with configurable redundancy (replication or erasure codes/XOR).
|
|
|
|
|
|
%package -n vitastor-osd
|
|
Summary: Vitastor - OSD
|
|
Requires: libJerasure2
|
|
Requires: libisa-l
|
|
Requires: liburing >= 0.6
|
|
Requires: liburing < 2
|
|
Requires: vitastor-client = %{version}-%{release}
|
|
Requires: util-linux
|
|
Requires: parted
|
|
|
|
|
|
%description -n vitastor-osd
|
|
Vitastor object storage daemon, i.e. server program that stores data.
|
|
|
|
|
|
%package -n vitastor-mon
|
|
Summary: Vitastor - monitor
|
|
Requires: rh-nodejs12
|
|
Requires: rh-nodejs12-npm
|
|
Requires: lpsolve
|
|
|
|
|
|
%description -n vitastor-mon
|
|
Vitastor monitor, i.e. server program responsible for watching cluster state and
|
|
scheduling cluster-level operations.
|
|
|
|
|
|
%package -n vitastor-client
|
|
Summary: Vitastor - client
|
|
Requires: liburing >= 0.6
|
|
Requires: liburing < 2
|
|
|
|
|
|
%description -n vitastor-client
|
|
Vitastor client library and command-line interface.
|
|
|
|
|
|
%package -n vitastor-client-devel
|
|
Summary: Vitastor - development files
|
|
Group: Development/Libraries
|
|
Requires: vitastor-client = %{version}-%{release}
|
|
|
|
|
|
%description -n vitastor-client-devel
|
|
Vitastor library headers for development.
|
|
|
|
|
|
%package -n vitastor-fio
|
|
Summary: Vitastor - fio drivers
|
|
Group: Development/Libraries
|
|
Requires: vitastor-client = %{version}-%{release}
|
|
Requires: fio = 3.7-1.el7
|
|
|
|
|
|
%description -n vitastor-fio
|
|
Vitastor fio drivers for benchmarking.
|
|
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
|
|
%build
|
|
. /opt/rh/devtoolset-9/enable
|
|
%cmake3 .
|
|
%make_build
|
|
|
|
|
|
%install
|
|
rm -rf $RPM_BUILD_ROOT
|
|
%make_install
|
|
. /opt/rh/rh-nodejs12/enable
|
|
cd mon
|
|
npm install
|
|
cd ..
|
|
mkdir -p %buildroot/usr/lib/vitastor
|
|
cp -r mon %buildroot/usr/lib/vitastor
|
|
mkdir -p %buildroot/lib/systemd/system
|
|
cp mon/vitastor.target mon/vitastor-mon.service mon/vitastor-osd@.service %buildroot/lib/systemd/system
|
|
mkdir -p %buildroot/lib/udev/rules.d
|
|
cp mon/90-vitastor.rules %buildroot/lib/udev/rules.d
|
|
|
|
|
|
%files
|
|
%doc GPL-2.0.txt VNPL-1.1.txt README.md README-ru.md
|
|
|
|
|
|
%files -n vitastor-osd
|
|
%_bindir/vitastor-osd
|
|
%_bindir/vitastor-disk
|
|
%_bindir/vitastor-dump-journal
|
|
/lib/systemd/system/vitastor-osd@.service
|
|
/lib/systemd/system/vitastor.target
|
|
/lib/udev/rules.d/90-vitastor.rules
|
|
|
|
|
|
%pre -n vitastor-osd
|
|
groupadd -r -f vitastor 2>/dev/null ||:
|
|
useradd -r -g vitastor -s /sbin/nologin -c "Vitastor daemons" -M -d /nonexistent vitastor 2>/dev/null ||:
|
|
install -o vitastor -g vitastor -d /var/log/vitastor
|
|
mkdir -p /etc/vitastor
|
|
|
|
|
|
%files -n vitastor-mon
|
|
/usr/lib/vitastor/mon
|
|
/lib/systemd/system/vitastor-mon.service
|
|
|
|
|
|
%pre -n vitastor-mon
|
|
groupadd -r -f vitastor 2>/dev/null ||:
|
|
useradd -r -g vitastor -s /sbin/nologin -c "Vitastor daemons" -M -d /nonexistent vitastor 2>/dev/null ||:
|
|
mkdir -p /etc/vitastor
|
|
|
|
|
|
%files -n vitastor-client
|
|
%_bindir/vitastor-nbd
|
|
%_bindir/vitastor-nfs
|
|
%_bindir/vitastor-cli
|
|
%_bindir/vitastor-rm
|
|
%_bindir/vita
|
|
%_libdir/libvitastor_blk.so*
|
|
%_libdir/libvitastor_client.so*
|
|
|
|
|
|
%files -n vitastor-client-devel
|
|
%_includedir/vitastor_c.h
|
|
%_libdir/pkgconfig
|
|
|
|
|
|
%files -n vitastor-fio
|
|
%_libdir/libfio_vitastor.so
|
|
%_libdir/libfio_vitastor_blk.so
|
|
%_libdir/libfio_vitastor_sec.so
|
|
|
|
|
|
%changelog
|