Sziasztok.
Ismerkedek a ZFS fájlrendszerrel, és olvasva az előnyeit, bár sok értelme lehet hogy nincs egy desktop gépen, de használni szerentém:
- A filesystem hierarchiába rendezése
- Tömörítés ahol szeretném
- Checksum-ok
- A hibák kezelése
- Raid kezelés
- Deduplikáció (ezt pl nem akarom használni sehol, de jó hogy van)
- Snapshot-ok
- Copy on write
- Pool méretek kezelése rugalmasan, akár user vagy group szinten a limitek kezelése
Az én gépem soha nem lesz akkora rendszer, ahol bármit is kihasználnék ebből, de foglalkoztat. Ezt tényleg egy modern megoldásnak látom.
Kicsit furcsa, hogy a Fedora-ban talán kernelt is kell fordítni, hogy ha a Root fájlrendszert is ZFS-nek szeretném. Gondolom megvan az oka, de én bármilyen gépen (laikusként) eleve egy ilyen rugalmas modern fájlrendszert szeretnék, ezekkel a feature-ökkel. Akár desktop gépen is.
Egy virtuális gépben próbáltam ki először, feltelepítettem a Fedora-t, úgy hogy egy darab EXT4 partíciót csináltam a root-nak, ami 20 Gb-os.
Utána újraindítottam a gépet, megcsináltam az első usert, ami nem root, beléptem szépen.
Majd feltettem a ZFS-t, a következő módon: https://openzfs.github.io/openzfs-docs/Getting%20Started/Fedora/index.h…
ZFS modul engedélyezés, majd fdisk-el a maradék helyen csináltam egy üres partíciót: /dev/vda4
Ezután:
zpool create -f zpool1 /dev/vda4
zfs create zpool1/home
zfs create zpool1/tmp
zfs create zpool1/var
rsync -avxHAX --progress /home/ /zpool1/home/
rsync -avxHAX --progress /var/ /zpool1/var/
zfs set mountpoint=/home zpool1/home
zfs set mountpoint=/tmp zpool1/tmp
zfs set mountpoint=/var zpool1/var
Majd reboot,
mount --bind / /mnt/root/
és az /mnt/root/ alól a régi /home /var /tmp könyvtárak tartalmát kitöröltem.
Tömörítés, deduplikáció kikapcsolva az alap beállításokkal: reméltem, de pipa.
Kérdések:
- Ez egy alapvető kérdés, de: Hogy szokták a profik csinálni, hogy ne legyen használatban lévő könyvtár, miközben megy az rsync (/var /home, vagy /akármi)? (A Fedora környezetben gondolkodok. pl.: Ha bootolok egy live rendszert tartalmazó pendrive-ról, abban pl nincs zfs, hogy érdemes ezt elkezdeni?)
- Hogy lehetne a root particióra is egyszerűen használni a ZFS-t (Fedora továbbra is)? Érdemes lehet ezen izmozni? (Mintha olvastam volna, hogy az ext4 javasolt a root partícióhoz.)
- A Fedora helyett érdemesebb lehet emiatt Ubuntut használni (ha jól értem, ott ez alapból működik akár a root partícióhoz is)?
- Mit érdemes még megemlíteni? (szerintem más kezdőnek is érdekes lehet a kérdés, bármi infó, ami az ismerkedést segítheti.)
Előre is köszönöm
- 433 megtekintés
Hozzászólások
Szerintem nem érdemes root-ként használni az olyan filesystemet, amit a telepítő alapból nem támogat.
Ha mégis ragaszkodsz hozzá, akkor be kell rakni a zfs-hez szükséges dolgokat az initramfs-be, és bootnál megállítani (rd.break), aztán felcsatolod amit szeretnél és átmásolod.
Fedorán használj btrfs-t.
- A hozzászóláshoz be kell jelentkezni
Fedorán rootfs-nek a btrfs-t próbáld inkább, alapból nem támogatott FS-sel csak szívni fogsz, ha mindenáron zfs-t akarsz root FS-nek, akkor a Fedora nem a legjobb választás.
Ha single user, vagy rescue módban bootolsz be, akkor nem fogja a könyvtárakat a rendszer, át fogod tudni másolni, fstab-ot módosítani, stb.
- A hozzászóláshoz be kell jelentkezni
Fedorán rootfs-nek a btrfs-t próbáld inkább, alapból nem támogatott FS-sel csak szívni fogsz, ha mindenáron zfs-t akarsz root FS-nek, akkor a Fedora nem a legjobb választás.
Ez az egyik dolog, ami miatt a FreeBSD-n hosszasan el szoktam gondolkodni. :) De elképedve hallgattam egy podcasttot, hogy miket tud amúgy alapból. Kicsit attól félek, hogy meglenne a böjtje, és valami tuti nem működne. De ezt próbálgatni kellene. (például epson ecotank nyomtató driver kérdés, ha jól tudom nvidia driver van, vagy akár 1-2 kicsi wine-s program, amit nem tudok kikerülni, visualbasicben írták, és csak windows alá fordították le, vagy akár a winbox)
Ha single user, vagy rescue módban bootolsz be, akkor nem fogja a könyvtárakat a rendszer, át fogod tudni másolni, fstab-ot módosítani, stb.
Megnézem majd, hogy mi a tényleges különbség a single user, rescue, emergency, stb... módok között, és hogy kell őket használni. A Fedorához mindenki azt írja, hogy ehhez egy pendrive kell, és azt is tapasztalom, hogy a rendszer a grubból a rescue módot kiválasztva "teljesen" elindul + olvastam hogy logolás, és selinux különbség van csak. Nincs a /var használva?
De akkor az egy megoldás lehet, hogy rd.break-el indítok, felmountolom a sysroot-ot, átmásolom a /home, /var, stb... könyvtárakat a sysroot-on belül pl /home2 /var2, stb... könyvtárakba, majd rendes reboot hogy legyen ZFS, ott megcsinálom a poolokat, felmountolom, majd a /home2, /var2-ből visszamásolok mindent.
Szerintem nem érdemes root-ként használni az olyan filesystemet, amit a telepítő alapból nem támogat.
Ha mégis ragaszkodsz hozzá, akkor be kell rakni a zfs-hez szükséges dolgokat az initramfs-be, és bootnál megállítani (rd.break), aztán felcsatolod amit szeretnél és átmásolod.
ZFS problémák: tehát az már látszik, hogy ha nincs egy olyan pendrive-od, vagy lefordított initramfs-ed, amiben benne van a zfs, akkor probléma van, ha rescue módban kell csinálni valamit, és nem éred el a ZFS alatt lévő dolgokat.
Köszi a kommenteket.
- A hozzászóláshoz be kell jelentkezni
Én biztos egy vm-ben próbálkoznék, ha az megpukkan vagy nem bootol abból nincs akkora gond.
zászló, zászló, szív
- A hozzászóláshoz be kell jelentkezni
Tapasztalatok:
Fedora alatt az initramfs-ben nincs chroot (érdekes, hogy a doksiban viszont hivatkoznak rá, pl a root jelszó megváltoztatásához), egy dracut modult kell csinálni, ami bemásolja + az rsync-et, és fdisk-et:
Ellenőrzés:
lsinitrd | grep -E "chroot|rsync|fdisk"
Ha tényleg nincs:
mkdir /usr/lib/dracut/modules.d/01custom
vi /usr/lib/dracut/modules.d/01custom/module-setup.sh
Fájl tartalma:
lsinitrd | grep -E "chroot|rsync|fdisk"
mkdir /usr/lib/dracut/modules.d/01custom
vi /usr/lib/dracut/modules.d/01custom/module-setup.sh
#!/bin/bash
check() {
return 0
}
depends() {
return 0
}
install() {
inst /usr/sbin/chroot
inst /usr/sbin/fdisk
inst /usr/bin/rsync
}
Itt egy dracut modul, amivel a telepítés után a ZFS-et be lehet másolni az initramfs-be:
git clone https://github.com/openzfs/zfs.git
cd zfs/contrib/dracut
cp -r 90zfs /usr/lib/dracut/modules.d/
Ezután a "dracut -f" belegenerálja az initramfs-be a zfs dolgait is, és a chroot-ot, rsync-et, fdisk-et.
Így már rd.break indítás után fel lehet mountolni a zfs poolokat is.
Ha a chroot-al akarom használni a zfs-t, akkor kelleni fog ez is (miután a /sysroot-ot rw módban újramountoltuk):
mount --bind /proc /sysroot/proc
mount --bind /sys /sysroot/sys
mount --bind /dev /sysroot/dev
Ezután mehet a chroot.
Ha az rd.break alatt újra csatolni akarjuk a zfs poolokat, akkor kell a "zpool -import a" ami elsőre lassú lesz, után amehet a "zfs mount -a"
A root zfs fájlrendszert elengedtem. (és lehet hogy a zfs-t is, a btrfs-t is jó lenne megismerni, mert sok dolgot tud az is, és azt a Fedora támogatja)
- A hozzászóláshoz be kell jelentkezni
Nem muszáj azt elengedni. Megdolgoztál vele, megy, használd egy kicsit. Persze, nem jó ötlet, mert külön mókolás beletenni az initramfs-be a ZFS dolgait, meg minden kernelfrissítésnél külön új modult is kell frissíteni vagy forgatni hozzá, de miért ne. Ha nem zavar, hogy sok memória kell neki, akkor tartsd még megy egy ideig.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni
Persze, nem jó ötlet, mert külön mókolás beletenni az initramfs-be a ZFS dolgait, meg minden kernelfrissítésnél külön új modult is kell frissíteni vagy forgatni hozzá, de miért ne.
Hát igen. Az egyetlen egy gond, hogy a Fedora nem támogatja alapból, a licensz kérdések miatt. A Fedora-t pedig nem akarnám lecserélni.
Igazából nem kell neki sok memória. Csak ha a deduplikáció be van kapcsolva.
- A hozzászóláshoz be kell jelentkezni
Igazából egyik Linux disztró sem támogatja alapból. Egy ideig az Ubuntu támogatta, de a legújabb kiadásból ott is kivették. Ennek valóban a licenckérdés az oka, de nem a disztró oldaláról, hanem a kernel oldaláról, a kernelfejlesztők ódzkodnak tőle, hogy a kernelben benne legyen, így csak külön modulként használható.
Szerintem jó fájlrendszer, de desktopra nekem overkill, és az overheadje is elég magas memóriaügyileg, így én nem használnám. Max. snapshot lenne a haszna desktopon, de azt tudja a btrfs is, kisebb overhead mellett, és az a kernelben is benne van, minden disztrón támogatott. Én maradni szoktam az ext4-nél, nekem az elég, cserében villám gyors.
“Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”
- A hozzászóláshoz be kell jelentkezni