Ahoj všichni, dnes nastavíme Ubuntu na nativní kořenový soubor ZFS, což je pokročilý souborový systém a správce logických svazků navržený k překonání mnoha hlavních problémů nalezených v předchozích návrzích navržených společností Sun Microsystems. Mezi hlavní vlastnosti ZFS patří jeho výkon s integritou dat, která zahrnuje kontrolní součet dat, aby byla zajištěna ochrana proti poškození. ZFS se automaticky pokusí opravit chyby, když je k dispozici redundance dat. ZFS poskytuje podporu pro vysoké úložné kapacity a efektivní kompresi dat s fyzickými úložnými zařízeními fondu, která jsou přidána do fondu a úložný prostor je alokován z tohoto sdíleného fondu.
Předpoklady základního systému
V tomto nastavení budeme používat ZFS na nainstalovaném 64bitovém prostředí Ubuntu 14.04 jako základ s následujícími specifikacemi a verzemi.
- Operační systém:Ubuntu 14.04.1 LTS x86_64
- grub-install (GRUB) 2.02~beta2-9ubuntu1.3
- spl-dkms 0.6.4-2~utopic
- zfs-dkms 0.6.4-3~utopic
- zfs-initramfs 0.6.4-3~utopic
- Velikost volného disku/oddílu 10 GB
- Doporučená použitá paměť 4 GB
- Počet použitých jader 2 GHz
Nastavení instalace ZFS
Zahájíme instalaci ZFS na již nainstalovaném operačním systému Ubuntu 14.04 s 10 GB volného místa. K provedení všech těchto kroků musíme být přihlášeni jako uživatel root.
Přidání úložiště ZFS
Než budeme moci začít používat ZFS, musíme jej nainstalovat. Jednoduše přidejte úložiště do apt-get pomocí následujícího příkazu:
root@ubuntu-14:~# apt-add-repository --yes ppa:zfs-native/stable
Aktualizace systému s instalací ZFS
Zde musíme aktualizovat OS pomocí nového úložiště a poté zahájíme jeho instalaci pomocí apt-get.
root@ubuntu-14:~#apt-get update
root@ubuntu-14:~#apt-get install debootstrap ubuntu-zfs
Instalace balíčků bude nějakou dobu trvat při kompilaci modulů jádra.
zfs-initramfs je vyžadován k umístění utilit ZFS pro správu souborových systémů ZFS do zaváděcích obrazů initramfs.
root@ubuntu-14:~#apt-get install zfs-initramfs
Kontrola modulů ZFS
Pomocí následujících příkazů nejprve načteme moduly zfs a poté zkontrolujeme, zda existují nebo ne.
Rozdělení disku pro ZFS
Naše tabulka oddílů bude vypadat následovně pro rozvržení jednoho fondu vdev, kde pro kořen zfs bude použit sda2.
Vytvoření kořenového fondu
Nyní vytvoříme kořenový fond pomocí /dev/sda*. Alternativně jej můžete vytvořit také pomocí odkazů /dev/disk/by-id pro vytvoření fondu.
root@ubuntu-14:~# mke2fs -m 0 -L /boot/grub -j /dev/sda2
root@ubuntu-14:~# zpool create -o ashift=9 rpool /dev/sda2
Vytvořili jsme rpool, který můžeme zkontrolovat pomocí příkazu zpool list.
Vytvoření kořenové datové sady a instalace základního systému
Zde vytvoříme kořenovou datovou sadu, exportujeme ji a znovu importujeme pomocí -d /dev/sda2
root@ubuntu-14:~# zfs create rpool/ROOT
root@ubuntu-14:~# zfs create rpool/ROOT/ubuntu-1
root@ubuntu-14:~# zfs umount -a
root@ubuntu-14:~# zfs set mountpoint=/ rpool/ROOT/ubuntu-1
root@ubuntu-14:~# zpool export rpool
root@ubuntu-14:~# zpool import -d /dev/sda2 -R /mnt rpool
Nyní připojte zaváděcí souborový systém pro GRUB, který jsme vytvořili v předchozím kroku.
root@ubuntu-14:~# mkdir -p /mnt/boot/grub
root@ubuntu-14:~# mount /dev/sda2 /mnt/boot/grub
root@ubuntu-14:~# debootstrap trusty /mnt
Příkaz debootstrap ponechává nový systém v nenakonfigurovaném stavu, který provedeme s jeho minimálními konfiguracemi v dalším.
Po úspěšném dokončení debootstrapu se nám zobrazí zpráva o úspěšné instalaci základního systému, nyní po provedení následujících příkazů aktualizujeme systém po vygenerování lokalit následovně.
root@ubuntu-14:~# cp /etc/hostname /mnt/etc/
root@ubuntu-14:~# cp /etc/hosts /mnt/etc/
root@ubuntu-14:~# mount --bind /dev /mnt/dev
root@ubuntu-14:~# mount --bind /proc /mnt/proc
root@ubuntu-14:~# mount --bind /sys /mnt/sys
root@ubuntu-14:~# chroot /mnt /bin/bash --login
root@ubuntu-14:/# locale-gen en_US.UTF-8
Takže jsme vytvořili virtuální souborové systémy v prostředí, které je viditelné pro nový systém, a nainstalovali jsme podporu PPA v prostředí chroot pomocí příkazu chroot.
Instalace balíčků Ubuntu a Native
Balíček ubuntu-minimal je vyžadován pro použití ZFS na Linuxu, jak je zabalen v PPA. Nainstalujme ZFS do prostředí chroot pro nový systém provedením následujících příkazů.
root@ubuntu-14:/# apt-get install ubuntu-minimal software-properties-common
root@ubuntu-14:/# apt-add-repository --yes ppa:zfs-native/stable
root@ubuntu-14:/# apt-add-repository --yes ppa:zfs-native/grub < - See below note on this command
root@ubuntu-14:/# apt-get update
root@ubuntu-14:/# apt-get install --no-install-recommends linux-image-generic linux-headers-generic
root@ubuntu-14:/# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Generování nové konfigurace grub
root@ubuntu-14:/# grub-probe /
zfs
root@ubuntu-14:~# ls /boot/grub/i386-pc/zfs*
/boot/grub/i386-pc/zfs.mod /boot/grub/i386-pc/zfscrypt.mod /boot/grub/i386-pc/zfsinfo.mod
root@ubuntu-14:~#
root@ubuntu-14:~# update-initramfs -c -k all
update-initramfs: Generating /boot/initrd.img-3.13.0-24-generic
Ověřování správného kořenového záznamu
root@ubuntu-14:~# grep "boot=zfs" /boot/grub/grub.cfg
linux /ROOT/ubuntu-1@/boot/vmlinuz-3.13.0-24-generic root=ZFS=rpool/ROOT/ubuntu-1 ro boot=zfs
linux /ROOT/ubuntu-1@/boot/vmlinuz-3.13.0-24-generic root=ZFS=rpool/ROOT/ubuntu-1 ro boot=zfs
root@ubuntu-14:~# grep zfs /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="boot=zfs"
Aktualizovat Grub
Aktualizujte grub, abyste povolili automaticky generované spouštěcí menu zfs pomocí příkazu update-grub.
root@ubuntu-14:~# update-grub
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-3.13.0-24-generic
Found initrd image: /boot/initrd.img-3.13.0-24-generic
done
Nainstalujte zavaděč do MBR pomocí níže uvedeného příkazu a ujistěte se, že se zobrazí zpráva o dokončení instalace. Readlink je vyžadován, protože poslední vydání GRUB neodkazují na symbolické odkazy.
root@ubuntu-14:~# grub-install $(readlink -f /dev/sda)
Installing for i386-pc platform.
Installation finished. No error reported.
Nyní opusťte chroot prostředí zpět do základního prostředí a odpojte se od všech souborových systémů, pokud jsou připojeny.
Potvrzení ZFS
Dokončili jsme všechny jeho nastavení a nyní zkontrolujte pomocí příkazu df potvrzení rpool.
Některé známé problémy
Během tohoto nastavení můžete čelit některým problémům se spouštěním ZFS, kterým se můžete vyhnout pomocí následujících postupů.
Vytvořit snímek
Musíte vytvořit snímek ZFS, který lze použít jako záchranné prostředí po jeho prvním spuštění. Následující příkaz můžete použít k pořízení snímku ZFS jako.
root@ubuntu-14:~# apt-get clean
root@ubuntu-14:~# zfs snapshot rpool/ROOT/ubuntu1
Problém Grub
Někdy Grub nezobrazí spouštěcí nabídku nebo zobrazí chybu „neznámý souborový systém“. Může to být způsobeno tím, že grub nemůže číst fond zfs nebo jeho možnou příčinou je, že jste dříve offline nějaký vdev. Abychom se z toho dostali, musíme udělat následující dvě věci.
- Odeberte/odpojte offline disky
- Pomocí metody Live CD můžete zavést systém z instalace ext4
- Nebo proveďte online připojení disků nebo odeberte disk offline a znovu je přidejte
Závěr
ZFS mění způsob správy dat tím, že nabízí zabezpečení a integritu dat, prakticky neomezenou škálovatelnost a také snadnou a automatizovanou správu. Můžeme tedy dojít k závěru, že ZFS je funkce operačního systému, která se zdá být velmi oblíbenou volbou pro některé administrátory, kteří znají jeho bohaté funkce.