Hallo zusammen
Ich versuche, meinen Server von ext4 zu zfs zu migrieren. Mein Plan ist
drfolgende: Sicherung des gesamten Dateisystems mit rsync auf ein
externes Laufwerk (welche Ordner sollte ich backupen?)
Dann 4 neue Festplatten einbauen, von einem Live-Ubuntu-Stick booten und
das ZFS-System nach diesem Tutorial erstellen:
https://openzfs.github.io/openzfs-docs/Getting%20Started/Ubuntu/Ubuntu%2020.04%20Root%20on%20ZFS.html#step-1-prepare-the-install-environment
Dann rsync zurück von der externen Festplatte auf das neue Dateisystem
mit dem Ubuntu-Live-Stick.
Bevor ich das auf einem Live-System mache, versuche ich derzeit das
ganze in einer VM. Das obig erwähnte Tutorial erstellt 5 Partitionen
(siehe Bild 1)
Das Tutorial hat auch zwei Pools erstellt. Einen Root-Pool für das
Root-Dateisystem und einen gespiegelten Boot-Pool für den Bootvorgang.
Nun beginnt das Tutorial damit, viele verschiedene Container für die
verschiedenen Ordner innerhalb des Systems zu erstellen. Da ich ZFS noch
nicht wirklich kenne bin ich nicht sicher, ob dies so auch sinnvoll ist.
Vorallem fehlt z.B. ein Container für /home
Dieses Tutorial zum Beispiel:
https://blog.heckel.io/2016/12/31/move-existing-linux-install-zfs-root/
erstellt nur einen Pool und einen container und überträgt alles mit
rsyncs zurück.
Ab diesem Punkt bin ich unsicher. Derzeit hat mein VM-System nur die
beiden Pools und 5 partitionen, jedoch noch keinen Bootloader. Das erste
Tutorial installiert an diesem Punkt nun ein minimales Ubunutu. Ich habe
jedoch bereits ein bestehendes auf der externen Festplatte, welches ich
verwenden möchte.
Das zweite Tutorial chrootet nach dem Kopieren in die Installation (dies
macht das erste auch, nach dem installieren des minimalsystems).
Die Frage welche ich mir nun stelle ist, genügt es, wenn ich folgende
Ordner Kopiere?:
Jemand hier sagt, dass diese genügen (https://askubuntu.com/a/648548)
/etc
/var
/opt
/home
Ich vermute aber mal, dass ich auch noch die folgenden benötige?
/srv
/bin
/boot
/lib
/lib64
/sbin
/root
Kann ich nun einfach die obigen Ordner kopieren, in das ZFS-System
chrooten, GRUB installieren wie hier beschrieben:
1 | cd /tank/os/kubuntu1604
|
2 | $ mount --bind /dev dev
|
3 | $ mount --bind /proc proc
|
4 | $ mount --bind /sys sys
|
5 | $ mount --bind /run run
|
6 | $ chroot .
|
7 |
|
8 | # You are now in the new system. Your current "/" points to "/tank/os/kubuntu1604"
|
9 | # All the following commands will apply only to that system.
|
10 |
|
11 | $ update-grub
|
12 | Generating grub configuration file ...
|
13 | Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
|
14 | Found linux image: /boot/vmlinuz-4.4.0-31-generic
|
15 | Found initrd image: /boot/initrd.img-4.4.0-31-generic
|
16 | Found memtest86+ image: /os/kubuntu1604@/boot/memtest86+.elf
|
17 | Found memtest86+ image: /os/kubuntu1604@/boot/memtest86+.bin
|
18 | Found Ubuntu 16.04.1 LTS (16.04) on /dev/sda1
|
19 | done
|
20 |
|
21 | $ grub-install /dev/sda # Note: This should be your root disk (not partition!)
|
22 | Installing for i386-pc platform.
|
23 | Installation finished. No error reported.
|
24 |
|
25 | $ exit
|
26 | $ reboot
|
Bzw. ich muss nach erstem Tutorial vorgehen und GRUB ins UEFI
installieren:
https://openzfs.github.io/openzfs-docs/Getting%20Started/Ubuntu/Ubuntu%2020.04%20Root%20on%20ZFS.html#step-5-grub-installation
Was meint ihr?
Danke schonmal :)