FreeBSD auf Server4You root Server

reakktor

Well-Known Member
Aloha zusammen

hier eine Anleitung, wie man FreeBSD 7.x/8.x auf einem Server4You-Server (root-server) installieren kann. Ich möchte mich nicht mit fremden Lorbeeren schmücken - die originale Anleitung ist unter:

http://wp.lando.cc/blog/2008/07/11/depenguinator-20-auf-s4y-server/

zu finden. Thnx Lando!

Anbei ein wikimedia-formatierter Artikel des ganzen, passend mit für 7.x/8.x funktionierenden Ergänzungen von meiner Seite aus.

Kommentare sind natürlich willkommen.

Ich wäre erfreut, wenn sich einer der BSDForen-Wiki-Admins diesem Thema annehmen könnte.
Ich habe zu wenig Erfahrung mit Wikis und Web.Präsentationen, um selbst etwas für die Verbreitung zu tun.

Wiki-Code:

Code:
=Depenguinator 2.0 auf S4Y-Server=

Server4You ist wohl einer der Anbieter, die dedizierte Server fuer relativ wenig Geld unters Volk bringen. Leider hat man dort nur die Wahl zwischen Linux und ggf. einem Windows. Da das fuer mich eigentlich mitlerweile keine wirklich schoene Option mehr ist, habe ich mich mal eine Weile umgesehen. So einfach ist es nicht dort ein FreeBSD zu installieren, da das RescueSystem nicht einfach ist und Zugriff auf eine Konsole hat man bei S4Y auch nicht inklusive.

Es gibt jedoch eine Moeglichkeit um auch hier ein FreeBSD zu installieren. In frueheren Zeiten (FreeBSD5) konnte man das mit dem Depenguinator 1 erledigen - mit aktuellen FBSDs funktioniert das jedoch nicht mehr. Mitlerweile gibt es einen Nachfolger: Depenguinator 2.0. Mit ihm ist es moeglich ein FreeBSD so in eine RAM-Disk zu legen, dass man dies booten und dann mit der Installation weiter machen kann.

Zunaechst mal braucht man also einen dedizierten Server4You-Server (keinen VServer), weiterhin etwas FreeBSD-Know How und natuerlich Geduld und ein bisschen Frickelwillen. Die Anleitung unter http://www.daemonology.net/blog/2008-01-29-depenguinator-2.0.html hilft zwar schon viel weiter, aber so ganz hat es bei mir damit dann doch nicht funktioniert.

Weiterhin sollte man beim Anmieten bereits darauf achten, dass entweder Debian oder Ubuntu vorinstalliert sind. Dies macht das ganze leichter, wie man in den folgenden Abschnitten sieht.


===Installation der benötigten Tools===

Auf dem mir zur Verfügung stehenden Server war ein Debian am Laufen. Daher werden mittels aptitude folgende Pakete nachinstalliert:

 aptitude install curl bsdtar libc6-dev zlib1g-dev


===Depenguinator 2 besorgen===

Nachdem man nun alle Voraussetzungen geschaffen hat, organisiert man sich das Archiv mit dem Depenguinator 2.

 curl http://www.daemonology.net/depenguinator/depenguin-2.0.tar.gz > depenguin-2.0.tar.gz

Wenn man das hat, sollte man noch schauen, ob die Checksumme (aa5d98dd3998545600f5af1d406196832ef8bea59cb022bc3a5efb303ac57cf7) stimmt:

 sha256sum depenguin-2.0.tar.gz

Wenn dies alles stimmt, kann man dazu uebergehen das Archiv auszupacken. Dazu genuegt ein einfaches:

 tar -xzf depenguin-2.0.tar.gz


===Konfigurieren des Entpinguisierers===

Man sollte erstmal in das zuvor erstellte Verzeichnis wechseln:

 cd depenguin-2.0

Hier kann man nun mit einem:

 mv depenguinator.conf.dist depenguinator.conf

die Beispielkonfiguration umbenennen. Wenn das erfolgt ist, oeffnet man sie in einem Editor seiner Wahl - z.B.:

 nano depenguinator.conf

Hier finden sich folgende Werte, die man entsprechend seines Systemes anpassen muss. Die entsprechenden Werte finden sich z.B. in /etc/network/interfaces und /etc/resolv.conf- je nachdem, welche Distribution man hat. Die Mac-Adresse bekommt man mit einem Aufruf von ifconfig heraus. Die einzige Sache, bei der ich mir nicht sicher war, ist der depenguinator_interfaces=”external”-Eintrag. Diesen kann man einfach so lassen. Man muss einfach nur alle anderen Werte korrekt ausfüllen.


===FreeBSD7-CD herunterladen===

Da man nun soweit ist mit konfigurieren, kann man dazu uebergehen eine FreeBSD-Installations-CD herunterzuladen.

 curl ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/7.0/7.0-RELEASE-i386-disc1.iso > disc1.iso


===SSH-Key erstellen===

