Der Titel dieses Artikels ist eine Zeile aus den SLES11 Beta3 Release Notes. Dieser Artikel soll aber kein Suse bashing sein, sondern vielmehr will ich etwas Frust über den desolaten Zustand der Xen Unterstützung im Linux Kernel herauslassen.
Dabei ist der Hypervisor (erwartungsgemäß wegen der Simplizität) nicht das Problem, sondern die Paravirtualisierung der Guests und Support von aktuellen Linux Kernels für die Dom0 Host Domain. Sogar Microsoft Hyper-V (Windows 2008 Server) und Sun xVM Server (Solaris) haben bessere Xen-komptible Hosts zu bieten als mit einem aktuellen mainstream Linux Kernel erreichbar ist.
Fedora/Redhat die bisher viele Forward-Port Arbeiten an den Xen Patches in aktuelle Kernels gemacht haben planen ein Fedora 10 Release mit einem Hauptkernel (Linux 2.6.27 / Xen 3.3.0) der sowohl Bare-Metal als auch DomU Installationen unterstützt (durch die Verwendung des paravirt_ops Frameworks). Also ein sogenannter Unified Kernel. Das klingt zwar gut, aber gleichzeitig wird es keinen Kernel geben der als Dom0 (Host) eingesetzt werden kann. Hier verweist das Fedora Projekt auf F8 oder KVM mit dem Xen-in-KVM Emulator Xenner. Dieser setzt aber Hardware Unterstützung voraus.
Bei Debian gibt es einen vergleichbaren Unified Kernel, und recht aktuell (Bug#495895) gibt es jetzt in Debian unstable dank Sebastian Blank wieder einen Dom0 Kernel auf Basis der Suse Patches.
Suse selbst hat aber in der SLES11 Beta (wie man am Titel sehen kann) noch einige Probleme in diesem Bereich. Ich denke auch bei Debian hat das noch niemand wirklich ausgiebig getestet. Bleiben die kommerziellen Xen Server 5 (Citrix) Installationen wenn man einen Bastel-freien Linux basierenden Hypervisor betreiben möchte.
Bei Oracle gibt es die Xen 3.1 basierte OracleVM die aber eine zentrale Management Console empfiehlt und Redhat liebäugelt nach RHEL 5 mit einer eigenen Virtualisierungslösung auf Basis von KVM (verständlich nach dem Kauf von Qumranet).
Ich bin ganz Froh zu sehen dass Suse hier den Dom0 Support wieder nutzbar macht, und Debian ist ganz unerwartet einer der fast-followers.
Beim Virtual PC Guy Blog gibt es Screenshots der Installation und "Gui" des neusten "Betriebsystems" von Microsoft:
Aber Spass beiseite, der Hyper-V Server 2008 ist die kostenlos von Microsoft bereitgestellt Hypervisor Platform auf Basis von Windows Server 2008.
Hyper-V Server wird mit einem minimalen Environment geliefert (genannt Server Core: ohne Explorer GUI oder Startleiste). Es ist auch nicht möglich Anwendungen zu installieren.
Eine vergleichbare Installation kann auch mit einem Windows Server 2008 gemacht werden: Hyper-V sitzt auch dort unter dem Betriebssystem. Allerdings sind in der Server Version Lizenzen für 1 (Standard), 4 (Enterprise) oder unbegrenzt (Datacenter) viele virtualisierte Windows Server 2008 Instanzen enthalten.
Auf einem Hyper-V Server (der nur auf 64bit Hardware (max 4 Sockets, 32GB) mit Hardware Virtualisierung läuft) können diverse (Microsoft) Betriebssysteme betrieben werden. Die Emulation der Legacy Devices ist (im Gegensatz zum MS Virtual Server) nicht optimiert, Guests sollten also Device Treiber in einsetzen die von der Virtualisierung wissen ("erleuchted sind").
Für Linux bietet Microsoft die Linux Integration Components for Hyper-V (Beta) als Paket an, SLES 10 (32bit oder x64) ist damit auf Hyper-V Server zertifiziert (allerdings nur mit einer virtuellen CPU). Dabei werden Xen enabled Kernels eingesetzt.
Oracle und Amazon arbeiten zusammen um Oracle Anwendungen im Amazon Grid anzubieten. Es gibt jetzt einige Images die von Oracle kostenlos bereitgestellt werden. Oracle erlaubt sogar den Betrieb von Produktiven lizenzierten Anwendungen im EC2 Grid. Die Konfiguration ist sogar für offiziellen Support zertifiziert.
Besonders interessant sind aber auch die Möglichkeiten die vorinstallierten Anwendungen wie Application Express oder Enterprise Manager Grid einfach mal ausprobieren zu können.
Ich installiere gerade eine Java Anwendung in einem Windows 2008 Server.
Dabei verwende ich ein Windows XP als Host, Sun's VirtualBox als VMM und das Windows 2008 Core Edition liegt als dynamisch wachsende virtuelle Festplatte im VHD Format vor.
Jetzt trat das Problem auf, dass der Host nicht mehr genug Speicherplatz für das wachsende Image hatte. Dies wurde dem Java Programm sauber als IOException gemeldet, aber als Reason wird (verständlicherweise) kein "file system full" oder "no space on device" gegeben, sondern die Meldung:
"The drive cannot find the sector requested"
Dies ist verständlich, wenn man sich vor Augen hält dass der IDE Treiber den Fehlerzustand an das NTFS des Guests melden muss. Ein "Kann den Sektor nicht belegen" ist so ziemlich der passendste Fehler der man sich in der Schicht denken kann.
Dieser Bug ist übrigens extrem kritisch. Im Gegensatz zur Platznot im Filesystem - von der sich das Filesystem wieder erholen kann - sind Allocation Fehler von beliebigen Sektoren deutlich kritischer, insbesondere wenn das bei Filesystem Meta Blöcken passiert statt bei Datenblöcken. Schnell kann das Filesystem dann aussteigen. Dies wiederum ist der Tot des Servers, wenn es sich dabei um System-Partition oder Swap-Partition handelt. Diese Laufwerksarten sollte man also in einer virtualisierten Umgebung niemals auf eine virtuelle Disk mit uncommited Speicher legen. Sicher kann man damit etwas Platz sparen und wenn man das ganze überwacht passiert es selten. Aber wenn es passiert, so kann man den Guest erst mal rebooten (worst case).
Martin Fowler schreibt gerade an einem Buch über Domain Spezifische Sprachen (DSL), und in diesem Zusammenhang produziert er interessante Blog Artikel. Ich möchte hier auf einen Artikel von Ihm hinweisen, mit dem Titel "Parser Fear". Amüsantes Zitat am Rande:
So why is there an unreasonable fear of writing parsers for DSLs? I think it boils down to two main reasons.
You didn't do the compiler class at university and therefore think parsers are scary.
You did do the compiler class at university and are therefore convinced that parsers are scary.
The first is easy to understand, people are naturally nervous of things they don't know about. The second reason is the one that's interesting. What this boils down to is how people come across parsing in universities. Parsing is usually only taught in a compiler class, where the context is to parse a full general purpose language. Parsing a general purpose language is much harder than parsing a Domain Specific Language, if nothing else because the grammar will be much bigger and often contain nasty wrinkles which you can avoid with a DSL.
Ist sicherlich interessant zu sehen was Fowler zusammenbrauen wird. Eine Sache dich ich übrigens interessant finde ist, dass er sich um das Thema DSL Workbenches im Buch "drückt" und selbst ANTLR als Basis verwendet. Immerhin gibt es doch einige sehr leistungsfähige Projekte zum Beispiel Eclipse Modelling oder Visual Studio DSL Tools.
Heute finden an der Uni-Karlsruhe gleich zwei interessante Termine statt. Die Java User Group Karlsruhe musste deswegen in den Raum -102UG in der Informatik Fakultät ausweichen, dort gibt es um 19:15Uhr (-21:15) einen Vortrag von Dr. Patrick Schemitz (Netpioneer GmbH) zum Thema Grundladen [Web] Security Auditing.
In -101UG spricht Dr. York Sure von SAP Research im Rahmen der GI/ACM Regionalgruppe Karlsruhe über Internet of Services. Dabei geht es um den Einsatz von Semantischen Technologien bei der Vermarktung von Internet Services.
Beide Termine finden sich auf dem IT-Kalender des Stadtblog KA. Dort findet sich auch eine Ankündigung für Morgen: Gründung des "Verein der Karlsruher Software-Ingenieure" um 16:00-18:00 am FZI. Näheres dazu in der Presseerklärung von FZI, KIT, adrena objects, 1&1, SAP und HsK.
Ich werde wohl bei der JUG-KA vorbeischauen heute Abend und mir Morgen die Info Veranstaltung ansehen.
Gemeinhin wird die bessere Auslastung der Hardware Resourcen als Vorteile der Virtualisierung genannt. Um dazu aber größere Investitionen in Infrastruktur oder Lizenzen zu rechtfertigen muss man die Einsparungen und Kapazitäten auch visualisieren können.
Auszug aus dem Microsoft Guide zu Microsoft Office Visio 2007 Professional Add-In for Rack Server Virtualization
Zu diesem Zweck bietet Microsoft jetzt ein Visio Connector Plugin an, dass die Vorteile von Server Konsolidierung als Grafik (Virtual Rack) sichtbar machen können soll.
Dabei greift Visio auf Excel Arbeitsblätter zu, die wiederum mit WMI und MOM Daten verknüpft sind. Das finde ich auch den besonders interessanten Teil an diesem Connector. Die Zugriffe auf WMI Live-Daten oder auf historische Auslastungszahlen des MOM Archivs erlaben es Server Auslastungen zu visualisieren.
Via Infoworld Virtualization Report.
Bei Youtube findet sich eine Video Botschaft von Dr. Mathias Döpfner (CEO) an die Angestellten des AxelSpringer Verlags. Bei Timecode 1:30 findet sich dann auch diese Aussage hier:
Ich glaube jeder Arbeitsplatz sieht ein bisschen schöner aus, wenn ein Apple Gerät daraufsteht.
Ich bin mir nicht sicher, ob man IT mit Spass und Schönheit verkaufen muss, aber ich frage mich ob man wirklich Geld dabei sparen kann - besonders wenn man selbst erkannt hat dass es noch keine großen Anwender Unternehmen gibt (Axel Springer wird damit zum 2. größten Apple Firmenkunden nach Google weltweit).
Wie gut eignen sich die Apples denn in großen Unternehmensnetzen? Gibt's da Dinge wie Group Policy, Directory und System Management Server?
Seit einiger Zeit beobachte ich schon, dass Oracle eine Menge Grundlagenartikel zu Linux (zu Oracle Enterprise Linux) in Ihrer Knowledge Base anlegt. Zum beispiel werden alle Linux daemons beschrieben (555093.1 "Linux OS Service: tux"), oder der KB Artikel 559611.1: "Maximum Number of CPU cores Supported by a Single Linux System".
Da frage ich mich doch, ob dieser extreme Aufwand der hier (parallel zur Mutterdistribution RHEL und parallel zur Linux Community) getrieben wird irgendwie sinnvoll ist:
a) die Informationen sind in der properitären KB versteckt
b) die Informationen duplizieren teilweise schon längst erstellte Ressource (insbesondere Manpages)
c) ein Großteil der Infos ist Linux spezifisch
d) Oracle könnte ihre Ressourcen intern sicher besser einsetzten als jetzt "echter" Linux Distributor zu werden
Eventuell hat ja Oracle das Problem Content in der KB bereitstellen zu müssen um Mehrwert verkaufen zu können. Aber selbst dann könnte man doch einen Prozess aufsetzen in dem z.B. ein vorhandenes Dokumentations-Projekt mit Kick-Start Content versorgt wird, und regelmäßig Zwischenstände redaktionell bearbeitet in die Oracle-KB übernommen werden. Damit wäre beiden Seiten gedient.
In dem Zusammenhang ist interessant zu sehen, dass Google hier wieder mal sich des Themas annimmt, und Google knol ins leben ruft. Eine Art Community Knowledge-Base - die allerdings irgendwie den Community/wiki Gedanken noch etwas vermissen läßt.
Im Gegensatz zum Begriff Grid Computing ist das Thema Cloud computing etwas eindeutiger definiert. Es geht darum IT-Resourcen (Rechner oder Laufzeitumgebungen) aus der Wolke des Internets einzukaufen, also die Anwendungen remote zu betreiben.
Die bekanntesten Vertreter dieses Genres sind Amazon's EC2 (Elastic Cloud Computing - eine Serverfarm auf der man Xen Images auf Stundenbasis laufen lassen kann) und Google App Engine (eine Python Web Server umgebung für Web Anwendungen).
Beide haben grade aktuell Neuigkeiten zu vermelden: Google App Engine ist nun offen für alle Entwickler (die kostenfreie Einsteigerversion erfordert eine SMS Registrierung, und kann auch mit Google Apps for Domains zusammenarbeiten).
In der Public Beta des Amazon Cloud Services werden bald persistente Volumes möglich sein: damit sind dann auch klassische Enterprise Anwendungen einfach zu betreiben und nicht nur Compute Jobs (Video Rendering) oder replizierte Datenbanken.
In zwei kommenden Artikel will ich beide Dienste etwas näher vorstellen, und meine Bewertung dazu abgeben wo und wie das Utility Computing funktionieren kann.
In an effort to capture lessons learned in the development of electronic data interchange (EDI) over the last several decades, AIAG partnered with other leading global automotive organizations on the development of a document now available as a free download.
Automotive History of EDI (AIAG E-18)
Ist vielleicht nicht allen Lesern hier bekannt, aber mit EDI hatte ich schon 1989 zu tun, als ich als Schüler-Ferienjob einen der erfolgreichsten deutschen EDI Konverter (mit)geschrieben habe: den TLA (Teil der Subelke von Seeburger). Zufälligerweise war auch eine der ersten Testdaten für das "neue" (DOS basierende) Produkt ein VDA4905 (Lieferabruf). Von daher ist die Automotive EDI History zumindest für mich ein Stück IT Nostalgie.
Da ich davon beim abendlichen Beercall erzählt bekam gehe ich davon aus, dass es schon alte News ist und sage dazu nichts weiter... naja außer vielleicht:
2ecki@calista:~> dpkg -l openssl
||/ Name Version Description
+++-===================-===================-======================================================
ii openssl 0.9.7e-3sarge5 Secure Socket Layer (SSL) binary and related cryptogra
Ein nettes Feature beim Oracle SQL Developer ist die Möglichkeit einfachere oder komplexere SQL Statements als Reports zu hinterlegen und dann laufen zu lassen. Visualisierung in Form von Tabellen oder Grafiken mit inbegriffen.
Report: Usage Segment Size
In lockerer Folge möchte ich einige der Reports vorstellen die ich so einsetze. Heute der "Segment Size" Report, der eine Liste aller Segmente (eines Owners) erstellen kann, und diese nach Platzbedarf sortiert. Dabei werden für die Typen TABLE, INDEX und LOB* Details ausgegeben (also insbesondere zu welcher Tabelle das LOB oder Index Segment gehört, und welche Spalten es abdeckt).
Beim Start des Reports kann man den Owner (Schema User) angeben, für den man sich interessiert. Es wird hier ein substring vergleich verwendet, also bei der Eingabe von SYS (wie im Screenshot) werden die Ausgaben gruppiert nach mehreren Ownern gemacht.
Hier als Beispiel, der Index der im SYS Schema den meisten Raum belegt hat den Segment Namen "I_WRI$_OPTSTAT_H_OBJ#_ICOL#_ST" und er ist auf der Tabelle "WRI$_OPTSTAT_HISTGRM_HISTORY" im Tablespace SYSAUX angelegt. Der Index hat 3 Spalten, im Report wird nur die erste und letzte ausgegeben: "3: INTCOL#,SYS_NC00013$". Dies ist eine Einschränkung, weil es keine portable String Aggregationsfunktion gibt. Eventuell will sich jemand die Mühe machen dies auf mehr Spalten auszubauen?
Die Größenangabe des Segments (in Extends und Megabytes) basiert auf den Spalten bytes und extends aus dem DBA_SEGMENTS view. Entspricht also dem Platzverbrauch aber nicht dem Füllstand. Ausgelassen werden Recylce Objekte.
Der Report sollte mit allen Oracle Database Versionen lauffähig sein, das Export File ist im SQL Developer 1.5 Format. eckes-sqldeveloper.xml
Dana hat einen Artikel zum Thema verfasst (in Englisch) der ziemlich genau beschreibt, warum einige Unternehmen - gerade im Bereich IT und High-Tec - versagen. Lesebefehl.
Innovation statt Kapitulation.