FreeBSD remote ausgesperrt, mit Recovery die Tür eintreten

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
User avatar
doll1
Posts: 31
Joined: 2012-12-06 19:23
Location: Düsseldorf
 

FreeBSD remote ausgesperrt, mit Recovery die Tür eintreten

Post by doll1 »

Hallo Community

erstmal Dank an Joe für die händische Aktivierung hier. Und jetzt, mit einer kurzen Einleitung mal on Topic.

Ich bin vor kurzem, nach guten 20 Jahren Linux auf BSD geschwenkt und habe es jetzt auch, dank Joe's HowTos, geschafft, FreeBSD remote auf einem Server von Server4You zu installieren. Habe mich dann aber im finalen Installationsschritt (vermutlich eine kleine Unachtsamkeit beim Anpassen der Konfigurationsdateien mit mergemaster) vom Server ausgesperrt.

Da es bis dahin nicht wenig Arbeit war, hab ich darüber nachgedacht, wie ich wieder reinkomme.

Also, Recovery-System (Ubuntu) gestartet, die ersten 100MB von /dev/sd[ab] local gesichert (dd is your friend), mfsBSD dahin geschrieben und im normalen Modus wieder hochgefahren. Dann habe ich mit mfsBSD die Festplatten wieder restauriert.

Mein Plan war jetzt, die root-partition zu mounten, die Konfiguration zu checken und zu reparieren. Da bin ich dann vor den Poller gelaufen. Ich kann d, e oder f mounten, aber leider nicht a. Da kommen wahrscheinlich meine begrenzten BSD-Spezialkenntnisse zum tragen :-?

Traut sich da jemand zu, mir auf die Sprünge zu helfen, oder mach ich die ganze Installation jetzt, so zur Übung, am besten nochmal? Produktivdaten sind ja noch nicht drauf.

Abgesehen von der Arbeit, die ich mir sparen möchte, interessiert mich auch, ob dieser Weg grundsätzlich funktioniert.

Vielen Dank schonmal an alle, die sich das bis hier hin durchgelesen haben #:-s
User avatar
doll1
Posts: 31
Joined: 2012-12-06 19:23
Location: Düsseldorf
 

Re: FreeBSD remote ausgesperrt, mit Recovery die Tür eintret

Post by doll1 »

Ach ja, falls ich nicht das richtige Unterforum getroffen habe, bitte ich um Verschiebung :-B
User avatar
Joe User
Project Manager
Project Manager
Posts: 11190
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: FreeBSD remote ausgesperrt, mit Recovery die Tür eintret

Post by Joe User »

Welche Fehlermeldung bekommst Du beim Mountversuch?
Möglicherweise ist beim Restaurieren etwas schief gelaufen, etwa Partitionstabelle nicht mitgesichert und durch mfsBSD überschrieben.
Du schreibst von a, d, e und f, das deutet auf das klassische Partitionslayout mit MBR statt GPT hin. In diesem Fall könnte der MBR für a noch den mfsBSD Eintrag statt den für das alte a haben. Mit viel Glück könnte dann das händische Neuanlegen mittels fdisk und bsdlabel helfen.

Im Zweifel ist eine zweite Lehrinstallation nicht die schlechteste Lösung ;)
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
doll1
Posts: 31
Joined: 2012-12-06 19:23
Location: Düsseldorf
 

Re: FreeBSD remote ausgesperrt, mit Recovery die Tür eintret

Post by doll1 »

Ok,

die Fehlermeldung für gm0s1a ist:
Operation not permitted
gm0s1[def] mounten problemfrei

die Vorgehensweise war

Code: Select all

dd if=/dev/sda of=dd_sda_start bs=1M count=100
dd if=/dev/sdb of=dd_sdb_start bs=1M count=100
dd if=mfsbsd.img of=/dev/sda
dd if=mfsbsd.img of=/dev/sdb
wer weiß schon genau, von wo die remote-dinger dann booten.
Unter mfsBSD dann

Code: Select all

