Telepítse a zfs fájlt a debian 9 szakaszon
On február 18, 2021 by adminMegpróbáltam telepíteni a zfs fájlt a debian 9.1-re, azonban néhány hibát tapasztalok.
Az első a telepítés csak a zfs-dkms fájlokra vonatkozott, azonban a neten olvastam, hogy a spl-dkms is szükséges a zfs-dkms futtatásához.
A lépéseim a sources.list a nem ingyenes hozzájárulás az alábbiak szerint:
/etc/apt/sources.list
deb http://ftp.nl.debian.org/debian/ stretch main contrib non-free deb-src http://ftp.nl.debian.org/debian/ stretch main contrib non-free deb http://security.debian.org/debian-security stretch/updates main contrib non-free deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free # stretch-updates, previously known as "volatile" deb http://ftp.nl.debian.org/debian/ stretch-updates main contrib non-free deb-src http://ftp.nl.debian.org/debian/ stretch-updates main contrib non-free
Készített egy klasszikus apt-get frissítést, majd megpróbálta telepíteni a zfs-t a következőkkel:
apt-get install spl-dkms
és csak utána
apt-get install zfs-dkms
Ennek eredményeként a következő hibáim vannak:
root@debian:/etc/apt# apt-get install zfs-dkms Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libnvpair1linux libuutil1linux libzfs2linux libzpool2linux zfs-zed zfsutils-linux ... DKMS: install completed. Setting up libzpool2linux (0.6.5.9-5) ... Setting up libzfs2linux (0.6.5.9-5) ... Setting up zfsutils-linux (0.6.5.9-5) ... Created symlink /etc/systemd/system/zfs-mount.service.wants/zfs-import-cache.service â /lib/systemd/system/zfs-import-cac Created symlink /etc/systemd/system/zfs.target.wants/zfs-import-cache.service â /lib/systemd/system/zfs-import-cache.serv Created symlink /etc/systemd/system/zfs-share.service.wants/zfs-mount.service â /lib/systemd/system/zfs-mount.service. Created symlink /etc/systemd/system/zfs.target.wants/zfs-mount.service â /lib/systemd/system/zfs-mount.service. Created symlink /etc/systemd/system/zfs.target.wants/zfs-share.service â /lib/systemd/system/zfs-share.service. Created symlink /etc/systemd/system/multi-user.target.wants/zfs.target â /lib/systemd/system/zfs.target. zfs-import-scan.service is a disabled or a static unit, not starting it. Job for zfs-mount.service failed because the control process exited with error code. See "systemctl status zfs-mount.service" and "journalctl -xe" for details. zfs-mount.service couldn"t start. Job for zfs-share.service failed because the control process exited with error code. See "systemctl status zfs-share.service" and "journalctl -xe" for details. zfs-share.service couldn"t start. Setting up zfs-zed (0.6.5.9-5) ... Created symlink /etc/systemd/system/zed.service â /lib/systemd/system/zfs-zed.service. Created symlink /etc/systemd/system/zfs.target.wants/zfs-zed.service â /lib/systemd/system/zfs-zed.service. Processing triggers for libc-bin (2.24-11+deb9u1) ...
journalctl -xe beolvasása, amint azt javasoltam:
root@debian:/etc/apt# journalctl -xe Aug 02 23:13:13 debian systemd[1]: zfs-share.service: Main process exited, code=exited, status=1/FAILURE Aug 02 23:13:13 debian systemd[1]: Failed to start ZFS file system shares. -- Subject: Unit zfs-share.service has failed -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- Unit zfs-share.service has failed. -- -- The result is failed. Aug 02 23:13:13 debian systemd[1]: zfs-share.service: Unit entered failed state. Aug 02 23:13:13 debian systemd[1]: zfs-share.service: Failed with result "exit-code". Aug 02 23:13:13 debian systemd[1]: Starting Mount ZFS filesystems... -- Subject: Unit zfs-mount.service has begun start-up -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- Unit zfs-mount.service has begun starting up. Aug 02 23:13:13 debian zfs[81481]: The ZFS modules are not loaded. Aug 02 23:13:13 debian zfs[81481]: Try running "/sbin/modprobe zfs" as root to load them. Aug 02 23:13:13 debian systemd[1]: zfs-mount.service: Main process exited, code=exited, status=1/FAILURE Aug 02 23:13:13 debian systemd[1]: Failed to start Mount ZFS filesystems. -- Subject: Unit zfs-mount.service has failed -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- Unit zfs-mount.service has failed. -- -- The result is failed. Aug 02 23:13:13 debian systemd[1]: zfs-mount.service: Unit entered failed state. Aug 02 23:13:13 debian systemd[1]: zfs-mount.service: Failed with result "exit-code". Aug 02 23:13:13 debian systemd[1]: Starting ZFS file system shares... -- Subject: Unit zfs-share.service has begun start-up -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- Unit zfs-share.service has begun starting up. Aug 02 23:13:13 debian systemd[81483]: zfs-share.service: Failed at step EXEC spawning /usr/bin/rm: No such file or direc -- Subject: Process /usr/bin/rm could not be executed -- Defined-By: systemd -- Support: https://www.debian.org/support -- -- The process /usr/bin/rm could not be executed and failed. -- -- The error number returned by this process is 2.
Mi a baj itt? Hiányzott még valami? Hogyan kapcsolódik a zfs-linux csomag a zfs telepítéséhez?
Mi a helyes mód a zfs telepítésére a debian 9-ben?
Megjegyzések
Válasz
A @cas tényleges válasza jó, de van néhány korrekció, amelyet alkalmazni kell.
Vegyünk hát egy új telepítést a Debian 9-ről, és feltételezzük, hogy a hozzájárulás nem ingyenes adattárak szintén nincsenek engedélyezve.
0. lépés – Engedélyezze a nem járulék nélküli hozzájárulásokat
A sed
használatával megtaláltam és kicseréltem a main szót a /etc/apt/sources.list
sed -i "s/main/main contrib non-free/g" /etc/apt/sources.list apt-get update
1. lépés – ZFS telepítés
Mivel a legutóbbi javítások spl-dkms
helyesen zfs-dkms
de függőséget, így automatikusan visszahívásra kerül, és nem szükséges manuálisan telepíteni zfs-dkms
előtt. A szimbolikus linkre egy olyan hiba miatt van szükség, amely a Debian zfs terjesztésében található, és amely nem a rm
bináris elemet keresi a megfelelő pozícióban.
apt -y install linux-headers-$(uname -r) ln -s /bin/rm /usr/bin/rm apt-get -y install zfs-dkms
2. lépés – A ZFS újraindítása
Ekkor a zfs-dkms telepítve van, de hibákat dob a journalctl -xe
fájlba; a zfs megfelelő elindításához használja:
/sbin/modprobe zfs systemctl restart zfs-import-cache systemctl restart zfs-import-scan systemctl restart zfs-mount systemctl restart zfs-share
3. lépés – Legalább egy ZPOOL-ot kell létrehoznia
Ezen a ponton felfedeztem hogy újraindítás előtt létre kell hoznod egy zpoolt , különben a zfs nem tölti be a megfelelő modulokat, ha nincsenek zpoolok. az erőforrások megtakarításának mechanizmusa (de még ebben az esetben is akkor is hibákat dob a journalctl -xe
belül)
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864348
“Nem ezt tesszük, mert a ZFS modulok beszennyezik a kernelt, ha nincs elérhető zpool, akkor azt nem szabad betölteni / em>
Ha elmulasztja ezt a részt, akkor kezdje el a 2. lépést
Például a @cas által biztosított példa segítségével létrehozhatja ezt a fájl alapú zpool-ot, vagy közvetlenül létrehozhatja a lemez alapúakat.
truncate -s 100M /root/z1 truncate -s 100M /root/z2 zpool create tank /root/z1 /root/z2 zpool scrub tank zpool status
akkor egy reboot
után minden hiba nélkül működik a journalctl -xe
Válasz
Enyhe variációk számomra a Debian 9.4-en – az Apt források hozzáadása után:
apt-get install linux-headers-amd64 # not tied to specific kernel version apt-get install zfs-dkms zfsutils-linux # my apt recommends is off lsblk # double-check which disks to pool zpool create -f jeff -o ashift=12 -o autoexpand=on -o autoreplace=on mirror sdb sdd zfs set mountpoint=/var/jeff jeff zfs set compression=lz4 jeff zfs create jeff/blog zfs create jeff/docs zfs create jeff/pics zfs set compression=off jeff/pics df -h
A mount NEM volt jelen sóhaj – felfedezte, hogy létezik /var/jeff
tartalommal – ezt elmozdította az útról, és egy reboot
…
Újraindítás után:
df -htzfs Filesystem Size Used Avail Use% Mounted on jeff 849G 128K 849G 1% /var/jeff jeff/blog 850G 128K 849G 1% /var/jeff/blog jeff/docs 856G 128K 849G 1% /var/jeff/docs jeff/pics 850G 128K 849G 1% /var/jeff/pics
Hurrá – minden jelen van és bitrothadás ellen védett 🙂
Megjegyzések
- +1, de határozottan javasoljuk a
/dev/disk/by-id/?
használatát az/dev/sd?
eszközök helyett. Vagy használja a by-id neveket a készlet létrehozásakor, vagy javítsa később azpool export <pool>
paranccsal, amelyet azpool import -d /dev/disk/by-id/ <pool>
követ. Ezek a nevek, ellentétben a / dev / sd * -vel, az újraindítás során is fennmaradnak. Továbbá, ha van címkenyomtatója, akkor nyomtathat címkéket a by-id eszköznevek rövid verzióival (ott ‘ általában a név sorozatszáma, amely jó , rövid, egyedi címke) és címkézze meg a meghajtókat, hogy könnyen felismerhetőek legyenek, ha valaha is cserére szorulnak. - Ummm – de a ZFS nem törődik a létrehozás során használt lemezaliasokkal – minden információ meg van írva a lemezen lévő zfs-part9 fájlhoz – és ez az, amit a tömb elkészítéséhez használnak.Nem ‘ nem igazán érdekel, hogy a / dev / sdb mi változik-e valami másra a jövőben, és mindig a
lsblk -f
mielőtt meghajtó hardverrel dickering – termelési kiszolgálóink számára a Dell hdd blink eszköz hasznos az aktuális os-álnevek fizikai egységhez való hozzárendeléséhez 🙂 – Úgy gondolom, hogy a / dev / disk / by-id hasznosabb más szerelő rendszereknél, ne legyenek
ZFS ‘ egységei következetesek – pl. fstab.
zpool
parancs, például status
és list
, amelyek könnyen másolhatók a szükséges zpoolba offline / leválaszthatók / csere / etc parancsokat. A sda
nem mond ‘ neked semmi hasznosat. A ata-ST4000VN008-2DR166_ZDH35XXX
pontosan meghatározza, hogy milyen meghajtóról van szó, és annak sorozatszámáról. Még mindig megkaphatja a (jelenlegi) rövid dev neveket, ha valaha is szeretné őket használni a -L
opcióval a zpool list
, zpool status
stb. (tapasztalataim szerint többnyire a zpool list -L -v
esetén hasznos). Válasz
Most egy vadonatúj stretch virtuális gépet készítettem ennek tesztelésére. Minimális telepítés (csak az ssh és a szokásos rendszereszközök), szerkessze a sources.list fájlt a hozzájárulás és a nem ingyenes hozzáadásához, majd:
apt-get install spl-dkms zfs-dkms
Érdemes manuálisan is install zfsutils-linux
. A (z) zfs-dkms
telepítésekor automatikusan telepíteni kell, de a függőségek változhatnak a különböző Debian kiadásoknál és a Debian ZoL csomagok különböző verzióinál:
apt-get install zfsutils-linux
Úgy tűnik, hogy a zfs-share
fájl hibája van a systemd unit fájlban. Megpróbálja futtatni /usr/bin/rm
a /bin/rm
helyett.
A gyors javítás a ln -s /bin/rm /usr/bin
futtatása, vagy pedig:
cd /etc/systemd/system cp -a /lib/systemd/system/zfs-share.service . edit zfs-share.service and change `/usr/bin/rm` to `/bin/rm`
, majd indítsa újra a zfs szolgáltatásokat:
systemctl restart zfs-import-cache systemctl restart zfs-import-scan systemctl restart zfs-mount systemctl restart zfs-share
MEGJEGYZÉS: A modprobe zfs
mielőtt újraindítaná a zfs szolgáltatásokat. Nem vagyok biztos benne, hogy ezt automatikusan megteszik-e, vagy sem, ezért lehet, hogy ezt is meg kell tennie.
BTW, valószínűleg apt-get install zfs-initramfs
, annak biztosítására, hogy a zfs betöltődjön az initramfs alatt.
Kipróbáltam, hogy ez működik-e:
# truncate -s 100M /root/z1 # truncate -s 100M /root/z2 # zpool create tank mirror /root/z1 /root/z2 # zfs set compression=lz4 tank # rsync -ax /etc /tank/ # du -sch /etc /tank/etc/ 3.5M /etc 825K /tank/etc/ 4.3M total # zpool scrub tank # zpool status pool: tank state: ONLINE scan: scrub repaired 0 in 0h0m with 0 errors on Thu Aug 3 19:28:21 2017 config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 /root/z1 ONLINE 0 0 0 /root/z2 ONLINE 0 0 0 errors: No known data errors
A zpool Az újraindítás után a működő és / tank tankolás automatikusan megtörténik.
Következtetés: ez most működik.
BTW, ez a szakaszos virtuális gép egy ZFS zvolt használ, amely a fő sid
rendszer lemezként. Pillanatfelvételt készítettem róla közvetlenül a kezdeti telepítés után, a spl-dkms és a zfs-dkms telepítése előtt, hogy gyorsan visszatérhessek és újrakezdhessem, ha valami nagyobb baj történne.
A zvolt először csak 1 GB-mal készítettem. és később növelni kellett, hogy elegendő hely álljon rendelkezésre a build-essential, linux-headers-amd64 stb. számára:
# zfs list -r -t all export/volumes/stretch NAME USED AVAIL REFER MOUNTPOINT export/volumes/stretch 6.25G 834G 1.77G - export/volumes/stretch@2017-08-03-18:31:04 279M - 1.09G -
compression=lz4
a virtuális gép tankján valószínűleg rosszabb, mint haszontalan – a zvol már lz4 tömörítést tartalmaz.
Megjegyzések
- Próbáltam telepítsem egy új, új vm-re, de én ‘ m még mindig problémákat tapasztalok, azt hiszem, egyes szolgáltatások nem ‘ indulnak megfelelően. messze látom, hogy a ZFS DKMS hibalista tele van ” lehet ‘ t telepíteni ” hibabejelentések. Kíváncsi vagyok, hogy normális-e, hogy a fejlesztők hónapokat töltenek el, miután ilyen sok hibajavítási kérelem reprodukálható csak az apt-get install zfs-dkms fájlokkal.
- Arról a részről, ahol a cd könyvtárat kéri: / etc / systemd / system /? mert az / etc / systemd / service nem létezik .. nekem is ez az üzenet van: ” Nem sikerült újraindítani a zfs-import-mount.service szolgáltatást: Az egység zfs-import-mount.service nem megtalálva. ” és ” Nem sikerült újraindítani a zfs-import-share.service szolgáltatást: Unit zfs-import-share.nem található a szolgáltatás. 70734]: ZFS eseménydémon 0.6.5.9-5 (PID 70734) augusztus 11. 23:03:23 debian zed [70734]: Nem sikerült inicializálni a libzfs augusztus 11. 23:03:23 debian systemd [1]: zfs-zed.service : A fő folyamat kilépett, kód = kilépett, állapot = 1 / HIBA augusztus 11. 23:03:23 debian systemd [1]: zfs-zed.service: Az egység meghibásodott állapotba lépett. 11. augusztus 23:03:23 debian systemd [1]: zfs-zed.service: Nem sikerült a ‘ exit-code ‘ eredménnyel.
- Változtak / javultak-e a dolgok a Debian 10 használatával? És ha igen, tegyek-e külön kérdést a Debian 10-hez?
dkms status | grep zfs
kimenete?