Da man sich auf dem spaeter laufenden FreeBSD nicht per Passwort, sondern mit einem Key einloggt, erstellt man noch mit:

 ssh-keygen -t rsa

die notwendigen Dateien - ein Passwort anzugeben ist dabei nicht notwendig. Dies legt die Dateien id_rsa und id_rsa.pub in ~/.ssh/ ab. Die id_rsa-Datei sollte man sich noch kopieren (runter von dem Server, am besten lokal auf den eigenen Rechner) - die braucht man später noch.


===Image erstellen und installieren===

Um das noetige Image zu erstellen, benutzt man das beiliegende Script. Dies ruft man mit einem:

 sh -e makeimage.sh disc1.iso 7.0-RELEASE ~/.ssh/id_rsa.pub

auf.

Um nun das erstelle Image zu benutzen, muss zunächst der Swap des noch installierten Linux abgeschaltet werden. Dazu genügt ein einfaches:

 swapoff -a

Nun kommt der böse Teil der Geschichte. Als Ablage für das FreeBSD nutzt man den nun freigewordenen Platz (ehemals Swap). Mit dd kann man dort einfach das Image ablegen:

 dd if=disk.img of=/dev/sda2

Hierbei sollte man natürlich sicherstellen, dass /dev/sda2 auch das swap-Device war. Das bekommt man am einfachsten heraus, wenn man mal in /etc/fstab schaut.


===Grub-Config anpassen===

Nun hat man auf sda2 ein bootfähiges FreeBSD liegen. Was nun noch fehlt ist der Eintrag im Bootloader. Hierzu schreibt man einfach ans Ende von ''/boot/grub/menu.lst'':

 ''title FreeBSD''
 ''root (hd0,1)''
 ''makeactive''
 ''chainloader +1''

Weiterhin muss man den Eintrag default der Datei ''/boot/grub/menu.lst'' auf den entsprechenden Wert setzen. Da man jetzt 3 Einträge im Menue hat, muss man den default-Wert also auf 2 setzen (Grub faengt bei 0 an zu zaehlen).


===Fdisk und reboot===

Nun fehlt nur noch ein Schritt. Das wäre das Setzen von sda2 auf den Partitionstyp FreeBSD. Dazu startet man:

 fdisk /dev/sda

Hier drückt man nun ''t'', dann die ''2'' und als Code nimmt man ''a5'' - damit hat man den Partitionstyp von SWAP auf FREEBSD geändert. Nachdem man dies bestätigt hat, schreibt man mit ''w'' die Partitionstabelle. Wenn das alles geschehen is, kann man Daumen drücken und rebooten.

Nun sollte die Kiste wieder da sein und man kann mit ssh -i id_rsa root@SERVER auf den Server verbinden - fertig.


=Installation des Systems=

Nachdem ich im vorherigen Abschnitt beschrieben habe, wie man den Depenguinator auf einem S4Y-Server einsetzt, fehlt nun nur noch die eigentliche FreeBSD-Installation.

Nachdem man das System depenguiniert hat, kann man sich mit ssh wieder auf die Kiste verbinden. Hierzu brauchen wir wieder das Keyfile, dass wir in der vorherigen Anleitung angelegt haben.

 ssh -i id_rsa root@SERVER


===Slicen, partitionieren und formatieren===

Nachdem wir nun eingeloggt sind, steht uns ein FreeBSD7 zur Verfuegung, dass aus einer RAM-Disk laeuft. Man kann also gefahrlos die Platte bearbeiten. Zunaechst erstellt man auf der Festplatte einen grossen Slice, der die gesamte Festplatte benutzt:

 fdisk -I /dev/ad4

Nun sollte man das Device ad4s1 erhalten haben. Dort drin erstellen wir die Grundkonfiguration mittels:

 bsdlabel -w /dev/ad4s1

Dies erzeugt eine Partition in dem Slice, welche den gesamten Slice ausfuellt. Da dies aber nicht so ganz Sinn und Zweck meiner Veranstaltung ist, aendere ich das. Da mir aber vi als Editor immer nicht gefaellt, benutze ich ee:

 setenv EDITOR ee

Das eigentliche Editieren des Labels passiert mit:

 bsdlabel -e /dev/ad4s1

Eigentlich reicht eine Partition mit 4Gbyte Groesse fuer Grundsystem und Kernel. Nur fuer /usr sollte man entsprechend mehr nehmen - die Partitionierung sollte sich aber dennoch jeder selber ueberlegen. Da ich ein FreeBSD7amd64 verwende und auch ZFS (das kommt dann auf ad4s1d), sieht mein label wie folgt aus:

 ''# /dev/ad4s1:
 ''8 partitions:
 ''#      size       offset    fstype   [fsize bsize bps/cpg]
 ''a:  8388608       16        4.2BSD    0     0     0
 ''b:  8388608       8388624   swap
 ''c:  312581745     0         unused    0     0         # “raw” part, don’t edit
 ''d:  295804513     16777232  unused    0     0

