Wenn der ESX-Server keine Icinga-VM annimmt...

Wer sich die neueste Version von Icinga zum Ausprobieren herunterladen will, greift aus Bequemlichkeit sicher auf die virtuelle Maschine zurück, die bereits eine vorgefertigte, vollständige Installation enthält. Das dabei verwendete ova-Format kann allerdings nicht ohne weiteres in einer VMware-Umgebung verwendet werden. Zwar taucht auch ova in den von VMware unterstützten Virtualisierungsformaten auf, in diesem speziellen Fall trifft das jedoch nicht zu. Der VMware vCenter Converter zumindest weigert sich, die Icinga-Datei anzunehmen. Was man tun muss, um Icinga.ova in einen ESX-Server hochzuladen, wird hier beschrieben.

Zuerst zerlegt man Icinga.ova in seine beiden Bestandteile, die virtuelle Disk Icinga-disk1.vmdk und die Beschreibungsdatei Icinga.ovf. Das funktioniert ganz einfach mit dem tar-Kommando.

tar xf Icinga.ova

Danach muss man die ovf-Datei in eine vmx-Datei umwandeln. Hierfür findet man auf der Webseite von VMware das OVF Tool.

Grundsätzlich lautet das Kommando zur Konvertierung

ovftool Icinga.ovf Icinga.vmx

An dieser Stelle kracht es aber erstmal und man bekommt die Fehlermeldung:

Opening OVF source: Icinga.ovf
Warning: No manifest file
Opening VMX target: Icinga.vmx
Warning:
 - The specified operating system identifier 'Linux26_64' (id: 100) is not supported on the selected host. It will be mapped to the following OS identifier: ''.
Error: OVF Package is not supported by target:
 - Line 25: Unsupported hardware family 'virtualbox-2.2'.

Man muss daher das ovf-File von Hand so abändern, daß es vom ovftool akzeptiert wird. Als Beispiel sei der Typ des Festplattencontrollers genannt, der von SATA nach SCSI geändert werden muss. Auch die Soundkarte fliegt raus. Kurz, man muss folgenden Patch gegen die Datei Icinga.ovf anwenden.

--- Icinga.ovf  2011-02-15 17:24:55.000000000 +0100
+++ VMIcinga.ovf        2011-02-18 15:36:03.734559400 +0100
@@ -15,10 +15,8 @@
   </NetworkSection>
   <VirtualSystem ovf:id="Icinga">
     <Info>A virtual machine</Info>
-    <OperatingSystemSection ovf:id="100">
+    <OperatingSystemSection ovf:id="80" ovf:version="5" vmw:osType="rhel5_64Guest">
       <Info>The kind of installed guest operating system</Info>
-      <Description>Linux26_64</Description>
-      <vbox:OSType ovf:required="false">Fedora_64</vbox:OSType>
     </OperatingSystemSection>
     <VirtualHardwareSection>
       <Info>Virtual hardware requirements for a virtual machine</Info>
@@ -26,7 +24,7 @@
         <vssd:ElementName>Virtual Hardware Family</vssd:ElementName>
         <vssd:InstanceID>0</vssd:InstanceID>
         <vssd:VirtualSystemIdentifier>Icinga</vssd:VirtualSystemIdentifier>
-        <vssd:VirtualSystemType>virtualbox-2.2</vssd:VirtualSystemType>
+        <vssd:VirtualSystemType>vmx-07, vmx-04</vssd:VirtualSystemType>
       </System>
       <Item>
         <rasd:Caption>1 virtual CPU</rasd:Caption>
@@ -65,12 +63,11 @@
       </Item>
       <Item>
         <rasd:Address>0</rasd:Address>
-        <rasd:Caption>sataController0</rasd:Caption>
-        <rasd:Description>SATA Controller</rasd:Description>
-        <rasd:ElementName>sataController0</rasd:ElementName>
+        <rasd:Description>SCSI Controller</rasd:Description>
+        <rasd:ElementName>SCSI Controller 0</rasd:ElementName>
         <rasd:InstanceID>5</rasd:InstanceID>
-        <rasd:ResourceSubType>AHCI</rasd:ResourceSubType>
-        <rasd:ResourceType>20</rasd:ResourceType>
+        <rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>
+        <rasd:ResourceType>6</rasd:ResourceType>
       </Item>
       <Item>
         <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
@@ -90,16 +87,6 @@
         <rasd:ResourceType>23</rasd:ResourceType>
       </Item>
       <Item>
-        <rasd:AddressOnParent>3</rasd:AddressOnParent>
-        <rasd:AutomaticAllocation>false</rasd:AutomaticAllocation>
-        <rasd:Caption>sound</rasd:Caption>
-        <rasd:Description>Sound Card</rasd:Description>
-        <rasd:ElementName>sound</rasd:ElementName>
-        <rasd:InstanceID>8</rasd:InstanceID>
-        <rasd:ResourceSubType>ensoniq1371</rasd:ResourceSubType>
-        <rasd:ResourceType>35</rasd:ResourceType>
-      </Item>
-      <Item>
         <rasd:AddressOnParent>0</rasd:AddressOnParent>
         <rasd:AutomaticAllocation>true</rasd:AutomaticAllocation>
         <rasd:Caption>cdrom1</rasd:Caption>

Damit funktioniert dann auch die Konvertierung mit dem OVF Tool. Es ist nur noch darauf zu achten, daß man der Ziel-VM einen anderen Namen als "Icinga" gibt, denn dies führt zu einem Namenskonflikt. In diesem Beispiel heisst das Ziel "vmicinga".

ovftool Icinga.ovf vmicinga.vmx

Das läuft nun eine Weile, aber hinterher bekommt man die zwei Dateien vmicinga.vmx und vmicinga-disk1.vmdk, die man mit dem VMware vCenter Converter in einen ESX-Server hochladen kann.

Author: Gerhard Laußer
Categories: nagios
Monitoring-Workshop 2017 12./13.9. Düsseldorf