Archiv für die Kategorie » Solaris «

Solaris 11

Samstag, 21. August 2010 | Autor: Michael Zimmer

Hallo!

Neulich habe ich ein Projektangebot bekommen. Man suchte einen erfahrenen Solaris Administrator mit mindestens 10 Jahre Erfahrung mit Solaris 10, ZFS und Zonen. Lustig fand ich dabei, das Solaris 10 erst 2005 erschienen ist.

Nun hat John Fowler, der “Executive Vice President, Systems” von Oracle Solaris 11 für 2011 angekündigt. Wenn man sich kostenlos registriert, kann man den Vortrag und die zugehörige Präsentation anschauen und downloaden. Ankündigungen hat es ja im Hause Oracle nach der SUN Übernahme einige gegeben. Nicht alle werden wohl schnell erfüllt werden. Aber in diesem Fall glaube ich dran.

Solaris 11 braucht Oracle nicht flott aus dem Hut zu zaubern, die Grundlage dafür wurde bereits gelegt und ist in Form von OpenSolaris auch schon seit Ende 2008 verfügbar. Die kontinuierliche Weiterentwicklung konnte man auch im Developer Zweig bis zum 134 Build am eigenen System mitverfolgen.

Es erwarten uns Administratoren reichlich neue Features aber auch eine sehr gravierende Änderung des Paket Formats. Das neue IPS löst das alte Verfahren mit Paketen und Patches ab. Meines Erachtens ein sinnvoller Schritt. Der Download von 1,3 GB großen Recommended Patch Clustern und ein ständig anwachsendes Verzeichnis unter /var/sadm finde ich nicht mehr Zeitgemäß. Es bedeutet aber auch neue Verfahren für die Installation der Maschinen. Alte Install-Server müssen überarbeitet werden. Das will bei Rechenzentren mit vielen Servern gut bedacht und geplant werden. Hinzu kommen dann Kopien der Repository Server für Solaris 11. Nicht zuletzt müssen selbst gebaute Pakete überarbeitet werden. Dabei fällt mir vor allem auf, das es die beliebten Skripte preinstall, postinstall, preremove und postremove nicht mehr gibt. Falls Oracle das nicht noch überarbeitet, gilt es hier das Fehlen dieser Skripts mit eigenen Installationsroutinen oder SMF Services zu umschiffen. Mir fehlt an dieser Stelle die alte Eleganz.

Da wartet also reichlich Arbeit auf uns. Auf geht’s … Wenn mir dann 2012 ein Projektgesuch ins Postfach flattert die einen erfahrenen Solaris 11 Admin mit mindestens 10 Jahren Erfahrung suchen, hab ich zumindest zwei bis drei Jährchen OpenSolaris Vorsprung vor der Realität ;-)

Viele Grüße

Michael

Thema: Solaris | Beitrag kommentieren

Solaris mit ZFS Root Dateisystem updaten

Sonntag, 13. Juni 2010 | Autor: Michael Zimmer

Hallo Sysadmins,

hier ein kleines Beispiel wie man Solaris 10 mit ZFS als Root Filesystem patchen und upgraden kann:

Wenn Zonen auf dem System sind, sollten sie installiert und gebootet sein. Überprüfen kann man das mit

zoneadm list -cv

Da wir auf dem System die Zonen mit VCS schwenken und die Root Filesysteme der Zonen mit VxFS realisiert sind, habe ich die Zonen zunächst deportiert und dann für das Update des OS auskommentiert:

zoneadm -z <zönchen> detach

in /etc/zones/index mit führendem # auskommentieren

Bei Solaris 10 5/09 gibt es einen Bug bei luactivate. Als Workaround sollte folgende Variable in der Shell exportiert sein:

export BOOT_MENU_FILE=”menu.lst”

