Hetzner - DokuWiki
FreeBSD installieren
Inhaltsverzeichnis |
FreeBSD Voraussetzungen
Da unsere Switche in den Rechenzentren standardmäßig auf einen festen Speed/Duplex Wert von "100 MBit Full Duplex" gesetzt werden, kommt es bei älteren FreeBSD Versionen als 8.2 / 7.4 zu Inkompatibilitäten in der Aushandlung der Geschwindigkeit. Dies führt zu einem größeren Geschwindigkeitsverlust aufgrund von Duplex Mismatch. Ältere FreeBSD Versionen fallen in dieser Situation auf 100 MBit Half Duplex zurück und lassen sich leider auch nicht durch eine statische Konfiguration dazu bewegen 100 MBit Full Duplex zu fahren. Das Problem kann daher nur durch die Installation der neuesten Versionen behoben werden. Hier kann die Netzwerkkarte wie folgt fest auf 100Mbit Full Duplex konfiguriert werden:
ifconfig re0 media 100baseTX mediaopt full-duplex,flag0
FreeBSD 9.0 unterstützt zur Zeit nicht die Realtek 8168F Netzwerkkarte, die auf den Mainboards der neuerer EX4 Modelle vorhanden ist. Diese wird nur ab FreeBSD 8.3 und dem kommenden FreeBSD 9.1 unterstützt.
Für die Installation von FreeBSD benötigen Sie auf Ihrem Rechner folgende Software:
Rescue-System starten
Um FreeBSD auf Ihrem Server zu installieren, starten Sie bitte wie unter FreeBSD Rescue-System beschrieben das Rescue-System und melden Sie sich per SSH bei Ihrem Server an. Achten Sie vor der Installation darauf, dass Sie ein aktuelles Backup Ihres Servers vorliegen haben.
Automatische Installation
Um die Installation durchführen zu können, geben Sie bitte folgenden Befehl ein:
# installimage
Wählen Sie anschließend die gewünschten Optionen aus und starten Sie die Installation. Diese sollte nach wenigen Minuten abgeschlossen sein:
Hetzner Online AG - installimage
Your server will be installed now, this will take some time
You can abort at any time with CTRL+C ...
Deleting selected harddrive(s)... DONE
Creating a file system and extracting the image... DONE
Copying kernel... DONE
Configuring rc.conf... DONE
Configuring loader.conf... DONE
Enabling SSH login for root... DONE
Configuring resolv.conf... DONE
Congratulations! The configuration has been completed successfully.
You can now use 'reboot' to boot your newly installed FreeBSD system.
Nach der Installation können Sie nun Ihren Server neustarten:
# reboot
Wenige Minuten später sollte Ihr Server per SSH wieder erreichbar sein.
Manuelle Installation
Um die Installation durchführen zu können, müssen Sie zunächst festlegen, auf welche(n) Festplatte(n) Sie FreeBSD installieren möchten.
Eine Liste aller vorhandenen Festplatten erhalten Sie mit:
# ls -1 /dev/ad* /dev/da* /dev/twed* /dev/aacd* | grep -E '[a-z]{2}[0-9]+$'
/dev/da0
/dev/da1
Weitere Informationen zu den einzelnen Festplatten können Sie anschließend wie folgt erhalten:
# dmesg | grep da0 da0 at mpt0 bus 0 scbus0 target 0 lun 0 da0: <VMware Virtual disk 1.0> Fixed Direct Access SCSI-2 device da0: 320.000MB/s transfers (160.000MHz, offset 127, 16bit) da0: Command Queueing enabled da0: 20480MB (41943040 512 byte sectors: 255H 63S/T 2610C)
Installation auf ZFS
Anschließend können Sie mit Hilfe des "zfsinstall"-Scripts (das Teil von mfsBSD ist - siehe auch http://mfsbsd.vx.sk/) FreeBSD installieren. Bitte beachten Sie, dass Sie die richtige Datei auswählen (aktuell 8.2-RELEASE i386.iso oder 8.2-RELEASE amd64.iso bei einer AMD CPU):
# zfsinstall -d da0 -d da1 -t /nfs/mfsbsd/8.2-release-i386.tbz -s 4G
Notice: two drives selected, automatically choosing mirror mode
Creating GUID partitions on da0 ... done
Configuring ZFS bootcode on da0 ... done
=> 34 41942973 da0 GPT (20G)
34 128 1 freebsd-boot (64K)
162 8388608 2 freebsd-swap (4.0G)
8388770 33554237 3 freebsd-zfs (16G)
Creating GUID partitions on da1 ... done
Configuring ZFS bootcode on da1 ... done
=> 34 41942973 da1 GPT (20G)
34 128 1 freebsd-boot (64K)
162 8388608 2 freebsd-swap (4.0G)
8388770 33554237 3 freebsd-zfs (16G)
Creating ZFS pool tank on da0p3 da1p3 ... done
Creating tank partitions: root usr var tmp ... done
Setting bootfs for tank to tank/root ... done
NAME USED AVAIL REFER MOUNTPOINT
tank 218K 15.6G 18K none
tank/root 18K 15.6G 18K legacy
tank/tmp 18K 15.6G 18K legacy
tank/usr 18K 15.6G 18K legacy
tank/var 18K 15.6G 18K legacy
Mounting tank on /mnt ... done
Extracting FreeBSD distribution ... done
Writing /boot/loader.conf... done
Writing /etc/fstab... done
Copying /boot/zfs/zpool.cache ... done
Installation complete.
The system will boot from ZFS with clean install on next reboot
You may type "chroot /mnt" and make any adjustments you need.
For example, change the root password or edit/create /etc/rc.conf for
for system services
Hinweis: Falls auf Ihrem Server bereits ein anderes Betriebssystem installiert war, werden Sie ggf. gefragt, Ihre Partitionstabelle zu löschen:
Error: /dev/da0 already contains a partition table.
=> 34 41942973 da0 GPT (20G)
34 128 1 freebsd-boot (64K)
162 8388608 2 freebsd-swap (4.0G)
8388770 33554237 3 freebsd-zfs (16G)
You may erase the partition table manually with the destroygeom command
Dies können Sie mit Hilfe des "destroygeom"-Befehls erreichen:
# destroygeom -d da0
Destroying geom da0:
Deleting partition 1 ... done
Deleting partition 2 ... done
Deleting partition 3 ... done
Installation auf UFS
Optional: Wenn Sie FreeBSD auf einem Software-RAID-1 installieren möchten, können Sie nun mit GEOM einen entsprechenden Mirror anlegen (in diesem Fall werden die beiden Festplatten /dev/da0 und /dev/da1 verwendet):
# gmirror label -vb round-robin gm0 da0 # gmirror load # gmirror insert gm0 da1
Wenn Sie RAID-1 verwenden, müssen Sie nun in den folgenden Schritten der Installationsanleitung /dev/mirror/gm0 statt /dev/daX verwenden.
Da es mit "sysinstall" leider nicht möglich ist, Partitionen und Labels anzulegen, sofern es nicht als init-Prozess gestartet ist (was im Rescue-System nicht der Fall ist), muss die Festplatte zunächst entsprechend mit einem Disk-Label versehen werden:
# fdisk -BI /dev/ad0
Die Fehlermeldung bezüglich GEOM können Sie an dieser Stelle ignorieren.
# bsdlabel -wB /dev/ad0s1 # bsdlabel -e /dev/ad0s1
Beispiel-Label (4GB swap-Slice, Rest für /):
# /dev/ad0s1: 8 partitions: # size offset fstype [fsize bsize bps/cpg] a: * 16 4.2BSD 0 0 b: 4G * swap 0 0 c: * 0 unused 0 0 # "raw" part, don't edit
Anschließend müssen Sie ein Dateisystem auf den soeben angelegten Slices erstellen:
# newfs -U /dev/ad0s1a /dev/ad0s1a: 148531.3MB (304192160 sectors) block size 16384, fragment size 2048 using 809 cylinder groups of 183.77MB, 11761 blks, 23552 inodes. super-block backups (for fsck -b #) at: 160, 376512, 752864, 1129216, 1505568, 1881920, 2258272, 2634624, 3010976, [...]
Für den Fall, dass Sie - abgesehen von dem swap-Slice - weitere Slices definiert haben, müssen diese auch entsprechend formatiert werden.
Mounten Sie die Slices anschließend unterhalb von /mnt:
# mount /dev/ad0s1a /mnt
Starten Sie anschließend das FreeBSD-Installations-Programm:
# sysinstall
Wählen Sie dann im Hauptmenü die Option "Custom" (die beiden anderen Installationstypen werden nicht funktionieren.) und bearbeiten Sie die Optionen.
Geben Sie als "Install Root" den Mount-Pfad (/mnt) und als Release-Namen einen Wert aus der untenstehenden Tabelle ein und bestätigen Sie die Optionen mit der Taste "q".
Die Menüpunkte "Partition" und "Label" können Sie überspringen und direkt mit dem Punkt "Distributions" weitermachen. Wählen Sie hier die "Minimal"-Distribution aus und bestätigen Sie die Auswahl mit "OK".
Die Frage nach der Netzwerk-Konfiguration können Sie mit "Yes" bestätigen.
Führen Sie anschließend über den Menüpunkt "Commit" die Installation durch. Nach der Installation werden Sie gefragt, ob Sie das Konfigurationsmenü anzeigen möchten. Beantworten Sie diese mit "No".
Beenden Sie anschließend "sysinstall".
Konfiguration
Nachdem die Basis-Installation abgeschlossen ist, müssen Sie noch einige Konfigurationsdateien anpassen, bevor Sie Ihr neues FreeBSD-System zum ersten Mal starten können.
Verwenden Sie hierzu das "bsdconfig"-Tool:
# bsdconfig Welcome to the Hetzner configuration tool for FreeBSD. Hostname: freebsd.hetzner.de Changing local password for root New Password: Retype New Password: Configuring rc.conf... DONE Enabling SSH login for root... DONE Configuring resolv.conf... DONE Congratulations! The configuration has been completed successfully. You can now use 'reboot' to boot your newly installed FreeBSD system.
Nachdem Sie die Konfiguration abgeschlossen haben, können Sie nun Ihren Server neustarten:
# reboot
Wenige Minuten später sollte Ihr Server per SSH wieder erreichbar sein.
Netzkonfiguration
Bitte beachten Sie dass Sie die Server ihres eigenen Subnetzes nicht direkt erreichen können, sondern die Pakete immer über das Gateway schicken müssen.
IPv4
Der entsprechende Routing-Eintrag kann im /etc/rc.conf definiert werden:
gateway_if="re0" gateway_ip="176.9.X.Y" static_routes="gateway default" route_gateway="-host $gateway_ip -interface $gateway_if" route_default="default $gateway_ip"
Wichtig: bei dieser Konfiguration darf "defaultrouter" nicht verwendet werden!
IPv6
Für die Konfiguration von IPv6 genügt es das default Gateway fe80::1 explizit anzugeben.
ipv6_default_interface="re0" ifconfig_re0_ipv6="2a01:4f8:XX:YY::1:1/64" # set a static local interface-route ipv6_defaultrouter="fe80::1%re0"
Zusätzliche IP-Adressen einrichten
Die Einrichtung von zusätzlichen IP-Adressen oder eines Subnetzes unter FreeBSD erschöpft sich in Alias-Einträgen in der /etc/rc.conf. Dabei wird die jeweils erste IP-Adresse für jedes neue Subnetz (d.h. auch wenn die Zusatz-IP in einem anderem Subnetz als die Haupt-IP ist) mit der richtigen Netzmaske eingetragen, die weiteren im gleich Subnetz mit /32 (255.255.255.255)
ifconfig_<interface>_alias0="inet <ipadresse1> netmask 255.255.255.248" ifconfig_<interface>_alias1="inet <ipadresse2> netmask 255.255.255.255" usw.
