Wie migriert man von ext4 zu einem ZFS-Root-Dateisystem mit separater ext4-Bootpartition?

Wie migriert man von ext4 zu einem ZFS-Root-Dateisystem mit separater ext4-Bootpartition?

Ich versuche, meine Root-Partition von ext4 auf zfs (einfache Partition, ohne ZFS-Volume-Verwaltungsfunktionen) zu ändern, indem ich alle Dateien in einem Live-System (Ubtunu 14.04) von der ext4-Partition auf ein externes Gerät verschiebe, einen ZFS-Pool auf der Partition erstelle und die Dateien zurück verschiebe.

Es gibt viele Anleitungen, die erklären, wie man Betriebssysteme, einschließlich Ubuntu, auf einem Root-ZFS-Pool einrichtet, aber ich habe keine gefunden, die die einfache Migration erklärt, die ich durchführen möchte, ohne auch eine ZFS-Bootpartition/einen ZFS-Dataset einzurichten (die nützlichste, die ich gefunden habe, warhttp://blog.ls-al.com/ubuntu-auf-einem-zfs-root-dateisystem-für-ubuntu-14-04/). Natürlich ist es möglich, die Schritte aus solchen Anleitungen zu abstrahieren, aber ich hätte lieber ein paar kleine Hinweise von Experten, als selbst nach dem Prinzip „Versuch und Irrtum“ vorzugehen.

Allgemeine Probleme:Momentan verstehe ich nicht, wie ich meinem System sagen kann, dass es eine ZFS-Partition unter „ /' at boot. Although it is not recommended I guess settingmountpoint=legacy and adding an entry in/etc/fstab“ mounten soll (so wie ich es nach einer Migration auf einen anderen Dateisystemtyp tun würde). Das sollte doch ausreichen, oder?

Aktuelle Probleme:

  • Wenn ich den Pool mit erstelle zpool create /dev/sdaX, erhalte ich die Meldung ALERT! /dev/disk/by-uuid/<uuid of my root partition> doesn't exist. Wenn ich ihn mit erstelle , zpool create /dev/disk/by-id/<id>erhalte ich die Meldung /usr/sbin/grub-probe: error: failed to get canonical path of/dev/ when I run update-grub in chroot in live system. What Do I have to specify inzpool create`?
  • Muss ich das System überhaupt im Chroot-Modus vom Live-System aus einrichten (Pool importieren, Initramfs aktualisieren)? Ich habe meine Dateien zurück in einen Datensatz mit dem Namen kopiert rpool/ROOT/ubuntu-1und hinzugefügt rpool/ROOT/ubuntu-1( /etc/fstabin genau diesem Datensatz).

Die Ausführung mount -t zfs rpool/ROOT/ubuntu-1 /root && chroot /root zpool import rpoolin der Initramfs-Shell funktioniert nicht, da das ZFS-Modul nicht geladen ist. ubuntu-zfsist installiert und ich habe es lange Zeit ohne Probleme für eine Datenpartition verwendet.

Antwort1

Die Kernelparameter boot=zfs, bootfsund rpoolwerden von Grub nicht korrekt gesetzt ("Updates" von ppa:zfs-native/grubdienen nur zum Raring) und müssen zu /boot/grub/grub.cfgden linuxAnweisungen Ihrer Wahl hinzugefügt werden, siehehttps://github.com/zfsonlinux/pkg-zfs/wiki/HOWTO-install-Ubuntu-to-a-Native-ZFS-Root-Filesystemfür Details.

verwandte Informationen