lug-in.de
Linux User Group Ingolstadt e.V.
Startseite
Der Verein
Technikecke
Mailingliste
Kalender
Impressum

Login

Installation vonOpenSolaris unter Intel X86 und SPARC ,ein Erfahrungsbericht

09.12.2009 Da ich einen OpenSolaris (SPARC) Installationsserver benötige, installiere ich Opensolaris auf einer alten AMD Maschine (Athlon XP2200 - Okoi). Zuvor hatte ich schon versucht OpenSolaris auf einer HP Proliant ML 530 (Hotarubi) allerdings scheint das Programm nicht die onboard -SCSI-Controller zu erkennen, so daß er keine Platten sieht.

Zuerst versuch ich auf der bestehenden Platte ein wenig Platz zu schaffen. Ich verringere die bestehenden Partitionen und erzeuge eine neue /dev/hda7 mit 20 GB. Dummerweise sieht der OpenSolaris-Inststaller nicht die Partition sondern nur die „alte“ unmodifizierte in der Größe mit 30 GB.

Wie ich später rausfinde braucht OpenSolaris dringend eine primäre Partition und ich habe nur eine logische zu bieten. Kein Wunder das er nicht mag.

Also schnell aus dem Fundus eine alte 20 GB Platte eingebaut und Opensolaris darauf installiert. Allerdings schreibt Opensolaris seinen Grub-Eintrag nur auf die zweite Platte. Ich muss also beim Hochfahren mit F8 ins Bootmenü wechseln und dort die zweite Platte auswählen. Dann funktioniert es wunderbar.

Ich kann mich nicht als Root einloggen. Nach einegem rumsuchen finde ich den folgenden Hinweis: http://dlc.sun.com/osol/docs/content/IPS/login.html Also root gibst so ähnlich wie bei Ubuntu eigentlich nicht mehr. Mann kann aber sudo durch das Kommando pfexec ersetzten, dann sollte es genauso funktionieren.

10.12.2009 Heute soll nun das Netzwerk eingerichtet werden.

Laut Sonderheft Ct Special Linux (2008) muss man folgende Kommandos abgeben um den Programm svcadm die Kontrolle über die Netzwerkschnittstelle zu entreissen:

pfexec bash
svcadm disable svc:/network/physical:nwam 
svcadm enable svc:/network/physical:default

Jetzt kann man die Netzwerkschnittstelle mittels den Gnome Assistenten konfigurieren. Dannach das ganze noch mit ifconfig -a kontrollieren Sollte etwa so aussehen:

rtls0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2  inet 10.128.1.92 netmask ffffff00 broadcast 10.128.1.255 ether 0:c0:df:11:8a:68

Noch einige kleine Anmerkungen: Die onboard Netzwerkkarte wurde nicht erkannt. Eine zweite Intel Netzwerkkarte ebenfalls nicht. Erst eine billige RT8139 wurde dann erkannt. Hat man die obigen Kommandos ausgeführt und es klappt immer noch nicht so kann man das kommando sys-unconfig absetzen.

Dann durchläuft das System einen Reboot und alle Eingaben werden noch mal abgefragt.Wenn vorher die Kontrolle dem svc entrissen wurde, dann kann es sein, das er nicht mehr bis zum grafischen Login kommt.

In diesem Fall F1 drücken und sich an der Consoles einloggen, und dann die Kontrolle des Netzwerkes wieder an svc übergeben mit:

pfexec bash  
svcadm disable svc:/network/physical:default 
svcadm enable svc:/network/physical:nwam 

Danach geht plötzlich weiter und er fragt die Systemdaten ab. Bei mir kam es dann manchmal vor daß die Tastatur keine Eingaben mehr verarbeitet hat. In diesem Fall einfach Resettaster drücken und das System neu booten. Da nun die Netzwerkkontrolle beim svc liegt kommt man sofort zu den Eingaben.

Hier nun kann man statt DHCP nun statische IP-Angeben. Bei dem Thema Namensauflösung unbedingt DNS eingeben und entsprechend konfigurieren.

Sollte es immer noich nicht klappen könnte es sein das ein Anpassung der Datei /etc/nsswitch.conf erforderlich ist (Siehe Erfahrungsbericht Solaris 10). Hier müsste in der Zeile hosts files die Angabe dns hinzugefügt werden. Nun sollte ein ping www.google.de ein alive bringen.

Nun wollen wir den Sparc Installation-Server aufsetzten:

Dafür laden wir das opensolaris-iso Image herrunter und speichern es unter /export/ aiimages.

Zuerst ein zusätzlichen Paket instalieren mit :

pfexec pkg install SUNWinstalladm-tools 

und dann den Installserver aufsetzten mit

installadm create-service -n 0906sparc -i 10.128.1.31 -c 5 -s /export/aiimages/osol-0906-ai-sparc.iso /export/aiserver/osol-0906-ai-sparc 

wie in folgender Anleitung beschrieben: http://dlc.sun.com/osol/docs/content/dev/AIinstall/simple.html

Was passiert ? OpenSolaris richtet einen Installationsserver ein der alle DHCP-Anfrage entgegennimmt und ab der Adresse 10.128.1.31 bis zu 5 Computern entsprechden Adressen zuteilt. Darüberhinaus biete er eine Art TfTp-Bootserver für alle SPARC-Maschinen an. Wenn man das Sparc-Image osol-0906-ai-sparc.iso gegen das x86-Image austauscht klappt das auch für Intel/AMD.

