On 13.09.2011, at 13:36, Ulrich Graef wrote:

>> Ich habe jetzt diverse Solaris-Images auf meinen Root-Server bei Strato 
>> geschoben, aber bei einem reboot bleibt meine console jedes Mal schwarz. Was 
>> ich auch mache ich bekomme nicht mal die Meldungen von grub. Ich habe es 
>> jetzt auch mal mit anderen Betriebssystemen (NetBSD und FreeBSD) versucht - 
>> selbes Ergebnis.
> Hast Du so ein Image vorher dekonfiguriert (sys-unconfig) ?.
> Dann setzt das OS beim booten nichts mehr voraus und konfiguriert sich neu.
> Das sollte man machen, bei HW-Wechsel, da z.B. auch die libc an die 
> darunterliegende
> HW angepasst wird (mount einer passenden libc über die standard-libc...).

Ich habe es versucht, aber sys-unconfig zerhagelt mir aber auch meine 
Konfiguration für die serielle Schnittstelle.
Ich meine sys-unconfig schreibt auch ein eigenes boot-archive, was sich nicht 
um bootenv.rc und Konsorten kümmert, so dass mein System erstmal nicht mehr 
erreichbar war.

> 4) Aber warum so kompliziert.
> Bevor ich das machen würde, würde ich ein OpenSolaris auf einer lokalen 
> Maschine
> in einer primären Partition installieren, die möglichst klein ist.
> Ggf. noch alle Treiber nachinstallieren, die für die Zielmaschine gebraucht 
> werden.
> 
> Die Partition booten und mit sys-unconfig dekonfigurieren und runterfahren.
> 
> Dieses Image auf den Rechner bei Strato transportieren und in eine Partition
> auspacken.
> 
> Dann Dein Solaris failsafe booten, die Filesysteme mounten und ein
> installgrub laufen lassen.
> 
> Man müsste dann zumindest das Solaris booten können.

So aehnlich habe ich das jetzt geschafft. Evtl. habe ich mit der ein oder 
anderen Sache mehr als nötig gemacht, aber in der Summe hat es geklappt.

In groben Umrissen:
1) Ich habe in VirtualBox ein Solaris 10 08/11 aufgesetzt und für die serielle 
Konsole konfiguriert und mit sys-unconfig unkonfiguriert.
1,5) Wichtig; Alle wichtigen Netzwerkparameter vorher unter Linux aufschreiben 
(IP, Mask, Gateway, DNS, hostname, domain), gerade weil die dhcp-Konfiguration 
von Strato die meisten OSe nicht verstehen (classless static routes rfc3442)
2) Parallel dazu habe ich dem Linux ein multiboot mit miniroot konfiguriert für 
die serielle Konsole untergeschoben und in das Linux-Grub eingebunden.
3) Dann habe ich das VirtualBox-Image via dd auf die zweite Platte des 
Strato-Linux-Servers geschoben (dabei das Linux-Software-RAID auf einer Platte 
geplättet).
4) Dann in den failsafe Modus von Solaris (Linux-Platte) gebootet, ZFS der 
zweiten Platte nach /a gemountet und die serielle Konfiguration, die mir 
sys-unconfig wieder geradegebogen
5) Dann konnte ich via Linux-Grub in den Solaris-Grub der zweiten Platte booten.
6) Jetzt wusste ich nicht recht wie ich nativ in das Solaris-Grub boote und ZFS 
auf beide Platten bekomme.
ZFS erkennt nur die Plattengroesse, die im Label steht, daher war meine Platte 
16G (so groß war das VirtualBox-Image) groß.
Ich habe das die esste Platte vom Solaris aus mit installgrub versehen und eine 
Partition dem zpool zugefügt. Ab da konnte ich nativ von der ersten Platte im 
Solaris-Grub booten, allerdings war die Platte immer noch 16G groß. Dann habe 
ich die zweite Platte aus dem zpool rausgenommen, damit war meine Platte so 
groß wie die physische Platte. Ich hatte dann allerdings Mühe die zweite Platte 
wieder auf die volle Große zu bringen, so dass Solaris nicht denkt sie sei 16G 
groß. Und ich wusste nicht so recht wie ich das ZFS auf der zweite Platte clean 
mache, damit sich Solaris nicht weigert die zweite Platte in voller Größe dem 
zpool hinzuzufügen oder ein schon vorhandenen ZFS nicht zu überschreiben.
7) danach war mein Solaris im Prinzip fertig.
8) Jetzt musste ich nur noch die etwas vertrakte Strato-Netzkonfig hingekommen.

Soweit so gut

Ich bin gerade noch dabei Teilschritte auszuprobieren, was von meinen Schritten 
wirklich nötig war und was warum nicht ging.

Jetzt akut hatte ich nochmal das Problem, daß nach einem Update (vermutl. 
147441-02) ich folgende Fehlermeldung bekam:
-------------------------------------------------------------------------------
SunOS Release 5.10 Version Generic_147441-02 64-bit
Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
NOTICE: Can not read the pool label from '/pci@0,0/pci-ide@12/ide@0/cmdk@0,0:a'
NOTICE: spa_import_rootpool: error 5
Cannot mount root on /pci@0,0/pci-ide@12/ide@0/cmdk@0,0:a fstype zfs

panic[cpu0]/thread=fffffffffbc283a0: vfs_mountroot: cannot mount root

