GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So konfigurieren Sie Ubuntu 14.04 für das native ZFS-Root-Dateisystem

Hallo zusammen, heute werden wir Ubuntu in einer nativen ZFS-Root-Datei einrichten, die ein fortschrittliches Dateisystem und ein logischer Volume-Manager ist, der entwickelt wurde, um viele der Hauptprobleme zu überwinden, die in früheren Designs von Sun Microsystems gefunden wurden. Zu den Hauptmerkmalen von ZFS gehört seine Leistung mit Datenintegrität, die eine Prüfsumme der Daten enthält, um Schutz vor Korruption zu bieten. ZFS versucht automatisch, Fehler zu korrigieren, wenn Datenredundanz verfügbar ist. ZFS bietet Unterstützung für hohe Speicherkapazitäten und effiziente Datenkomprimierung mit physischen Pool-Speichergeräten, die einem Pool hinzugefügt werden, und Speicherplatz wird aus diesem gemeinsam genutzten Pool zugewiesen.

Basissystemvoraussetzungen

In diesem Setup verwenden wir ZFS auf einer installierten Ubuntu 14.04 64-Bit-Umgebung als Basis mit den folgenden Spezifikationen und Versionen.

  • Betriebssystem:Ubuntu 14.04.1 LTS x86_64
  • grub-install (GRUB) 2.02~beta2-9ubuntu1.3
  • spl-dkms 0.6.4-2~utopisch
  • zfs-dkms 0.6.4-3~utopisch
  • zfs-initramfs 0.6.4-3~utopisch
  • Freie Festplatten-/Partitionsgröße 10 GB
  • Empfohlener verwendeter Speicher 4 GB
  • Anzahl der verwendeten Kerne 2 GHz

ZFS-Installations-Setup

Wir werden das ZFS-Installations-Setup auf einem bereits installierten Ubuntu 14.04-Betriebssystem mit 10 GB freiem Speicherplatz darauf starten. Wir müssen mit dem Root-Benutzer angemeldet sein, um all diese Schritte auszuführen.

ZFS-Repository hinzufügen

Bevor wir ZFS verwenden können, müssen wir es installieren. Fügen Sie das Repository einfach mit dem folgenden Befehl zu apt-get hinzu:

root@ubuntu-14:~# apt-add-repository --yes ppa:zfs-native/stable

Systemaktualisierung mit ZFS-Installation

Hier müssen wir das Betriebssystem mit einem neuen Repository aktualisieren und dann beginnen wir mit der Installation mit apt-get.

root@ubuntu-14:~#apt-get update
root@ubuntu-14:~#apt-get install debootstrap ubuntu-zfs

Die Installation der Pakete wird einige Zeit in Anspruch nehmen, während die Kernel-Module kompiliert werden.

zfs-initramfs ist erforderlich, um die ZFS-Dienstprogramme zum Verwalten von ZFS-Dateisystemen in die initramfs-Boot-Images einzufügen.

root@ubuntu-14:~#apt-get install zfs-initramfs

Prüfung der ZFS-Module

Indem wir zuerst die folgenden Befehle verwenden, werden wir zfs-Module laden und dann prüfen, ob sie existieren oder nicht.

Festplattenpartitionierung für ZFS

Unsere Partitionstabelle sieht für ein einzelnes vdev-Pool-Layout wie folgt aus, wobei sda2 für das zfs-Root verwendet wird.

Root-Pool erstellen

Jetzt erstellen wir den Root-Pool mit /dev/sda*. Alternativ können Sie ihn auch mit /dev/disk/by-id-Links erstellen, um den Pool zu erstellen.

root@ubuntu-14:~# mke2fs -m 0 -L /boot/grub -j /dev/sda2
root@ubuntu-14:~# zpool create -o ashift=9 rpool /dev/sda2

Wir haben den rpool erstellt, den wir mit dem Befehl zpool list überprüfen können.

Stammdatensatz erstellen und Basissystem installieren

Hier erstellen wir den Root-Datensatz, exportieren ihn dann und importieren ihn erneut mit -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

Hängen Sie nun das Boot-Dateisystem für GRUB ein, das wir im vorherigen Schritt erstellt haben.

root@ubuntu-14:~# mkdir -p /mnt/boot/grub
root@ubuntu-14:~# mount /dev/sda2 /mnt/boot/grub
root@ubuntu-14:~# debootstrap trusty /mnt

Der debootstrap-Befehl hinterlässt das neue System in einem unkonfigurierten Zustand, den wir als nächstes mit seinen minimalen Konfigurationen durchführen werden.