Nachdem dies nun erledigt ist, kann man mit

  newfs /dev/ad4s1a

das Dateisystem erzeugen.


===Grundsystem und Kernel installieren===

Leider funktioniert sysinstall nicht so recht, daher eine manuelle Installation. Zunaechst sollte man die zuvor erstellen Partitionen mounten:

 mount /dev/ad4s1a /mnt

Ein Verzeichniswechsel hat auch Vorteile, also noch schnell ein cd /mnt. Um das FBSD zu installieren, braucht man erstmal die Installationspakete. Diese gibt es z.B. unter:

 ftp://ftp3.de.freebsd.org/pub/FreeBSD/releases/amd64/7.0-RELEASE/

Zur Installation reichen die Ordner ''base'' und ''kernels''. Ich habe diese zuvor auf meinen Rechner geladen und dann mit scp auf den depenguinierten Server geladen. Eine Moeglichkeit ist also z. B. auf dem S4Y-Server ein scp auszufuehren:

 scp -r lando@Heimrechner:~lando/FBSD7amd64/ .

Dann hat man einen Ordner ''FBSD7amd64'', der auf ''/mnt'' liegt. Als Unterordner sollten dort ''base'' und ''kernels'' enthalten sein. Um das Grundsystem zu installieren, brauchen wir aber noch etwas mehr als nur die Installationdateien. Damit das Script weiss, wo es den Kram hininstallieren soll, muessen wir noch eine Umgebungsvariable setzen:

 setenv DESTDIR /mnt

Das Grundsystem installiert man jetzt mit:

 cd /mnt/FBSD7amd64/base/ && sh install.sh

Die dabei kommende Nachfrage beantwortet man mit ''y''. 

Als naechstes die Kernelinstallation:

 cd /mnt/FBSD7amd64/kernels/ && sh install.sh GENERIC

Hierbei sollte fuer gewoehnlich keine Nachfrage kommen, sondern einfach die Installation durchlaufen.


===Konfiguration des neuen Systems===

Die Installation ist mitlerweile geschafft, nun muss nur noch ein bisschen Hand an die Konfiguration gelegt werden. Diese besteht daraus: ''rc.conf'', ''fstab'', ''resolv.conf'', ''loader.conf'' und ''sshd_config'' editieren.


====rc.conf (''/mnt/etc/rc.conf'')====

In der ''rc.conf'' sollten einige Werte eingetragen werden. Wichtig ist hier die Netzwerkkonfiguration und das ssh starten. Meine rc.conf sieht dann so aus:

 hostname=”fulda109.server4you.de”
 defaultrouter=”62.75.219.1″
 ifconfig_rl0=”inet 62.75.219.90 netmask 255.255.255.0 broadcast 62.75.219.255″
 sshd_enable=”YES”

Hierbei ist darauf zu achten, dass man die richtige Netzwerkkonfiguration und vor allem das richtige Device nimmt. Das richtige Device bekommt man am einfachsten heraus, indem man ein ifconfig aufruft.

====fstab (''/mnt/etc/fstab'')====

Meine fstab enthaelt folgende Eintraege:

 /dev/ad4s1a             /               ufs     rw              1       1

Den swap werde ich erst spaeter dazu frickeln.

====resolv.conf (''/mnt/etc/resolv.conf'')====

In die ''resolv.conf'' traegt man den Nameserver seines Providers ein. Diesen entnimmt man am einfachsten aus ''/etc/resolv.conf'' und traegt ihn dann in ''/mnt/etc/resolv.conf'' ein. In meinem Fall also:

 nameserver 85.25.128.10
 sshd_config (/mnt/etc/ssh/sshd_config)

Damit ich mich auf dem spaeter neustartenden Server wieder einloggen kann, erlaube ich einfach den root-Login und den Login OHNE Passwort - ACHTUNG! DAS IST GEFAEHRLICH!. Dies muss man spaeter wieder zurueckaendern um eine minimale Systemsicherheit zu gewaehrleisten. Man muss also in ''/mnt/etc/ssh/sshd_config'' folgende Zeilen finden:

 #PermitRootLogin no
 #PermitEmptyPasswords no

Diese aendert man auf:

 PermitRootLogin yes
 PermitEmptyPasswords yes

Nun sollte ein Login mit einem leeren Passwort moeglich sein.

Da auch FreeBSD immer sicherer wird, funktioniert das aber nicht immer, grade wenn man sich neuerere Releases installiert hat.

Darum sollte man unter ''/mnt/root/.ssh/authorized_keys'' seinen vorher erzeugten public-key eintragen. Eventuell reicht dazu ein

 cp /root/.ssh/authorized_keys /mnt/root/.ssh/authorized_keys

Dieser Schritt ist sehr wichtig, falls beim Login doch ein Passwort verlangt wird - sonst ist man ausgesperrt und die ganze Arbeit bisher war umsonst, da dann nur ein Rücksetzen des gesamten Servers hilft.