Nun noch von opensolaris über die serielle Schnittstelle Verbindung zum Sun Fire V880 Server aufnehmen mit

tip -9600 /dev/term/a 

Auf der Sun Firre V880 als root einloggen und auf init0 setzten mit :

halt 

und nun noch per Netz booten:

boot net:dhcp 

Ścheint zu klappen, allerdings bricht er die Intstallation ab mit der Meldung:

 * Automated Installation failed Please refer to /tmp/install_log file for  details
 * Dec 10 07:15:50 opensolaris svc.startd[7]: application/auto-installer:default failed fatally: transitioned to maintenance (see 'svcs -xv' for details)

Da Opensolaris aber schon gebootet wurde, kann ich mich einloggen und nach der Ursache fahnden.

Ich logge mich ein : User root- > passwort (=openssolaris). Offenbar bricht er die Installation ab da er kein Filesystem ertstellen kann:

 * <OM Dec 10 15:15:43> Creating swap and dump on ZFS volumes
 * <TIZFM_E Dec 10 15:15:44> Couldn't create ZFS volume <rpool> on pool <swap>
 * <OM Dec 10 15:15:44> Could not create ZFS volume target
 * <OM Dec 10 15:15:44> TI process failed
 * <OM Dec 10 15:15:44> Target instantiation failed exit_val=-1
 * <AI Dec 10 15:15:50> om_perform_install failed with error 208
 * <AI Dec 10 15:15:50> Auto install failed

11.12.2009 Die Konfigurationdateien für den Installastionsdienst liegen auf dem OpenSolaris-Server (okoi) im Verzeichnis /export/aiserver/osol-0906-ai-sparc/auto_install/. Dort liegt default.xml die einzige Konfigrationsdatei.

Nachdem man den Installtionsdienst einmal eingrichtet hat, kann man ihn mit folgenden Kommando starten:

pfexec installadm  create-service -n ijintest -i 10.128.1.31 -c 5 /export/aiserver/osol-0906-ai-sparc/ 

Das weiter oben angegeben Kommando (mit der -s option ) dient dem Entpacken des iso-Images.

Alle Infos zu den AI-Schematas findet man unter : http://dlc.sun.com/osol/docs/content/dev/AIinstall/index.html

Nun ist der Installserver aktiv. Da er in der Basiskonfiguration alle DHCP-Anfragen beantwortet, sollte man nach erfogreicher Installation wieder deaktivieren mit dem Kommando :

installadm delete-service ijintest

Aber nun zurück zum fehlgeschlagenen Installationsversuch. So wie ich den Fehler verstehe, funktioniert die „Übergabe“ des Plattennames nicht richtig. D.h. Die Softwarekomponenete die die Zielpartition auswählt schafft es nicht die an sich gültige Werte (Platte und Slice) an das zfs-installations-tool weiter zu leiten. Also versuche ich über die sog. Manifest-dateien dem AI (Automated Installer) eine fest definierte Zielplatte zuzuweisen.

Im konkreten Fall liegen die Dateien in : /export/aiserver/osol-0906-ai-sparc/auto_install . Die aktuell gültige config-Datei heisst default.xml. Das ist eine sogenannten „kombinierte“ Manifest-detei. Normalerweise gibt es deren drei. Die Critteria-Datei (z.b. criteria_mac.xml) beshreibt für wen die nachfolgenden zwei Konfig-Dateien gelten. Hier kann man z.B. per MAC-Adresse definieren wer per Intstallserver instaliert werden kann. In dieser Criteria-Schemate sind dann auch die Pfade der beiden folgenden Schemtas angeben.

In diesen AI und SC gennannten Schematas sind dann alle Installlationsdetails aufgeführt.

Im vorliegenden Fall sind aller drei Schematas in der Datei default.xml zusammengefasst. Und hier ergänze ich nun die Datei um zwei Anweisungen:

<ai_target_device>

 . <target_device_name>c7t4d0</target_device_name> <target_device_install_slice_number>6</target_device_install_slice_number>

 . </ai_target_device>

Zur Erklärung: Das Target (c7t4d0) habe ich ermittelt, indem ich nach einem fehlgeschlagenen Installationsversuch unter Opensolaris mit dem Befehl format mit die gesamten Platten habe anzeigen lassen. Interresanterweise hieß die gleiche Platte unter dem installierten Solaris 10 noch c1t4d0. Da c1 bedeutet Controller 1 nehme ich an daß Solaris 10 und Opensolaris wohl die internen Controller anders nummerieren.

Das Slice 6 ist das größte Slice in einer Solaris formatierten Platte.Auch hier hat format geholfen das herrauszufinden.

Nach meiner Meinung müsste es auch noch einen Weg geben die Platte über Ihren „eindeutigen „ Fibrechannel“-Namen anzusprechen. So wie nachfolgendem Artikel beschrieben. mpxio quickstart http://www.petertribble.co.uk/Solaris/mpxio.html Nach der manuellen Anpassung der Schemata läuft die Installatioin von OpenSolaris (SPARC) auf der Sun Fire V880 problemlos durch.