Und los geht es:

  1. lucreate -n Solaris_10_10-09
  2. luupgrade -u -n Solaris_10_10-09 -s /cdrom/…
  3. luupgrade -t -n Solaris_10_10-09 -s /…/10_Recommended/
  4. lustatus
  5. luactivate Solaris_10_10-09
  6. init 6

Die dann noch fehlenden Zonen wieder einkommentieren und mit

zoneadm -z <zönchen> attach -u

auf den neusten Stand bringen.

Wenn dann alles OK gelaufen ist, kann man noch die ZFS Pools updaten:

zpool upgrade <rootpool>

und die alte BE löschen:

ludelete Solaris_old-BE

aber auch hier muss die Shell Variable wie oben beschrieben gesetzt sein.

Viele Grüße

Michael

Thema: Solaris | Beitrag kommentieren

Ein paar Security Features von Solaris

Mittwoch, 24. Februar 2010 | Autor: Michael Zimmer

Hallo Sysadmins!

Heute möchte ich mal einige in Solaris eingebaute Security Features vorstellen. Man kann bei Solaris 10 auch nur mit Bordmitteln schon einiges tun. Hier ein paar Anregungen.

  • Protect OBP :

eeprom security-mode=command

Damit wird bei Änderungen im Boot Prompt ein Passwort gefordert.  Es gibt auch die Möglichkeit den Level auf “full” zu setzen. Dann aber braucht man auch beim Booten der Maschine das Passwort!

  • None Executable Stack:

/etc/system Parameter: set noexec_user_stack=1

Damit werden typische Buffer Overflows, wo aus dem User Stack code ausgeführt wird, mindestens behindert. Allerdings ist hierfür ein Reboot erforderlich, damit der Parameter zieht. Für die Installationen einer Oracle DB oder von Veritas Produkten wird das eh gefordert.

  • Core Dump Logging:

/usr/bin/coreadm -e log

Ist das eingestellt, wird beim Auftreten eines Coredumps, per syslog geloggt. Ansonsten weiß man ja gar nicht unbedingt ob ein Core aufgetreten ist (ok, vom syscore mal abgesehen ;-) ). Was das mit Security zu tun hat? Nun, vielleicht macht man einen Fehler beim hacken und statt das es funktioniert stürzt der betroffene Deamon ab …

  • BART:

Nein nein – ich meine nicht Bart Simpson …. sondern Basic Audit Reporting Tool. Das hat eine ähnliche Funktion wie das Produkt Tripwire. Zu jedem File wird ein Eintrag in eine zu erstellendes Verzeichnis gestellt. Nach diesem initialen Lauf, kann nach jedem weiteren Lauf das jeweils neu erstellte Verzeichnis mit “bart compare” verglichen werden und dadurch ein Report erzeugt werden. Es macht übrigens keinen Sinn, wie in unten angeführten Beispiel, das Verzeichnis /root/bart.control auf der Maschine liegen zu lassen (wenigstens die MD5 Summe ziehen und vergleichen, besser verschlüsseln und noch besser beides und ab auf eine andere Maschine).

  1. find <dir> | bart create -I > /root/bart.control
  2. find <dir> | bart create -I > /root/bart.test
  3. bart compare /root/bart.control /root/bart.test
  • Signed ELF:

Die Solaris Binaries im ELF Format sind alle von Hause aus signiert. Diese Signatur kann man auch überprüfen und damit feststellen, ob das Programm im Orginal vorliegt:

elfsign verify -e <elf-bin>

  • Fingerprint DB :

Noch eine Nummer besser: Mit Hilfe der MD5 Checksumme eines jeden Betriebssystem Files (es sind ja nicht alles ELF-Binaries, sondern auch Skripte) kann auf bei SUN auf der Sunsolve Seite feststellen, zu welchem Release das File gehört, wie der Pfad lauten soll, zu welchem Paket es gehört und auch wie der Patchstand ist.

Prüfsumme generieren:

digest -v -a md5 <file>

Damit dann auf http://sunsolve.sun.com/pub-cgi/fileFingerprints.pl und hier die Checksumme eingeben!

