Linux/Saját linux live CD készítése/ZFS fájlrendszer
A ZFS egy fájlrendszer és logikai kötetkezelő, de tartalmaz szofver RAID-et is. Jó tulajdonságainak köszönhetően linuxon is egyre népszerűbb. Van viszont egy probléma vele: a licensze tiltja a bináris formában történő terjesztést, ennek következtében az install és live CD-k nem tartalmazzák. Ez olyankor okoz problémát, ha a telepítendő gép root fájlrendszerét is ZFS-ben szeretnénk létrehozni, aminek számos előnye van.
ZFS root fájlrendszerű gép telepítése
szerkesztésZFS root fájlrendszerű gépet úgy lehet telepíteni, hogy egy „gyári” live CD-t[1] bebootolunk, a memóriában előbb felinstalláljuk a ZFS-t, majd arról telepítjük a gépet. Ha rescue CD-re van szükség, ugyanezt meg kell ismételni, ami gond lehet, hiszen internet-hozzáférést feltételez, és időbe telik. Rescue CD katasztrófahelyzetben kell, amikor ez a két dolog nem feltétlenül van meg.
Az ubuntu install CD-je az egyetlen, ami (már a 16.04-es verzió óta) tartalmazza a ZFS kernel modulokat, viszont a fájlrendszer létrehozásához és kezeléséhez szükséges programokat nem. (Ebből következik, hogy az installáló menüből nem is választható ki ZFS sem a root, sem más fájlrendszer számára: az ubuntu is az itt leírt módot javasolja.[2]) A kernel-modulok megléte nagy segítség, hiszen a ZFS-installálás legnagyobb részét ez teszi ki, és ubuntu-ból más debian-alapú rendszert is fel lehet installálni, ez mégsem jó ötlet a disztribúciók között eltérő ZFS-verziók miatt.[3]
Marad a saját live CD.
Kiinduló állapot
szerkesztésTelepítettünk egy minimális tartalmú debian live CD-t, esetleg ki is egészítettük más csomagokkal. Chroot-ban vagyunk. (Ha közben kiléptünk volna, lépjünk be újra.)
chroot-ban
szerkesztésA bevezetőben említett licensz okok miatt a ZFS a debian repository-ban a contrib szekcióban van, amit tudatni kell az apt paranccsal. A /etc/apt/source.list-et kell kiegészíteni:
deb http://deb.debian.org/debian stretch main contrib
apt-get update # a repository-k ujraolvasasa
ln -s /bin/rm /usr/bin/rm # /usr/bin-ben keresi az rm parancsot. Rejtely, miert.
apt-get install spl-dkms # a ZFS elso resze
Az spl-dkms installálása feltelepíti a linux kernel headerjeit és a kernelmodul-fordításhoz szükséges programokat, majd le is fordít két kernel modult. Ha ezt nem tesszük meg a fő ZFS-csomag előtt, akkor az 10 percen keresztül sleep 1
-ekkel vár valamire, bár utána rendben lefordítja a kernel modulokat. Ezt a 10 percet kerülhetjük ki a két apt utasítással.
apt-get install zfsutils-linux
apt-get install debootstrap # ZFS root filerendszeru gep telepitesehez
Az első sor után, a lsmod | grep zfs
utasításra ezt kell látnunk:
zfs 2707456 8 zunicode 331776 1 zfs zavl 16384 1 zfs zcommon 53248 1 zfs znvpair 90112 2 zcommon,zfs spl 98304 3 znvpair,zcommon,zfs
A debootstrap csomag új gép kézi installálásához kell.
Némi helyet (kb. 50M-et) visszanyerhetünk csomagtörléssel. E csomagok a ZFS kernel-modulok fordításához kellettek.
apt-get purge linux-headers-4.9.0-6-amd64
apt-get autoremove
Az e fejezetben leírtakat megtehetjük másik gépen is, pl. a munkaállomásunkon, majd a lefordított kernel-modulok két debian csomagba tehetők. A ZFS-hez elég a két csomagot és a zfsutils-linux-ot telepíteni: ezzel megtakarítjuk a fordításhoz szükséges csomagok telepítését az éles rendszeren.
Kilépés chroot-ből
szerkesztésA már ismert módon kilépünk chroot-ból az eredeti munkakönyvtárba. apt-get clean
-t ne felejtsük el: 100M-nyi feleslegessé vált fájltól tudunk megszabadulni.
Tovább: ISO generálása.
Jegyzetek
szerkesztés- ↑ Pl. Grml (grml.org)
- ↑ Ubuntu 16.04 Root on ZFS
- ↑ E szócikk írásakor a 18.04-es ubuntu és a 9.4-es debian a stabil. Az előbbivel létrehozott poolt a debianbeli zfs csak olvasható módban tudja megnyitni – kivéve, ha előre tudjuk, hogy a létrehozáskor zpool-nak meg kell adni a
-o feature@userobj_accounting=disabled
kapcsolót, amit utólag már nem lehet. Ez a feature a debianban még nincs benne, az ubuntuban pedig nem működik a zpool-d
kapcsolója, amivel az összes feature-t tiltani lehetne a hasonló problémák megelőzése érdekében.
Forrás
szerkesztés- Debian 9 “Stretch” szerver profi telepítése (Linuxakadémia, a 2017. aug. 15-i ingyenes előadás felvétele)