Re: fbsd 9.2 & installer

From: Peter Ross <Peter.Ross(at)alumni.tu-berlin.de>
Date: Thu, 1 Aug 2013 22:23:17 +1000 (EST)

Hallo Bernhard,

On Thu, 1 Aug 2013, Bernhard(at)gtkx.de wrote:

> das heist, dass ich mich mit dem boot vorgang befassen muss um das mbr
> gpt mit gpart richtig nutzen zu können?

Wie Du schon bermerkt hast, unterscheiden sich deutsche Version und
englische Version des Handbuchs erheblich - sicher hat bis jetzt noch
keiner Zeit gefunden dier neueste Version is Deutsche zu übersetzen

Das englische Kapitel 20.4.2. Creating a Mirror with Two New Disks
(http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/geom-mirror.html)

beschreibt das Einrichten einer Disk mit zwei Platten.

In diesem Beispiel ist FreeBSD bereits auf einer einzelnen platte, ada0,
installiert. Zwei neue Platten, ada1 und ada2, wurden neu eingefügt. Ein
neuer Spiegel wird nun auf diesen beiden Platten eingerichtet und wird
schließlich die einzelne Platte ersetzen.

gmirror benötigt ein Kernelmodul, entwerder in den Kernel eiunkompiliert
oder als Modul zur Laufzeit geladen. Um es jetzt manuell zu laden, führe

# gmirror load

aus.

Das folgende Kommando erzeugt einen neuen Spiegel:

# gmirror label -v gm0 /dev/ada1 /dev/ada2

gm0 ist ein willkürlich vom Nutzer gewählter Name für den neuen Spiegel.
Nach dem Start des Spiegels erscheint nun das Gerät im Verzeichnis
/dev/mirror.

MBR und bsdlabel-Partitionstabelle kann nun mittels gpart(8) auf diesem
Spiegel eingerichtet werden.

Im Beispiel werden wir eine traditionelle Struktur erzeugen, mit
Partitionen für /, swap, /var, /tmp, and /usr. Ein einzelnes Filesystem /
ist auch möglich.

Die Partitionen auf dem Spiegel müsen nicht genauso groß sein wie die auf
der vorhandenen einzelnen Platte. Allerrdings müssen sie groß genug sein,
um die vorhandenen Daten auf der Ada0-Platte aufzunehmen.

# gpart create -s MBR mirror/gm0
# gpart add -t freebsd -a 4k mirror/gm0
# gpart show mirror/gm0
=> 63 156301423 mirror/gm0 MBR (74G)
          63 63 - free - (31k)
         126 156301299 1 freebsd (74G)
   156301425 61 - free - (30k)
# gpart create -s BSD mirror/gm0s1
# gpart add -t freebsd-ufs -a 4k -s 2g mirror/gm0s1
# gpart add -t freebsd-swap -a 4k -s 4g mirror/gm0s1
# gpart add -t freebsd-ufs -a 4k -s 2g mirror/gm0s1
# gpart add -t freebsd-ufs -a 4k -s 1g mirror/gm0s1
# gpart add -t freebsd-ufs -a 4k mirror/gm0s1
# gpart show mirror/gm0s1
=> 0 156301299 mirror/gm0s1 BSD (74G)
           0 2 - free - (1.0k)
           2 4194304 1 freebsd-ufs (2.0G)
     4194306 8388608 2 freebsd-swap (4.0G)
    12582914 4194304 4 freebsd-ufs (2.0G)
    16777218 2097152 5 freebsd-ufs (1.0G)
    18874370 137426928 6 freebsd-ufs (65G)
   156301298 1 - free - (512B)

Der Spiegel wird durch die folgenen Kommandos bootfähig gemacht, in dem
der Bootcode in den MBR geschrieben wird und ein Slice aktiviert wird.

# gpart bootcode -b /boot/mbr mirror/gm0
# gpart set -a active -i 1 mirror/gm0
# gpart bootcode -b /boot/boot mirror/gm0s1

Anschließend werden die Filesysteme mit aktivierten Softupdates erzeugt.

# newfs -U /dev/mirror/gm0s1a
# newfs -U /dev/mirror/gm0s1d
# newfs -U /dev/mirror/gm0s1e
# newfs -U /dev/mirror/gm0s1f