dd if=dd_sda_start of=/dev/ada0 bs=1M
dd if=dd_sdb_start of=/dev/ada1 bs=1M
und local geholt hab ich die Sachen dann natürlich mit scp und nicht etwa per ftp im ascii-mode :D (ok, das war jetzt ein Insider)
was da genau schief gehen kann :-?

Wegen dem Layout:
Ich habe dein HowTo auf RootService.org bis zur Plattenaufteilung verfolgt, und bin da quer rüber zum HowTo hier im Wiki (im ersten stand halt nichts von ZFS, was ich mir aber eingeredet hab haben zu wollen :-B ) und anschließend zur weiteren Installation wieder ins erste HowTo. Hat ja auch alles funktioniert. Wenn ich wieder rein gekommen wäre, hätte ich als nächstes gesehen, wie ich den ZFS-Pool hinkrieg.

Ist da noch was zu machen?
User avatar
Joe User
Project Manager
Project Manager
Posts: 11190
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: FreeBSD remote ausgesperrt, mit Recovery die Tür eintret

Post by Joe User »

Du müsstest diesen Part nochmal mit den exakt gleichen Daten wiederholen:

Code: Select all

fdisk -p /dev/ad4 > /tmp/fdisk_ad4.txt
fdisk -p /dev/ad6 > /tmp/fdisk_ad6.txt

cat > /tmp/bsdlabel.txt <<"EOF"
8 partitions:
#        size   offset    fstype   [fsize bsize bps/cpg]
  a:    2048M       16    4.2BSD     2048 16384     8
  b:    2048M        *      swap
  c:        *        0    unused        0     0         # "raw" part, don't edit
  d:   16384M        *    4.2BSD     2048 16384 28528
  e:    8192M        *    4.2BSD     2048 16384 28528
  f:        *        *    4.2BSD     2048 16384 28528
"EOF"

dd if=/dev/zero of=/dev/ad4 count=2
fdisk -BI /dev/ad4
fdisk -f /tmp/fdisk_ad4.txt /dev/ad4
bsdlabel -wB /dev/ad4s1
bsdlabel -R /dev/ad4s1 /tmp/bsdlabel.txt

dd if=/dev/zero of=/dev/ad6 count=2
fdisk -BI /dev/ad6
fdisk -f /tmp/fdisk_ad6.txt /dev/ad6
bsdlabel -wB /dev/ad6s1
bsdlabel -R /dev/ad6s1 /tmp/bsdlabel.txt
Theoretisch sollten die Nutzdaten dabei erhalten bleiben und wieder Nutzbar werden. Dennoch möchte ich das nicht garantieren. Try and Error ;)
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
doll1
Posts: 31
Joined: 2012-12-06 19:23
Location: Düsseldorf
 

Re: FreeBSD remote ausgesperrt, mit Recovery die Tür eintret

Post by doll1 »

Hmm,

erst nochmal eine Vergewisserung. Der WikiArtikel, den ich meinte, war: http://www.rootforum.org/wiki/FreeBSD_m ... stallation

Was müsste ich dann jetzt wiederholen? Alles zwischen

Slices Anlegen und Dateisysteme erzeugen?

Mein aktuelles

bsdlabel /dev/mirror/gm0s1

sieht so aus

Code: Select all

# /dev/mirror/gm0s1:
8 partitions:
#          size     offset    fstype   [fsize bsize bps/cpg]
  a:    4194304         16    4.2BSD        0     0     0
  c:   71302832          0    unused        0     0     # "raw" part, don't edit
  d:   20971520    4194320    4.2BSD        0     0     0
  e:   41943040   25165840    4.2BSD        0     0     0
  f:    4193952   67108880    4.2BSD        0     0     0
ohne etwas wiederholt zu haben.

Hatte da bei der Urinstallation schon ein paar Sachen angepasst.
User avatar
Joe User
Project Manager
Project Manager
Posts: 11190
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: FreeBSD remote ausgesperrt, mit Recovery die Tür eintret

Post by Joe User »

Ah OK, der Artikel ist nicht von mir ;)

Den Abschnitt "Slices anlegen" musst Du wiederholen und dabei für bsdlabel die exakt gleichen Werte verwenden, wie Du sie bei der Erstinstallation verwendet hast.
Beim dd bitte nur "bs=512 count=1" als Parameter übergeben.

