Offenbar gibt es im neusten HWE Kernel Update für Ubuntu 22.04.03 LTS ein Problem mit ZFS. Der neueste per HWE ausgelieferte Kernel ist Version 6.5.0.14, der im Zusammenspiel mit der zfs Version in der 22.04 LTS oder mit den Snap Paketen für lxd wohl Probleme hat. […]
Ein Update auf zfs 2.1.14 scheint die Lösung für Ubuntu LTS zu sein, ist aber offenbar noch nicht verfügbar. […]
Der neue Kernel wurde trotzdem ausgerollt. Die Frage ist: Gibt es alternative Lösungen für das Problem, außer auf den HWE Kernel zu verzichten? Ist jemand von euch damit auch konfrontiert worden?
Hier ist zunächst zu beachten, dass LXD eine eigene (ZFS-)Toolchain mitbringt; diese zu ersetzen ist wenig ratsam, weswegen ich von einem Wechsel auf aktuelle HWE-Kernel abrate (Kernel v5.15.x funktioniert hervorragend mit Ubuntu 20.04/Focal und Ubuntu 22.04/Jammy, die Netcup-Hardware wird für meine Bedürfnisse uneingeschränkt unterstützt); denn wenn ich permanent Probleme mit Kernelupdates haben wollte, könnte ich ja gleich Fedora verwenden …
Grundsätzlich rate ich dazu, aufgrund der Einsatzdauer von Ubuntu-LTS-Versionen auf die distributionseigenen ZFS-Pakete zu verzichten und die Upstream-Pakete für v2.1.14+(!!derzeit noch nicht v2.2.x!!) selbst zu bauen (siehe hier) und einen weiten Bogen um alle Ubuntu-spezifischen Erweiterungen (namentlich: zsys) zu machen; gerade beim Einsatz von LXD ist es ein Leichtes, hierfür einen Build-Container abzustellen, damit man die dafür erforderliche Toolchain (abgesehen von der dkms-Unterstützung) nicht vollständig direkt auf dem Host installieren muss.
EDIT: Der Bau in einem Container, in welchem keine ZFS-Pakete installiert sind, hat den Vorteil, dass bei Verwendung des untengezeigten (vereinfachten) Scripts via alien keine störenden Abhängigkeiten/Unverträglichkeiten in die .deb-Archive eingebaut werden (Details finden sich in den OpenZFS-GitHub-Diskussionen):
#! /bin/bash
. /etc/os-release
apt update; apt upgrade --yes
HLP="linux-headers-$(uname -r)"
OLDHEADERS="$(dpkg-query -W | grep -E 'linux-headers.*-generic' | grep -v "${HLP}" | sed -e 's|\s.*$||g')"
[[ -n "${OLDHEADERS}" ]] && apt purge --yes "${OLDHEADERS}" "${OLDHEADERS/-generic/}"
apt install --yes git ca-certificates build-essential autoconf automake libtool gawk alien fakeroot dkms libblkid-dev uuid-dev libudev-dev libssl-dev zlib1g-dev libaio-dev libattr1-dev libelf-dev "${HLP}" python3 python3-dev python3-setuptools python3-cffi python3-distlib python3-packaging libffi-dev cppcheck shellcheck python3-sphinx python3-all-dev curl jq
ZFSVER="$(curl --silent "https://api.github.com/repos/openzfs/zfs/releases/latest" | jq -r '.tag_name' 2>&1 | sed -e 's|.*-||' -e 's|^v||')"
ZFSVER0="${ZFSVER}"
[[ -n "$1" ]] && ZFSVER="$1"
export ZFSVER
cd /tmp; rm -Rf "/tmp/zfs_${VERSION_CODENAME}"
echo "+++ Building version ${ZFSVER} (current version upstream: ${ZFSVER0}) for ${VERSION_CODENAME}" | tee "/tmp/zfs-${ZFSVER}_${VERSION_CODENAME}.log"
script -a -c "time git clone --branch zfs-${ZFSVER} --single-branch https://github.com/openzfs/zfs/ zfs_${VERSION_CODENAME}" "/tmp/zfs-${ZFSVER}_${VERSION_CODENAME}.log"
cd "zfs_${VERSION_CODENAME}"
script -a -c "git checkout zfs-${ZFSVER}" "/tmp/zfs-${ZFSVER}_${VERSION_CODENAME}.log"
script -a -c "./autogen.sh" "/tmp/zfs-${ZFSVER}_${VERSION_CODENAME}.log"
script -a -c "./configure" "/tmp/zfs-${ZFSVER}_${VERSION_CODENAME}.log"
script -a -c "time make deb" "/tmp/zfs-${ZFSVER}_${VERSION_CODENAME}.log"
rm -Rf "/tmp/zfs-build_${VERSION_CODENAME}"; mkdir "/tmp/zfs-build_${VERSION_CODENAME}"; chmod a+rx "/tmp/zfs-build_${VERSION_CODENAME}"
mv "/tmp/zfs-${ZFSVER}_${VERSION_CODENAME}.log" "/tmp/zfs_${VERSION_CODENAME}/"*.deb "/tmp/zfs-build_${VERSION_CODENAME}"
chmod a+r "/tmp/zfs-build_${VERSION_CODENAME}/"*
unset ZFSVER OLDHEADERS HLP
Alles anzeigen