Tutorial: natívne ZFS na Linuxe Ubuntu a Fedora

Tutorial: natívne ZFS na Linuxe Ubuntu a Fedora
01.02.2011 13:30 | Články | mm1
ZFS je výborný súborový systém a jeho dostupnosť pre linux prináša premostenie medzi Solarisom, FreeBSD a Linuxom. KQ Infotech zverejnil zdrojové kódy ich ZFS portu, ktorý používa pool verziu 28. Viac informácií sa dozviete na ich webstránke: kqstor.com. Zdrojové kódy sú dostupné na github.com.


V tomto článku dávam návod ako skompilovať moduly natívneho ZFS zo zdrojového kódu a ako ich nainštalovať na Linuxových distribúciách Ubuntu/Debian a Fedora.

Vyžadovaná je x86_64 inštalácia týchto distribúcií (64-bitová).

Návod na vytvorenie a inštaláciu balíkov natívneho ZFS pre Debian/Ubuntu:

Prepnúť sa na root používateľa
user@ubuntu:~/# sudo bash

Nainštalovať balíky potrebné na kompiláciu
root@ubuntu:~/# apt-get install autotools-dev debhelper devscripts gawk git uuid-dev zlib1g-dev

Nainštalovať balíky potrebné na prevádzku (sú potrebné aj na kompiláciu)
root@ubuntu:~/# apt-get install python-dmidecode python-soappy python-libxml2
Tieto balíky sú potrebné na inštaláciu vytvoreného balíka lzfs.

Vytvoriť dočasný priečinok a premiestniť sa do neho:
root@ubuntu:~/# mkdir zfs-build
root@ubuntu:~/# cd zfs-build

Stiahnuť a rozbaliť zdrojový kód, tu sú dve možnosti:

a.) Ľahká cesta: stiahnuť a rozbaliť môj snapshot zdrojových kódov s deaktivovanými SPL a ZFS testami
root@ubuntu:~/zfs-build# wget http://www.vx.sk/download/source/zfs-linux/zfs-linux-20110120.tar.bz2
root@ubuntu:~/zfs-build# tar xfj zfs-linux-20110120.tar.bz2


b.) Komplikovanejšia cesta: stiahnuť najnovšiu verziu kódu priečinkov misc-scripts a zfs pomocou nástroja Git
root@ubuntu:~/zfs-build# git clone https://github.com/zfs-linux/misc-scripts.git
root@ubuntu:~/zfs-build# git clone https://github.com/zfs-linux/zfs.git
je potrebné vypnúť aspoň ZCONFIG test úpravou súboru zfs/scripts/Makefile.in (vložiť "#" pred riadok s ZCONFIG v sekcii "check:")
"# @$(ZCONFIG)"

Vytvoriť balíky
root@ubuntu:~/zfs-build# ./misc-scripts/create_debian.sh
Ak používate môj snapshot zdrojového kódu a nechcete aktualizovať na najnovší zdrojový kód, vložte "#" pred tri riadky "git clone" v súbore misc-scripts/create_debian.sh
Pri otázke ohľadom konfiguračného súboru "Configuration file /etc/init.d/zfsload", odpovedzte Áno ("Y").

Balíky sú hotové (a zároveň aj nainštalované):
root@ubuntu:~/zfs-build# ls *.deb
Balíky sú vytvorené voči miestnej verzii kernelu. Môžete ich použiť na systémoch s rovnakým kernelom.
Inštalovať v nasledovnom poradí: spl, zfs a nakoniec lzfs

Automatické spúšťanie
Skript automatického spúštania sa nazýva /etc/init.d/zfsload
Teraz môžete vyskúšať hlavné príkazy ZFS: zpool a zfs

Návod na vytvorenie a inštaláciu balíkov natívneho ZFS pre Fedora Linux:

Prepnúť sa na root používateľa
[user@fedora ~]$ su -

Nainštalovať balíky potrebné na kompiláciu
[root@fedora ~]$ yum install gcc git kernel kernel-devel rpm-build libuuid-devel wget zlib-devel
After installing dependencies, reboot to the latest kernel.

Nainštalovať balíky potrebné na prevádzku
[root@fedora ~/zfs-build]$ yum install SOAPpy python-dmidecode
Tieto balíky sú potrebné na inštaláciu vytvoreného balíka lzfs.

Vytvoriť dočasný priečinok a premiestniť sa do neho:
[root@fedora ~]$ mkdir zfs-build
[root@fedora ~]$ cd zfs-build

Stiahnuť a rozbaliť zdrojový kód, tu sú dve možnosti:

a.) Ľahká cesta: stiahnuť a rozbaliť môj snapshot zdrojových kódov s deaktivovanými SPL a ZFS testami
root@ubuntu:~/zfs-build# wget http://www.vx.sk/download/source/zfs-linux/zfs-linux-20110120.tar.bz2
root@ubuntu:~/zfs-build# tar xfj zfs-linux-20110120.tar.bz2

b.) Komplikovanejšia cesta: stiahnuť najnovšiu verziu kódu priečinkov misc-scripts a zfs pomocou nástroja Git

root@ubuntu:~/zfs-build# git clone https://github.com/zfs-linux/misc-scripts.git
root@ubuntu:~/zfs-build# git clone https://github.com/zfs-linux/zfs.git
je potrebné vypnúť aspoň ZCONFIG test úpravou súboru zfs/scripts/Makefile.in (vložiť "#" pred riadok s ZCONFIG v sekcii "check:")
"# @$(ZCONFIG)"

Vytvoriť balíky
[root@fedora ~/zfs-build]$ ./misc-scripts/create_rpm.sh
Ak používate môj snapshot zdrojového kódu a nechcete aktualizovať na najnovší zdrojový kód, vložte "#" pred tri riadky "git clone" na začiatku súbora misc-scripts/create_rpm.sh

Balíky sú hotové
[root@fedora ~/zfs-build]$ ls rpm*/*/*.rpm
Balíky sú vytvorené voči miestnej verzii kernelu. Môžete ich použiť na systémoch s rovnakým kernelom.

Nainštalovať balíky
[root@fedora ~/zfs-build]$ rpm -i rpm*/spl/spl-modules-0*.x86_64.rpm
[root@fedora ~/zfs-build]$ rpm -i rpm*/spl/spl-0*.x86_64.rpm
[root@fedora ~/zfs-build]$ rpm -i rpm*/zfs/zfs-modules-0*.x86_64.rpm
[root@fedora ~/zfs-build]$ rpm -i rpm*/zfs/zfs-0*.x86_64.rpm
[root@fedora ~/zfs-build]$ rpm -i rpm*/lzfs/lzfs-*.x86_64.rpm

Pre lzfs je vždy potrebná inštalácia balíkov SOAPpy a python-dmidecode.
Inštalovať v poradí: spl-modules, spl, zfs-modules, zfs, lzfs

Automatické spúštanie
Skript automatického spúštania sa nazýva /etc/init.d/zfsload a môže byť zapnutý/vypnutý pomocou napr. "ntsysv"
Teraz môžete vyskúšať hlavné príkazy ZFS: zpool a zfs

Viac informácií o ZFS nájdete na blogu autora tohto článku Martina Matušku.
    • stabilita/pouzitelnost 01.02.2011 | 16:52
      Avatar Tomáš Srnka Barz čo, už asi všetko  Administrátor
      Predpokladam, ze ale moc stabilne a vykonne to nebude, takze to je asi tak na hranie, ci sa mylim?
      Dlho som robil linuxos.sk, neskôr založil vpsFree.cz, posledných pár rokov ako tech. riaditeľ vo Websupporte