Nun können mittels dump(8) und restore(8) die Daten von der einzelnen
Platte auf den Spiegel kopiert werden.

# mount /dev/mirror/gm0s1a /mnt
# dump -C16 -b64 -0aL -f - / | (cd /mnt && restore -rf -)
# mount /dev/mirror/gm0s1d /mnt/var
# mount /dev/mirror/gm0s1e /mnt/tmp
# mount /dev/mirror/gm0s1f /mnt/usr
# dump -C16 -b64 -0aL -f - /var | (cd /mnt/var && restore -rf -)
# dump -C16 -b64 -0aL -f - /tmp | (cd /mnt/tmp && restore -rf -)
# dump -C16 -b64 -0aL -f - /usr | (cd /mnt/usr && restore -rf -)

/mnt/etc/fstab müssen nun editiert werden, um auf die neuen Filesysteme
auf dem Spiegel zu verweisen.

# Device Mountpoint FStype Options Dump Pass#
/dev/mirror/gm0s1a / ufs rw 1 1
/dev/mirror/gm0s1b none swap sw 0 0
/dev/mirror/gm0s1d /var ufs rw 2 2
/dev/mirror/gm0s1e /tmp ufs rw 2 2
/dev/mirror/gm0s1f /usr ufs rw 2 2

Wenn das Kernelmodul für gmirror(8) nicht in den Kernel einkompiliert ist,
muß in /mnt/boot/loader.conf

geom_mirror_load="YES"

eingetragen werden, damit das Modul beim Booten geladen wird.

Reboote das System um den neuen Spiegel zu testen und um sich zu
vergewissern, daß alle daten kopiert wurden. Das BIOS sieht zwei Platten
statt des Spiegels. Da die Platten identisch sind ist es gleichgültig,
welche zum Booten ausgewählt wird.

Falls es beim Booten Probleme gibt, gehe zum Troubleshooting-Abschnitt.
Nach Ausschalten und Entfernen der einzelnen Platte kann diese als
Offline-Backup aufgehoben werden.

Der Spiegel wird sich im Betrieb wie einme einzelne Platte verhalten.

==

Das sollte ich nun zum deutschen Diokumentationsteam schicken. Manana.

Ich hoffe es hilft Dir.

Ich denke, auf dieser Liste sind recht gemütliche und hilfreiche Leute
zuhause. Es wäre nett, wenn Du Deine Ausdrucksweise etwas verbessern
würdest. Manchmal wirken Deine kurz auf dem iPhone geschriebenen
Mitteilungen wie Knochen, die achtlos vor die Hunde geworfen wurden.

Das Einrichten eines Spiegels ist nicht unbedingt trivial und benötigt
etwas Verständnis. Die FreeBSD-Installationshilfe ist so angelegt, daß
sie auf einem Minimalsystem ohne aufwendige Grafik ausgeführt werden kann,
und durch den "Shell-Ausgang" ist es möglich, nichttriviale Installationen
durchzuführen. Das GEOM-System enthält so viele unterschiedliche Module,
und dazu kommt noch ZFS mit einer etwas anderen Philosophie. Diese alle
mit einem simplen Installiere "narrensicher" zu machen ist nicht einfach.

Mit PC-BSD kann man ebenfalls FreeBSD installeren und hat dann graphische
Oberfläche und mehr Komfort, mit dem gleichen Resultat, soweit ich weiß
(ich verwende PC-BSD nicht)

Mir ist dieser Komfort im Serverraum eher hinderlich, ich habe dort z.B.
nicht einmal eine Maus.

Ich boote da lediglich, kopiere ein Installationsskript welches nach
kurzer Anpassung an die Gegebenheiten (z.B. Anzahl der Platten) ausgeführt
wird, via scp und zfs send/receive die beiden Verzeichnisse /usr/src und
/usr/obj hinüberkopiert und dann ein "make installkernel; make
installworld; make distribution" ein aktuelles System installiert.

Ubuntu kommt z.B. auch in verschiedenen Installationsvarianten, je nach
Bedürfnis des Anwenders. Ich sehe da kein größeres Problem.

Gute Nacht
Peter

To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 01 Aug 2013 - 14:23:28 CEST

search this site