Hetzner - DokuWiki
FreeBSD manuell installieren
Inhaltsverzeichnis |
Voraussetzungen
Da unsere neuen 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 leider 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
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.
Installation starten
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://people.freebsd.org/~mm/mfsbsd/) FreeBSD installieren. Bitte beachten Sie, dass Sie die richtige Datei auswählen (aktuell 8.2-release-i386.tbz oder 8.2-release-amd64.tbz 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.
Bitte beachten Sie dass Sie die Server ihres eigenen Subnetzes nicht direkt erreichen können, sondern die Pakete immer zum Gateway schicken müssen. Der entsprechende Routing-Eintrag kann beispielsweise über folgendes Startskript erreicht werden:
#!/bin/sh
#
# script which sets default gateway for own subnet
# should be placed into /etc/rc.d
#
# PROVIDE: hetznernet
# REQUIRE: NETWORKING
. /etc/rc.subr
name="hetznernet"
rcvar=`set_rcvar`
start_cmd="${name}_start"
stop_cmd=":"
load_rc_config $name
eval "${rcvar}=${${rcvar}:-'YES'}"
hetznernet_start()
{
echo "Setting gateway for own subnet"
route del -net 176.9.43.96 -netmask 255.255.255.224 >/dev/null 2>&1
route add -host 176.9.43.97 -interface re0 >/dev/null 2>&1
}
run_rc_c