====loader.conf (''/mnt/boot/loader.conf'')====

Da wir einen GENERIC Kernel installiert haben und dieser nicht einfach in ''/boot/kernel'' liegt, muessen wir dem System sagen, wo der Ordner ist, aus dem er den Kernel holen soll. Dies editiert man in ''/mnt/boot/loader.conf'':

 kernel=”GENERIC”

Hat man später ein lauffähiges System und einen eigenen Kernel gebacken+installiert, kann der Eintrag aus der dortigen ''/boot/loader.conf'' wieder weggenommen werden.


===System bootbar machen===

Die Installation ist fertig, die Grundkonfiguration auch. Nun fehlt nur noch, dass das System bootbar wird. Fuer diesen Schritt habe ich am laengsten gebraucht, bis ich eine funktionierende Loesung zusammen gefrickelt hatte - ohne serielle Konsole beim Provider ist das ganze auch garnicht so einfach. Mit folgenden Befehlen schreibt man nun den Bootloader und Bootmanager:

 fdisk -B -b /mnt/boot/boot0 /dev/ad4

Die Fragen, die fdisk hier stellt, beantwortet man beide mit y. Der zweite Befehl fehlt nun noch:

 bsdlabel -B /dev/ad4s1

Rebooten und hoffen. Vielleicht lieber alles nochmal checken vor dem Reboot....

Danke ans FreeBSD-Projekt.

greetz
reakktor
 
Kann man auch unter einem debian-5.0-amd64-minimal freebsd installieren ?
Geht das wenn ja wie oO ?
Bitte um hilfe .



Fg euer xPhinix
 