Daumen drücken nicht vergessen ;)
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
User avatar
doll1
Posts: 31
Joined: 2012-12-06 19:23
Location: Düsseldorf
 

Re: FreeBSD remote ausgesperrt, mit Recovery die Tür eintret

Post by doll1 »

Ja, wäre interessant gewesen, ob es tatsächlich so wieder gelaufen wäre.

Wobei es mir nicht ganz einsichtig ist, was bei Benutzung von dd, wenn man sich nicht vertut ;-) , schief gehen kann.

Inzwischen läuft jedenfalls ein etwas umfassenderes dd if=/dev/zero auf beide Platten. Anschließend werde ich deinem Artikel auf RootService.org folgen (ggf. mit einem etwas traditionelleren Layout) und ZFS so weit zurück stellen bis ich ein bisschen mehr KnowHow im BSD Bereich gesammelt habe.

Um kurz auf das Layout zurück zu kommen. Das beschriebene bezieht sich auf eine 30GB-Platte. Interpretiere ich das richtig, wenn ich das bei der Übersetzung auf 1TB mit 8GB Ram so darstellen würde?

Code: Select all

Partition               Mountpunkt Filesystem Grösse
/dev/mirror/swap 	none       SWAP 	8 GB
/dev/mirror/root 	/          UFS2 	12 GB
/dev/mirror/home 	/usr/home  UFS2 	4 GB
/dev/mirror/data 	/data      UFS2 	REST GB
ansonsten würde ich zu

Code: Select all

Partition         Mountpunkt Filesystem Größe
/dev/mirror/swap  none       SWAP       8 GB
/dev/mirror/root  /          UFS2       2 GB
/dev/mirror/tmp   /tmp       UFS2       2 GB
/dev/mirror/var   /var       UFS2       20 GB
/dev/mirror/usr   /usr       UFS2       REST GB
tendieren. Aber das mag meiner langjährigen Linux-Vergangenheit geschuldet sein :-)

Jedenfalls, vielen Dank für deinen Einsatz!
User avatar
Joe User
Project Manager
Project Manager
Posts: 11190
Joined: 2003-02-27 01:00
Location: Hamburg
 

Re: FreeBSD remote ausgesperrt, mit Recovery die Tür eintret

Post by Joe User »

Als "traditionelles" Layout bei 1TB solltest Du es so anlegen:

Code: Select all

sysctl kern.geom.debugflags=0x10

gpart create -s gpt ada0
gpart add -t freebsd-boot -b 4096 -s 512 -a 4096 -l boot0 ada0
gpart add -t freebsd-ufs  -b 8192 -s 24G -a 4096 -l root0 ada0
gpart add -t freebsd-swap         -s 16G -a 4096 -l swap0 ada0

gpart create -s gpt ada1
gpart add -t freebsd-boot -b 4096 -s 512 -a 4096 -l boot1 ada1
gpart add -t freebsd-ufs  -b 8192 -s 24G -a 4096 -l root1 ada1
gpart add -t freebsd-swap         -s 16G -a 4096 -l swap1 ada1

gmirror load
gmirror label -b round-robin root ada0p2 ada1p2
gmirror label -b prefer -F swap ada0p3 ada1p3

newfs -O2 -U -f 4096 /dev/mirror/root
Die restlichen Partitionen dann nach eigenem Geschmack hintendran setzen.

Für / sollten auch 4GB bis 8GB reichen, sofern /usr eigenständig ist, dennoch würde ich / nicht unter 16GB anlegen.
/usr braucht je nach Grösse der zu kompilierenden Ports und der späteren Nutzdaten, sowie {/usr}/home ordentlich Platz (quasi /home + /usr + /var unter Linux).
/var braucht Platz für die Logs, den Mailspool, die üblichen Systemfiles, eventuelle SQL-Datenbanken und ein wenig Luft für Sonstiges.
/tmp hängt wie immer von den Apps ab.


Ich persönlich nehme nur noch / (32GB-64GB) und /data und werfe dann den Mailspool, die Nutzdaten und die Datenbanken nach /data. Der Rest bleibt auf /.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.