Ist doch nicht übel, oder ;-)

Viele Grüße

Michael Zimmer

Thema: Solaris | Beitrag kommentieren

Oracle kauft SUN.

Mittwoch, 27. Januar 2010 | Autor: Michael Zimmer

Hallo,

heute gibt’s ne große Show von Oracle zur Übernahme von SUN.

Wer Spaß dran hat kann auch die Zwitscherreien online verfolgen. Hier die Twitterwal!

Viele Grüße

Michael

Thema: Oracle, Solaris | Beitrag kommentieren

ZFS überprüfen (scrub)

Sonntag, 17. Januar 2010 | Autor: Michael Zimmer

Hallo,

ZFS ist ja ein tolles Filesystem. Es hat Prüfsummen für jedes File und kann so feststellen, ob das File unbeschädigt und intakt ist. Bei Plattenspiegelung (mirror, RAID1) kann ZFS also feststellen, welche der Kopien die unbeschädigte ist. Im Gegensatz zu den alten Verfahren des Mirroring, wo nur sichergestellt werden kann, das die beiden Spiegel physikalisch mit den gleichen Daten versehen sind, ergibt das eine erheblich erhöhte Datensicherheit.

Um sicher zu stellen, das die Daten auf beiden Spiegeln intakt sind, gibt es den Befehl scrub. Das sollte man bei gespiegelten Filesystemen gelegentlich laufen lassen. Da es natürlich I/O intensiv ist, kann man immer nur einen Scrubbing Prozess laufen lassen, also keine parallele Verarbeitung.

zpool scrub [-s] pool

-s: stop

zpool scrub rpool

Das Scrubbing läuft im Hintergrund ab. Man kann sich mit zpool status den Fortschritt anzeigen lassen:

root@UDSSR:~# zpool status
pool: rpool
state: ONLINE
scrub: scrub in progress for 0h0m, 0.63% done, 0h28m to go
config:

NAME        STATE     READ WRITE CKSUM
rpool       ONLINE       0     0     0
mirror-0  ONLINE       0     0     0
c5d0s0  ONLINE       0     0     0
c5d1s0  ONLINE       0     0     0

errors: No known data errors

Bei preiswerten Platten sollte man etwa alle 2 Wochen einen Lauf starten. So bekommt man Plattenfehler rechtzeitig mit und kann ohne Datenverlust für Ersatz sogen. Wichtige Applikationen laufen sowieso auf Systemen mit robusteren Server Platten. Dort reicht es auch etwa alle zwei Monate einen Scrub Lauf zu starten.

Viele Grüße

Michael

Thema: Solaris, UNIX | Beitrag kommentieren

Wie kommt man eigenlich bei OpenSolaris auf die Developer Builds?

Freitag, 4. Dezember 2009 | Autor: Michael Zimmer

Hallo,

alle guten Dinge sind drei: Auch bei SUN gibt es etwas Neues zu vermelden:

OpenSolaris Developer Build 128 ist zu haben. Ich lade das meist bei Genunix herunter.  Das ist meines Erachtens ein super Überblick über alle verfügbaren Releases.

Wenn man bereits OpenSolaris 2009.06 installiert hat und auf den Developer Zweig wechseln möchte ist das denkbar einfach möglich:

$ pfexec pkg set-publisher -O http://pkg.opensolaris.org/dev opensolaris.org
$ pfexec pkg image-update

Und noch ein Tipp für die “Virtuelle Fraktion”: JeOS – Just enough OS Project. Eine minimale Installation vom OS. Wenn ich das richtig sehe, leider nur für virtuelle Maschinen zur Zeit. Das habe ich selber noch nicht ausprobiert (erwischt), aber ich finde das sehr interessant. Bei Solaris zeichnet sich meines Erachtens der Weg, ein OS nur noch minimal zu installieren und dann alle Anwendungen in Zonen mit genau den Paketen zu versorgen die sie auch brauchen, ab. Und dabei ist JeOS ein toller Ansatz. Demnächst sicher mehr davon in diesem Zirkus …