Hat das einer geschafft? Bei mir funktioniert es jetzt nach mehrmaligen Anläufen nicht.
Ich habe das ganze mit der 7.0-RELEASE probiert, wie beschrieben.
Kann es am 64bit liegen?
Ich hätte wirklich gerne FreeBSD auf dem Server. Ich habe schon mit dem Support gesprochen. Keine vkvm und auch keine "Install-CD ins Laufwerk" möglich :(
 
Ich würde euch in jedem Fall "mfsbsd" empfehlen. Das Image oder das Script zum Selberbauen lädt ihr euch von http://mfsbsd.vx.sk/ herunter und füttert es mit den Netzwerkeinstellungen eures Servers. Das schreibt ihr aus dem hoffentlich vorhandenen Rescuesystem heraus mit dd(1) auf die Platte und startet neu. Idealerweise meldet die Maschine sich und ihr landet in einem komplett im RAM laufenden System, aus dem ihr die Kiste installieren könnt. Vielleicht klappts ja so.
 
Super Yamagi, danke für die schnelle Antwort!
Das schaue ich mir sofort an.

Ein Rescuesystem gibt es zum Glück. Allerdings (was ich sehr seltsam finde) lässt sich nach dem man sich für ein OS entschieden hat, die Auswahl nicht mehr ändern. Man muss also den Support bitten. Und das kostet nur in den ersten 30 Tagen nichts, danach verlangen die für das Umstellen des "Templates" 39 (!) Euro.

Bei Hetzner war es kein Problem FreeBSD auf einem Rootserver (HQ4) zu installieren, aber bei den Preisen von Server4you verstehe ich schon irgendwie dass die sich nicht die Mühe machen (http://www.server4you.de/root-server/ecoserver.php).
 
Also ich habe es mit dem mfsbsd probiert. Leider bekomme ich vom Server keine Antwort. Habe schon verschiedene Einstellungen probiert. (8.1-RELEASE-amd64)

Im Rescuesystem wird folgendes angezeigt
[ 10.232432] forcedeth: Reverse Engineered nForce ethernet driver. Version 0.64.
[ 10.232483] forcedeth 0000:00:07.0: setting latency timer to 64
[ 10.312563] forcedeth 0000:00:07.0: ifname eth0, PHY OUI 0x732 @ 3, addr 00:25:22:15:3d:73
[ 10.312575] forcedeth 0000:00:07.0: highdma pwrctl mgmt gbit lnktim msi desc-v3
[ 15.310016] forcedeth 0000:00:07.0: irq 27 for MSI/MSI-X
[ 25.920869] eth0: no IPv6 routers present

Ich denke mal dass die Netzwerkkarte unter FreeBSD dann als nfe0 erkannt wird. Obwohl mfsbsd auch eine Erkennung über die MAC-Adresse beherrschen soll.

Kann es sein, dass die Netzwerkkarte von FreeBSD nicht erkannt wird?
 
mfsBSD macht standardmässig DHCP auf allen Interfaces. Da sind Namen erst mal Schall und Rauch. Und ein nfeX (also NForce Ethernet) wird sauber unterstützt, das kann's nicht sein...
 
Kann mir vielleicht jemand helfen? Ich überlege den Server, wenn das nicht klappt, innerhalb der 30 Tage zurück zu geben.
Was bringen eigentlich die fertigen Images auf der mfsbsd Seite? Kann man die direkt per dd auf /dev/sda laden?

reakktor: hast du das mit deinem Weg ohne Probleme geschafft?
 
daiv: Nein. Die auf [http://mfsbsd.vx.sk] verlinkten ISO Images kannst du direkt auf CDs brennen. Wenn du ein Image für dd haben willst musst du dir den Tarball laden und selbst eins erstellen.

Geheimtipp: Wie es geht steht im README.
 
Danke Crest. Die Readme habe ich natürlich gelesen. Auch diesen Artikel hier: http://www.freebsd.org/doc/en/articles/remote-install/article.html

Ich komme nicht weiter. Habe schon DHCP versucht. Verschiedene Interface Namen und die MAC-Adresse von ext1 tausend mal kontrolliert. Die Erstellung des Images (35M) funktioniert auch immer wunderbar. Ich lade es auch immer mit scp problemlos hoch. Aber er startet es einfach nicht :(

linterfaces.conf (x.x.x.x = IP)
# mac_interfaces should be a user-defined list of virtual interface names.
mac_interfaces="ext1"

# ifconfig_FOO_mac should be the MAC address of interface FOO
ifconfig_ext1_mac="00:25:22:15:3d:73"

# ifconfig_FOO should be configured like the real interface behind FOO
# for more information, see ifconfig(8)
ifconfig_ext1="inet x.x.x.x/24"

loader.conf (im Moment so, allerdings schon verschiedene Einstellungen probiert)
# Set all auto-detected interfaces to DHCP
#mfsbsd.autodhcp="YES"
#
# Define a new root password
#mfsbsd.rootpw="foobar"
#
# Add additional nameservers here
mfsbsd.nameservers="85.25.128.10 85.25.255.10"
#
# Change system hostname
mfsbsd.hostname="xxx.server4you.de"
#
# List of interfaces to be set
#mfsbsd.interfaces="eth0 em0 em1"
#
# Individual configuration of each interface
#mfsbsd.ifconfig_em0="DHCP"
#mfsbsd.ifconfig_em1="DHCP"
#mfsbsd.ifconfig_eth0="DHCP"
#
# List of special interfaces to be created
#mfsbsd.cloned_interfaces=""
#
# List of mac_interfaces (see interfaces.conf.sample)
#mfsbsd.mac_interfaces="nfe0"
#mfsbsd.ifconfig_eth0_mac="00:25:22:15:3d:73"
#mfsbsd.ifconfig_eth0="inet x.x.x.x/24"
#
# Default router
mfsbsd.defaultrouter="x.x.x.x"
#
# List of static routes and their definitions
#mfsbsd.static_routes="r1 r2"
#mfsbsd.route_r1="-net 192.168.2 192.168.1.1"
#mfsbsd.route_r2="-net 192.168.3 192.168.1.1"

#
# Do not change anything here until you know what you are doing
#
geom_uzip_load="YES"
mfs_load="YES"
mfs_type="mfs_root"
mfs_name="/mfsroot"
tmpfs_load="YES"
zfs_load="YES"
vfs.root.mountfrom="ufs:/dev/md0"

rc.conf (auch schon verschiedene Einstellungen probiert)
# Set this to any desired hostname
hostname="xxx.server4you.de"
#
# You need a gateway defined for a working network setup
defaultrouter="x.x.x.x"
#
# You may configure a network interface here, you may use "DHCP" as well
#ifconfig_nfe0="inet x.x.x.x netmask 255.255.255.0"
#ifconfig_nfe0="DHCP"
#ifconfig_eth0="DHCP"
#
# Set the size of your memory var and tmp filesystems
varmfs="YES"
varsize="64m"
#
# Change the values below only if you know what you are doing!
#
sshd_enable="YES"
sendmail_enable="NONE"
cron_enable="NO"
 
Ich bin leider noch nicht weiter gekommen. Hat noch einer eine Idee? Oder hat es einer denn mit mfsbsd geschafft?
 
Ich hab das nach einem anderen HowTo gemacht, aber die sind sich sehr änlich. Nach dem depenguisieren kann ich nicht mehr connecten, habe es schon über 10x auf Ubuntu und Debian versucht. Der Root ist auch einer von Server4you... Mir tut echt schon der Kopf davon weh, ist keiner weiter?
 
Ich habe allerdings nicht vor irgendeinen Gameserver oder so etwas laufen zu lassen. Nicht dass es zu Missverständnissen kommt. Also wenn einer noch eine Idee hat wäre ich dankbar. Auch per PM möglich.
 
Wenn ich mich recht entsinne gab/gibt es einen Bug, so dass man beim nfe0 erst per ifconfig
down/up die Karte in einen funktionierenden Zustand bringen muss, was natuerlich auch per rc.conf geht.
 
Unglaublich! Das wars. Jetzt läufts. Ich habe tatsächlich mfsbsd am laufen! Tausend Dank cnuke und an alle anderen! Ich wollte mich schon mit Debian abfinden.
 
Ich wollte nur zusammenfassend sagen, dass sich es gelohnt hat hartnäckig zu bleiben. FreeBSD ist jetzt auf dem Server4you Server. Es hat zwar ein bisschen gedauert bis ich es mit ZFS zum laufen gebracht habe, aber jetzt läuft er!

Also noch einmal ein herzliches Dankeschön an alle die mir geholfen haben. Wenn ich jemanden helfen kann, zögert nicht mir zu schreiben.

Allerdings denke ich dass es z. B. im Falle eines Fehlers problematisch wird auf das System zuzugreifen, da es ja jetzt kein Rescuesystem mehr gibt bzw. der Zugriff von dem Linuxsystem wahrscheinlich nicht ohne weiteres möglich ist. Da ich aber Jails verwende die ich jede Nacht sichere (extern) dachte ich mir, im aller schlimmsten Fall, lade ich mir erneut mfsbsd und installiere ein frisches System und hole mir dann die Jails zurück.

Wem das zu blöd ist, sollte zu Hetzner gehen. Die haben ein Rescuesystem mit mfsbsd. Dort bin ich mit einem weiteren Server und sehr zufrieden.

Vielleicht hilft es ja dem ein oder anderen wenn ich kurz schildere wo ich nach dem ich mfsbsd zum laufen gebracht habe stecken geblieben bin:

Ich habe diese Anleitung benutzt: http://www.freebsd.org/doc/en_US.ISO8859-1/articles/remote-install/preparation.html

Statt
# dd if=/root/disk.img of=/dev/sda bs=1m

# dd if=/root/disk.img of=/dev/sda bs=1M
verwenden (großes M)

Bei dem Befehl
# dd if=/dev/zero of=/dev/ad0 count=2
in /dev prüfen welche Bezeichnungen eure HDDs haben. Bei mir warens ad4 und ad6.

Gmirror laden und je nach HDD-Bezeichnung in den eckigen Klammern statt 01 46 schreiben.
# fdisk -BI /dev/ad0
# fdisk -BI /dev/ad1
# bsdlabel -wB /dev/ad0s1
# bsdlabel -wB /dev/ad1s1
# bsdlabel -e /dev/ad0s1
# bsdlabel /dev/ad0s1 > /tmp/bsdlabel.txt && bsdlabel -R /dev/ad1s1 /tmp/bsdlabel.txt
# gmirror label root /dev/ad[01]s1a
# gmirror label var /dev/ad[01]s1d
# gmirror label usr /dev/ad[01]s1e
# gmirror label -F swap /dev/ad[01]s1b
# gmirror load
# newfs /dev/mirror/root
# newfs /dev/mirror/var
# newfs /dev/mirror/usr

Nach dem
das root-Passwort mit hilfe von passwd ändern!

Auch hier bitte die 01 ersetzen mit 46 (je nach HDD)
# zpool create tank mirror /dev/ad[01]s1f

Ach ja, und hier geht es weiter wenn man sich weiter mit ZFS beschäftigen möchte (z. B. /home "umziehen")

Hoffe das hilft dem ein oder anderen.
 
Zuletzt bearbeitet:
Was mir noch eingefallen ist. Besteht irgendwie die Möglichkeit das laufende System auf den Backup-FTP von Server4you zu spielen?
Also bevor ich mit Firewall Einstellungen spiele, erstelle ich ein Image und lade es auf den FTP. Falls wirklich etwas schief geht, kann ich über das Linux Rescuesystem das Image vom FTP auf die Platte mittels dd bügeln.
Hat einer eine Idee oder etwas ähnliches bereits realisiert?
 
Es besteht die Möglichkeit Snapshots anzulegen (ja auch UFS2 bietet Snapshots). Mein vorschlag wäre also folgendes: Lege einen Snapshot an. Ändere die Firewall regeln. Setze einen Cronjob, der die Firewall alle 5 Minuten deaktiviert via sysctl (IPFW) bzw. pfctl (PF). Mit IPFW gibt es die möglichkeit nur bestimmte Rulesets zu deaktivieren.
 
Danke Crest. Das mit der Firewall habe ich bereits über einen Cronjob gemacht. Allerdings bin ich mir mit dem Snapshot nicht sicher. Könnte ich ein Snapshot direkt als Image im Rescuesystem auf die Festplatte bügeln, oder müsste ich vorher wieder mit mfsbsd installieren und dann das Image wiederherstellen?
 
Ich wusste nicht ob ich einen neuen Thread anfangen soll, oder nicht. Es ist denke ich besser hier aufgehoben.

Zu meinem Problem. Ich habe ja wie hier bereits besprochen diesen Rootserver von Server4You. Installation FreeBSD hat ja nach langem hin und her und mit eurer Hilfe funktioniert. Leider bin ich mit der Geschwindigkeit überhaupt nicht zufrieden. Der Server arbeitet zwar manchmal recht flott, aber bei einem pkg_info z. B. lässt er sich manchmal echt Zeit. 1 Sekunde ungf. pro Zeile. Es läuft aber auch wieder mal durchaus schneller.
Dann benötigen Vervollständigungen (TAB) gefühlte 1-2 Sekunden.

Hat einer vielleicht eine Idee wo ich anfangen kann zu suchen.

top gibt mir das aus:
last pid: 96503; load averages: 0.00, 0.00, 0.00 up 4+19:42:54 10:07:46
105 processes: 1 running, 104 sleeping
CPU: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle
Mem: 367M Active, 171M Inact, 1343M Wired, 956K Cache, 392M Buf, 1804M Free
Swap: 4096M Total, 4096M Free

Daten des Servers:
CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 3400+ (1808.24-MHz K8-class CPU)
Origin = "AuthenticAMD" Id = 0x40fb2 Family = f Model = 4b Stepping = 2
Features=0x178bfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,MMX,FXSR,SSE,SSE2,HTT>
Features2=0x2001<SSE3,CX16>
AMD Features=0xea500800<SYSCALL,NX,MMX+,FFXSR,RDTSCP,LM,3DNow!+,3DNow!>
AMD Features2=0x1f<LAHF,CMP,SVM,ExtAPIC,CR8>
real memory = 4294967296 (4096 MB)
avail memory = 3845652480 (3667 MB)
ACPI APIC Table: <A_M_I OEMAPIC >
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
cpu0 (BSP): APIC ID: 0
cpu1 (AP): APIC ID: 1
ioapic0 <Version 1.1> irqs 0-23 on motherboard
kbd1 at kbdmux0
acpi0: <A_M_I OEMRSDT> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of fec80000, fecc0000 (3) failed
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, dff00000 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x508-0x50b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
pci0: <memory, RAM> at device 0.0 (no driver attached)
isab0: <PCI-ISA bridge> port 0x900-0x9ff at device 1.0 on pci0
isa0: <ISA bus> on isab0
pci0: <serial bus, SMBus> at device 1.1 (no driver attached)
pci0: <memory, RAM> at device 1.2 (no driver attached)
ohci0: <nVidia nForce MCP61 USB Controller> mem 0xfbfff000-0xfbffffff irq 21 at device 2.0 on pci0
ohci0: [ITHREAD]
usbus0: <nVidia nForce MCP61 USB Controller> on ohci0
ehci0: <NVIDIA nForce MCP61 USB 2.0 controller> mem 0xfbffec00-0xfbffecff irq 22 at device 2.1 on pci0
ehci0: [ITHREAD]
usbus1: EHCI version 1.0
usbus1: <NVIDIA nForce MCP61 USB 2.0 controller> on ehci0
pcib1: <ACPI PCI-PCI bridge> at device 4.0 on pci0
pci1: <ACPI PCI bus> on pcib1
atapci0: <nVidia nForce MCP61 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 6.0 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
nfe0: <NVIDIA nForce MCP61 Networking Adapter> port 0xe480-0xe487 mem 0xfbffd000-0xfbffdfff irq 23 at device 7.0 on pci0
miibus0: <MII bus> on nfe0
rgephy0: <RTL8169S/8110S/8211B media interface> PHY 3 on miibus0
rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
nfe0: Ethernet address: 00:25:22:15:3d:73
nfe0: [FILTER]
nfe0: [FILTER]
nfe0: [FILTER]
nfe0: [FILTER]
nfe0: [FILTER]
nfe0: [FILTER]
nfe0: [FILTER]
nfe0: [FILTER]
atapci1: <nVidia nForce MCP61 SATA300 controller> port 0xe400-0xe407,0xe080-0xe083,0xe000-0xe007,0xdc00-0xdc03,0xd880-0xd88f mem 0xfbffc000-0xfbffcfff irq 20 at device 8.0 on pci0
atapci1: [ITHREAD]
ata2: <ATA channel 0> on atapci1
ata2: [ITHREAD]
ata3: <ATA channel 1> on atapci1
ata3: [ITHREAD]
atapci2: <nVidia nForce MCP61 SATA300 controller> port 0xd800-0xd807,0xd480-0xd483,0xd400-0xd407,0xd080-0xd083,0xd000-0xd00f mem 0xfbff3000-0xfbff3fff irq 21 at device 8.1 on pci0
atapci2: [ITHREAD]
ata4: <ATA channel 0> on atapci2
ata4: [ITHREAD]
ata5: <ATA channel 1> on atapci2
ata5: [ITHREAD]
pcib2: <ACPI PCI-PCI bridge> at device 9.0 on pci0
pci2: <ACPI PCI bus> on pcib2
pcib3: <ACPI PCI-PCI bridge> at device 11.0 on pci0
pci3: <ACPI PCI bus> on pcib3
pcib4: <ACPI PCI-PCI bridge> at device 12.0 on pci0
pci4: <ACPI PCI bus> on pcib4
vgapci0: <VGA-compatible display> mem 0xfa000000-0xfaffffff,0xe0000000-0xefffffff,0xf9000000-0xf9ffffff irq 22 at device 13.0 on pci0
acpi_button0: <Power Button> on acpi0
atrtc0: <AT realtime clock> port 0x70-0x71 irq 8 on acpi0
ppc0: <Parallel port> port 0x378-0x37f,0x778-0x77f irq 7 drq 3 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ppc0: [ITHREAD]
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
plip0: [ITHREAD]
lpt0: <Printer> on ppbus0
lpt0: [ITHREAD]
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
powernow0: <PowerNow! K8> on cpu0
powernow1: <PowerNow! K8> on cpu1
ZFS NOTICE: Prefetch is disabled by default if less than 4GB of RAM is present;
to enable, add "vfs.zfs.prefetch_disable=0" to /boot/loader.conf.
ZFS filesystem version 3
ZFS storage pool version 14
Timecounters tick every 1.000 msec
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 480Mbps High Speed USB v2.0
ad4: 476940MB <WDC WD5000AADS-00S9B0 01.00A01> at ata2-master UDMA100 SATA 3Gb/s
ugen0.1: <nVidia> at usbus0
uhub0: <nVidia OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <nVidia> at usbus1
uhub1: <nVidia EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
ad6: 476940MB <WDC WD5000AADS-00S9B0 01.00A01> at ata3-master UDMA100 SATA 3Gb/s
uhub0: 10 ports with 10 removable, self powered
SMP: AP CPU #1 Launched!
uhub1: 10 ports with 10 removable, self powered
ugen0.2: <vendor 0x04d9> at usbus0
ukbd0: <vendor 0x04d9 product 0x1400, class 0/0, rev 1.10/1.43, addr 2> on usbus0
kbd2 at ukbd0
ums0: <vendor 0x04d9 product 0x1400, class 0/0, rev 1.10/1.43, addr 2> on usbus0
ums0: 5 buttons and [XYZ] coordinates ID=1
GEOM_MIRROR: Force device root start due to timeout.
GEOM_MIRROR: Device mirror/root launched (1/2).
GEOM_MIRROR: Force device swap start due to timeout.
GEOM_MIRROR: Device mirror/swap launched (1/2).
GEOM_MIRROR: Device mirror/var launched (2/2).
GEOM_MIRROR: Device mirror/usr launched (2/2).
Trying to mount root from ufs:/dev/mirror/root
 
Hi,

schau mal was die HDs, der Controllbär und GEOM Mirror da mit Timeouts treiben - normal ist das jedenfalls nicht.

Gruß Bummibär
 
gmirror status
Name Status Components
mirror/root COMPLETE ad4s1a
ad6s1a
mirror/swap COMPLETE ad4s1b
ad6s1b
mirror/var COMPLETE ad4s1d
ad6s1d
mirror/usr COMPLETE ad4s1e
ad6s1e

Sollte gjournal status etwas ausspucken? Ich krieg nur "gjournal: Command 'status' not available." Hab ich da etwas vergessen?
 
Was mir noch zu denken gibt:

Mar 20 12:31:18 xray389 smartd[888]: Device: /dev/ad4, 7 Offline uncorrectable sectors
Mar 20 12:31:18 xray389 smartd[888]: Device: /dev/ad4, previous self-test completed with error (read test element)
Mar 20 12:31:18 xray389 smartd[888]: Device: /dev/ad4, Self-Test Log error count increased from 2 to 3
Mar 20 13:01:18 xray389 smartd[888]: Device: /dev/ad4, 309 Currently unreadable (pending) sectors
Mar 20 13:01:18 xray389 smartd[888]: Device: /dev/ad4, 7 Offline uncorrectable sectors

nach einem smartctl -t short -d ata /dev/ad4 gibt mir smartctl -l selftest /dev/ad4 folgendes:
smartctl 5.39.1 2010-01-28 r3054 [FreeBSD 8.1-RELEASE amd64] (local build)
Copyright (C) 2002-10 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed: read failure 70% 2651 571352250
# 2 Short offline Completed: read failure 60% 2650 571352252
# 3 Short offline Completed: read failure 70% 2650 571352244

Kann die Festplatte defekt sein? Wie kann ich sicher gehen, dass sie defekt ist? Ich habe leider noch nicht so die Erfahrung mit smartctl.
 
Bei ad6 bekomme ich das:
=== START OF READ SMART DATA SECTION ===
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 2648 -

Wie gehe ich am besten vor, wenn ich die Festplatte bei Server4You reklamiere? Soll ich die ad4 aus dem Mirror nehmen? Funktioniert das so einfach? Bootet das System dann noch? Wenn ich nichts mache und Server4You die Platte einfach nur wechselt, läuft die Spiegelung dann nach dem Reboot automatisch? Hat einer von euch Erfahrungen mit Festplattentausch bei Server4You?
 
Zurück
Oben