Nach erfolgreichem Abschluss von debootstrap erhalten wir die Meldung über die erfolgreiche Installation des Basissystems. Nachdem wir nun die folgenden Befehle ausgeführt haben, aktualisieren wir das System, nachdem wir die folgenden Locales generiert haben.

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

Also haben wir virtuelle Dateisysteme in der Umgebung erstellt, die für das neue System sichtbar sind, und PPA-Unterstützung in der Chroot-Umgebung mit dem Chroot-Befehl installiert.

Installieren von Ubuntu- und nativen Paketen

Das Paket ubuntu-minimal ist erforderlich, um ZFS unter Linux zu verwenden, wie es im PPA enthalten ist. Lassen Sie uns ZFS in der Chroot-Umgebung für das neue System installieren, indem Sie die folgenden Befehle ausführen.

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.

Erzeuge eine neue Grub-Konfiguration

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

Korrekten Root-Eintrag überprüfen

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"

Grub aktualisieren

Aktualisieren Sie grub, um das automatisch generierte zfs-Startmenü mit dem Befehl update-grub zuzulassen.

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

Installieren Sie den Bootloader mit dem folgenden Befehl im MBR und stellen Sie sicher, dass Sie die Meldung zum Abschluss der Installation erhalten. Der Leselink ist erforderlich, da neuere GRUB-Veröffentlichungen keine symbolischen Links dereferenzieren.

root@ubuntu-14:~# grub-install $(readlink -f /dev/sda)
Installing for i386-pc platform.
Installation finished. No error reported.

Verlassen Sie jetzt die Chroot-Umgebung zurück in die Basisumgebung und heben Sie die Bereitstellung von allen Dateisystemen auf, falls eine Verbindung besteht.

ZFS-Bestätigung

Wir waren mit der gesamten Einrichtung fertig und prüfen jetzt mit dem df-Befehl die Bestätigung von rpool.

Einige bekannte Probleme

Während dieser Einrichtung treten möglicherweise einige Probleme beim ZFS-Start auf, die Sie mit den folgenden Verfahren vermeiden können.

Snapshot erstellen

Sie müssen einen ZFS-Snapshot erstellen, der nach dem ersten Start als Rettungsumgebung verwendet werden kann. Sie können den folgenden Befehl verwenden, um einen ZFS-Snapshot zu erstellen als.

root@ubuntu-14:~# apt-get clean
root@ubuntu-14:~# zfs snapshot rpool/ROOT/ubuntu1

Grub-Problem

Manchmal zeigt Grub kein Boot-Menü an oder es zeigt den Fehler "unbekanntes Dateisystem". Dies kann daran liegen, dass grub den zfs-Pool nicht lesen kann, oder die mögliche Ursache ist, dass Sie zuvor einige vdev offline geschaltet haben. Um sich davon zu erholen, müssen wir folgende zwei Dinge tun.

  • Entfernen/trennen Sie die Offline-Laufwerke
  • Mit der Live-CD-Methode können Sie von Ihrer ext4-Installation booten
  • Oder tun Sie dies, indem Sie die Festplatten online schalten oder die Offline-Festplatte entfernen und sie erneut hinzufügen

Schlussfolgerung

ZFS verändert die Art und Weise, wie Daten verwaltet werden, indem es Datensicherheit und -integrität, praktisch unbegrenzte Skalierbarkeit sowie einfache und automatisierte Verwaltbarkeit bietet. Wir können also schlussfolgern, dass ZFS eine Betriebssystemfunktion ist, die bei einigen Administratoren, die ihre funktionsreiche Funktionalität kennen, eine sehr beliebte Wahl zu sein scheint.


Ubuntu
  1. OpenStack Kilo auf Ubuntu 14.04.2 – Konfigurieren Sie Neutron #1

  2. OpenStack Kilo auf Ubuntu 14.04.2 – Nova konfigurieren

  3. OpenStack Kilo auf Ubuntu 14.04.2 – Glance konfigurieren

  4. Ubuntu 19.04 :Konfigurieren Sie vim

  5. ZFS als Root-Dateisystem auf neuer Linux-Maschine?

Installieren und konfigurieren Sie Git unter Ubuntu 16.04

So konfigurieren Sie die Tastatur unter Ubuntu 18.04

Installieren und konfigurieren Sie Fail2ban unter Ubuntu 20.04

So konfigurieren Sie ZFS unter Ubuntu 20.04

Erste Schritte mit dem ZFS-Dateisystem unter Ubuntu 19.10

Ubuntu 12.04.02 Dateisystem?