Einführung
Hetzner bietet kein FreeBSD-Rettungssystem mehr an. Für dedizierte Server mit vollständiger UEFI-Unterstützung gibt es eine Anleitung zur Installation von FreeBSD mit OpenZFS von einem Linux-Rettungssystem aus. Für ältere Server mit nur minimaler UEFI-Unterstützung, die einen Legacy-BIOS-Boot benötigen, gibt es eine alternative Installationsmöglichkeit für FreeBSD.
Voraussetzungen
- Der dedizierte Hetzner-Server ist im Linux-Rettungsmodus gestartet, der SSH-Zugriff funktioniert.
- IPv6-Netzwerkkonfigurationsparameter
Schritt 1 – Laden Sie das FreeBSD-Distributionsarchiv herunter
Laden Sie base.txz und kernel.txz von FreeBSD herunter:
curl -O http://ftp2.de.freebsd.org/pub/FreeBSD/releases/amd64/14.0-RELEASE/base.txz
curl -O http://ftp2.de.freebsd.org/pub/FreeBSD/releases/amd64/14.0-RELEASE/kernel.txzSchritt 2 – Laden Sie den VM-Container herunter und installieren Sie mfsBSD
Wir verwenden die virtuelle Maschine mfsBSD, um FreeBSD auf den Systemlaufwerken zu installieren.
ISO-Image herunterladen:
curl -O https://mfsbsd.vx.sk/files/iso/14/amd64/mfsbsd-14.0-RELEASE-amd64.isoSchritt 3 – Starten Sie die mfsBSD-VM aus dem ISO-Image
Die Serverfestplatten werden mithilfe von virtio als SCSI-Geräte an die VM übertragen.
Ersetzen Sie im folgenden Befehl /dev/nvme0n1 und /dev/nvme1n1 nach Bedarf:
qemu-system-x86_64 -net nic -net user,hostfwd=tcp::1022-:22 -m 2048M -enable-kvm \
-cpu host,+nx -M pc -smp 2 -vga std -k en-us \
-cdrom ./mfsbsd-14.0-RELEASE-amd64.iso \
-device virtio-scsi-pci,id=scsi0 \
-drive file=/dev/nvme0n1,if=none,format=raw,discard=unmap,aio=native,cache=none,id=n0 \
-device scsi-hd,drive=n0,bus=scsi0.0 \
-drive file=/dev/nvme1n1,if=none,format=raw,discard=unmap,aio=native,cache=none,id=n1 \
-device scsi-hd,drive=n1,bus=scsi0.0 \
-boot once=d -vnc 127.0.0.1:0,password=on -monitor stdioDer SSH-Dienst innerhalb der VM ist auf Port 1022 des Rettungssystems verfügbar.
Legen Sie ein VNC-Passwort fest, um den Zugriff auf VNC zu ermöglichen (optional).
Um eine VNC-Verbindung herzustellen, müssen Sie Port 5900 per SSH weiterleiten!
(qemu) set_password vnc mfsroot
(qemu) Schritt 4 – Kopieren Sie die Verteilungsdateien auf die VM
Führen Sie auf der Root-Shell des Linux-Rettungssystems folgenden Befehl aus:
scp -o Port=1022 base.txz kernel.txz root@localhost:Das Root-Passwort innerhalb der virtuellen Maschine lautet mfsroot.
Schritt 5 – Melden Sie sich in der VM an.
Verwenden Sie SSH, um sich von einer Shell auf dem Rettungssystem aus in die VM einzuloggen:
ssh -p 1022 root@localhostDas Passwort lautet mfsroot.
Prüfen Sie, ob die Laufwerke sichtbar sind:
dmesg | grep QEMU
cd0: <QEMU QEMU DVD-ROM 2.5+> Removable CD-ROM SCSI device
da0: <QEMU QEMU HARDDISK 2.5+> Fixed Direct Access SPC-3 SCSI device
da1: <QEMU QEMU HARDDISK 2.5+> Fixed Direct Access SPC-3 SCSI deviceSchritt 6 – FreeBSD installieren
Installieren Sie FreeBSD mit dem zfsinstall-Skript:
zfsinstall -d /dev/da0 -d /dev/da1 -r mirror -p zroot -s 16G -u .Dadurch wird FreeBSD auf dem ZFS-Pool zroot mit RAID-1 (Spiegelung) auf beiden Festplatten installiert, wobei jede Festplatte über 16 GB Swap-Speicher verfügt.
Das installierte FreeBSD-Root-Dateisystem wird unter /mnt eingebunden. Da wir die aktuelle Version von FreeBSD in der VM ausführen, können wir nun chroot verwenden, um die neue Installation zu konfigurieren:
mount -t devfs devfs /mnt/dev
chroot /mntSchritt 7 – FreeBSD konfigurieren
Sobald wir mit chroot eine Shell in der installierten FreeBSD-Umgebung ausgeführt haben, können wir die Konfiguration abschließen.
- Legen Sie ein Root-Passwort fest
passwd- Root-Anmeldung mit Passwort aktivieren
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config- Legen Sie den Hostnamen fest und aktivieren Sie sshd sowie unser neu erstelltes autodhcpd-Skript.
Erstellen Sie die Datei /etc/rc.conf mit folgendem Inhalt:
cat << EOF > /etc/rc.conf
zfs_enable="YES"
hostname="myhost.mydomain"
sshd_enable="YES"
EOFSchritt 8 – Netzwerkeinstellungen konfigurieren
Wenn Ihr Server eine Realtek-basierte Netzwerkkarte verwendet, lautet der Name Ihrer Schnittstelle höchstwahrscheinlich re0. Bei einer Intel-basierten Netzwerkkarte heißt sie em0 oder igb0. Im Zweifelsfall können Sie mithilfe von Google herausfinden, wie Ihre Netzwerkkarte unter FreeBSD heißt.
Fügen Sie die folgenden Zeilen zur Datei /etc/rc.conf hinzu:
cat <<EOF >>/etc/rc.conf
ifconfig_em0="192.168.0.2/27"
static_routes="gateway default"
route_gateway="-host 192.168.0.1 -interface em0"
route_default="default 192.168.0.1"
ifconfig_em0_ipv6="inet6 2a01:4f8:0:0::2/64"
ipv6_defaultrouter="fe80::1%em0"
EOFSchritt 9 – Reinigung
Verlassen Sie die chroot-Umgebung und hängen Sie die Dateisysteme aus.
exit
sync
umount /mnt/dev
umount /mnt/var
umount /mnt/tmp
umount /mntSie können die QEMU-VM herunterfahren oder den QEMU-Prozess beenden. Sobald alles eingerichtet ist, können Sie den Server in der FreeBSD-Distribution neu starten:
rebootErgebnis
تبریک می گویم! شما اکنون یک نصب FreeBSD دارید که به پشتیبانی کامل UEFI نیاز ندارد.