Viele Grüße

Michael

Thema: Solaris | Beitrag kommentieren

Dtrace: Heldenfunk 39

Montag, 16. November 2009 | Autor: Michael Zimmer

Hallo,

der neue Heldenfunk mit der Nr. 39 beschäftigt sich ausführlich mit Dtrace. Sehr hörenswert.

Schnell Entschlossene finden das DTraceToolkit hier.

Außerdem singen sie wieder – die Helden …

Viel Spaß dabei

Michael

Thema: Solaris | Beitrag kommentieren

Loopback Interface für Solaris konfigurieren

Freitag, 23. Oktober 2009 | Autor: Michael Zimmer

Können Sie sich noch daran erinnern, wie man Loopback Interfaces konfiguriert?

Hier ein Beispiel für Solaris:

/sbin/ifconfig lo0 plumb 127.0.0.1 up

oder auch für eine Zone aus der globalen Zone heraus:

/sbin/ifconfig lo0:<nummer> plumb 127.0.0.1 up zone <zonenname>

Inet6 ist natürlich auch einfach:

ifconfig lo0:<nummer> inet6 plumb ::1/128 zone <zonenname>

Thema: Solaris, UNIX | Beitrag kommentieren

OpenSolaris – die jeweils Neusten Builds

Samstag, 3. Oktober 2009 | Autor: Michael Zimmer

Hallo

Sie sind genauso ungeduldig wie ich?

Sie können auch nicht ein halbes Jahr warten bis ein neues Release von OpenSolaris erscheint?

Auf der Genunix Seite wird uns geholfen. Die jeweils frischen Builds von OpenSolaris, sowie auch alle weiteren OpenSolaris Distributionen, liegen hier bereit. Praktischerweise auch die USB Versionen für x86 als LiveSystem zum ausprobieren.

Wie man das auf einen USB Stick bekommt habe ich hier schonmal beschrieben (usbcopy).

Viele Grüße

Michael Zimmer

Thema: Solaris | Beitrag kommentieren

Wie erstellen Sie ein RAM Disk unter Solaris

Montag, 28. September 2009 | Autor: Michael Zimmer

Hallo,

in meinem Video über Bare Metall Recovery habe ich das Erstellen einer RAM Disk erwähnt.

Haben Sie sich gefragt, wie man das eigentlich macht? Bei einem Beispiel erkennen Sie wie einfach das unter Solaris geht:

  • RAM Disk erstellen

ramdiskadm -a mydisk 100m

  • Filesystem erstellen

newfs /dev/rramdisk/mydisk

  • Mountpoint erstellen

mkdir /myramdisk

  • Filesystem mounten

mount /dev/ramdisk/mydisk /myramdisk

  • Testen

fstyp /dev/rramdisk/mydisk

ufs

df  -h /myramdisk

Filesystem            Size  Used Avail Use% Mounted on
/dev/ramdisk/mydisk    94M  1.1M   84M   2% /myramdisk

Beim nächsten Boot ist natürlich alles wieder weg.

Wozu brauche ich das nun? Beispielsweise um auf einer von CD gebooteten Maschine temporär noch zusätzlich Software installieren zu können.

Viele Grüße

Ihr

Michael Zimmer

Nachtrag:

Natürlich geht das auch mit ZFS:

  • RAM Disk erstellen

ramdiskadm -a mydisk 100m

  • Pool anlegen

zpool create tempool /dev/ramdisk/mydisk

  • ZFS anlegen

zfs create tempool/myramdisk

  • fertich is ….

fstyp /dev/rramdisk/mydisk

zfs

df -h /myramdisk

Filesystem            Size  Used Avail Use% Mounted on
rpool/ROOT/opensolaris-1
20G  5.8G   15G  29% /

Thema: Solaris | Beitrag kommentieren