fffffffffbc6ad70 genunix:vfs_mountroot+2a2 ()
fffffffffbc6adb0 genunix:main+11d ()
fffffffffbc6adc0 unix:_start+9d ()

skipping system dump - no dump device configured
rebooting...
--------------------------------------------------------------------------------
Und ich das auch mit einem reconfigure und bootadm update-archive nicht 
hinbekam.
Scheinbar wird ein umfangreicheres /etc/path_to_inst neu geschrieben, mit dem 
mein System nicht zurecht kommt.

Nach einem patchrm der letzten Patches und zurückspielen der alten path_to_inst 
tut mein System wieder.

Soweit mal der Status meines Root-Servers bei Strato

Gruss Stephan Pietzko






--------------------------------------------------------------------------------
Anhang: Die Schritte im Einzelnen

1) Solaris 10 08/11 in VirtualBox installiert
=============================================
-----------------------------------------------
file /boot/solaris/bootenv.rc

setprop ttya-mode 57600,8,n,1,-
setprop console 'ttya'
-----------------------------------------------
file /rpool/boot/grub/menu.lst

default 0
timeout 10
serial --unit=0 --speed=57600
terminal serial
# splashimage /boot/grub/splash.xpm.gz
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Oracle Solaris 10 8/11 s10x_u10wos_17b X86
findroot (pool_rpool,0,a)
kernel$ /platform/i86pc/multiboot -B 
$ZFS-BOOTFS,console=ttya,ttya-mode="57600,8,n,1,-"
module /platform/i86pc/boot_archive
#---------------------END BOOTADM--------------------
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris failsafe
findroot (pool_rpool,0,a)
kernel /boot/multiboot -s -B console=ttya,ttya-mode="57600,8,n,1,-"
module /boot/amd64/x86.miniroot-safe
#---------------------END BOOTADM--------------------
-----------------------------------------------
file /etc/ttydefs

console:57600 hupcl opost onlcr:57600::console
contty:57600 hupcl opost onlcr:57600 sane::contty1
-----------------------------------------------
bootadm update-archive
touch /reconfigure
sys-unconfig
-----------------------------------------------

Dann die Maschine gestoppt und mit 
VBoxManage clonehd <UUID> ~/sol10.dd --format RAW
ein disk image gezogen. Vorher mit VBoxManage list hdds geschaut welche UUID 
ich brauche.
Dieses Image mit gzip kompromiert und auf einen geeigneten Server ins Netz 
geschoben.

2) Solaris failsafe in Linux
============================
Quelle: 
http://newsgroups.derkeiler.com/Archive/De/de.comp.os.unix.misc/2007-09/msg00006.html
gzip -dc x86.miniroot > /tmp/x86.miniroot.unpacked
lofiadm -a /tmp/x86.miniroot.unpacked
mount /dev/lofi/1 /mnt 
/mnt/boot/solaris/bootenv.rc anpassen:
   setprop console 'ttya'
   setprop ttya-mode '57600,8,n,1,-'
umount /mnt
lofiadm -d /dev/lofi/1
gzip -c /tmp/x86.miniroot.unpacked > x86.miniroot
x86.miniroot und multiboot auf das Linux-System bringen (meistens /boot)
GrUB-Eintrag anlegen (wenn beides in /boot/Platz hatte
title Solaris failsafe
root (hd0,<partition>)
kernel multiboot kernel/unix -B console=ttya
module x86.miniroot
Jetzt kann man in Grub in Solaris failsafe booten und kann ggf. auch erkannte 
ZFS-Partitionen nach /a mounten.

3) Solaris-Image auf die zweite Platte kopieren
===============================================

Mein Server ist ein HighQ-Server SR-7 (v11.2) bei Strato.
ssh user@<geeigneterServerIP> cat "<" solaris.image.gz | gunzip | dd of=/dev/sdb

mit 
title Solaris
        rootnoverify (hd1,0)
        makeactive
        chainloader +1
im grub bzw menu.lst

4) Serielle Konfig geradegebogen
================================

Solaris failsafe unter Linux gebootet und zpool nach /a gemountet.
Wie in 1) die seriellen Parameter kontrolliert und die Dateien nochmal mit 
touch auf das aktuelle Datum gesetzt.
bootadm update-archive -R /a
installgrub /a/boot/grub/stage1 /a/boot/grub/stage2 /dev/rdsk/c1d0s0

5) Das erste Mal Solaris richtig booten und die Systemkonfig durcharbeiten mit 
der Besonderheit, dass mein Netz an e1000g2 angeschlossen ist und erstmal 
statisch konfiguriert werden sollte.

6) bekomme ich nicht mehr zusammen, weil ich soviel ausprbiert und wieder 
verworfen habe.

7) :-)

8)  Hier habe ich /etc/inet/netmasks auf die Maske 255.255.255.255 korrigiert 
(geht unter sysconfig nicht, daher hatte ich nur 255.255.255.0 eingestellt). 
Und erstmal unsauber, aber funktionieren die Routen reingeschrieben:
>  cat /etc/rc2.d/S75staticroutes
#!/bin/sh
route add -host 85.214.192.1 85.214.240.123 -interface
route add default 85.214.192.1


_______________________________________________
ug-fraosug mailing list
ug-fraosug@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/ug-fraosug

Antwort per Email an