<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>codegods &#187; UNIX</title>
	<atom:link href="http://codegods.de/category/unix/feed/" rel="self" type="application/rss+xml" />
	<link>http://codegods.de</link>
	<description>where code meets experts</description>
	<lastBuildDate>Wed, 18 Apr 2012 12:42:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>VmWare ESXi Remote-Installation</title>
		<link>http://codegods.de/2008/12/02/vmware-esxi-remote-installation/</link>
		<comments>http://codegods.de/2008/12/02/vmware-esxi-remote-installation/#comments</comments>
		<pubDate>Tue, 02 Dec 2008 01:04:30 +0000</pubDate>
		<dc:creator>Sebastian Henke</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[UNIX]]></category>
		<category><![CDATA[Virtualisierung]]></category>
		<category><![CDATA[dd]]></category>
		<category><![CDATA[esx]]></category>
		<category><![CDATA[esxi]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[remote]]></category>
		<category><![CDATA[rootserver]]></category>
		<category><![CDATA[virtualization]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://codegods.de/?p=100</guid>
		<description><![CDATA[Nur wenige Anbieter von sogenannten Rootservern, welche wegen Verwechslungsgefahr mit den "richtigen" Rootserver für das DNS eigentlich eher anders bezeichnet werden sollten, bieten ausführliche Details über verbaute Hardware. Eine der wenigen Ausnahmen ist Serverloft. Dies lud uns zu einem waghalsigen Experiment ein: ist es möglich, einen ESXi Server, der momentan von VmWare kostenlos zum Download [...]]]></description>
			<content:encoded><![CDATA[<p>Nur wenige Anbieter von sogenannten Rootservern, welche wegen Verwechslungsgefahr mit den "richtigen" Rootserver für das DNS eigentlich eher anders bezeichnet werden sollten, bieten ausführliche Details über verbaute Hardware. Eine der wenigen Ausnahmen ist Serverloft. Dies lud uns zu einem waghalsigen Experiment ein: ist es möglich, einen ESXi Server, der momentan von VmWare kostenlos zum Download angeboten wird, über das Netz und ohne Eingreifen des Supports zu installieren?<br />
<span id="more-100"></span><br />
Beim ESXi Server handelt es sich um eine Virtualisierungslösung aus dem Hause VmWare. VmWare ist seit einigen Jahren Marktführer bezüglich Virtualisierung und ermöglicht Virtualisierung für den professionellen Einsatz.<br />
Der ESXi setzt hierbei nicht wie andere Virtualisierungslösungen auf ein vorhandenes Betriebsystem auf, sondern bringt seinen eigenen Kernel mit. Dieser Kernel ist auf das Nötigste reduziert und bringt neben einem eigenen Dateisystem (vmfs) auch einiges an Tools mit, um virtuelle Maschinen später zu vernetzen. Dieser "Bare-Metal-Hypervisors", wie ihn VmWare nennt, hat jedoch nicht nur Vorteile:<br />
Zum einen hält sich die Unterstützung für verschiedene Hardware in Grenzen, zum anderen gestaltet sich die Installation des ESXi ohne direkten Zugang mit Monitor und Tastatur zum Server äußerst schwierig.<br />
Hier ist es sehr hilfreich, wenn Provider wie Serverloft Daten über die verwendete Hardware preisgeben.<br />
In unserem Beispiel wird der ESXi Hypervisor auf dem "PerfectServer L", einem Fujitsu Siemens PRIMERGY Econel 230R S1 mit folgender Hardware installiert (siehe <a href="http://sp.fujitsu-siemens.com/dmsp/docs/ds_prim-econel230r_s1_ge.pdf">FSC Hardwarebeschreibung</a> bzw. <a href="http://www.serverloft.de">Serverloft Hardwarebeschreibung</a>):</p>
<p>Raid-Controller: LSI 1068<br />
Netzwerkkarten: Broadcom BMC 5715<br />
CPU: AMD Opteron 2344 HE, Quad-Core der Barcelona-Serie<br />
RAM: 4 GB DDR2-RAM ECC</p>
<p>Nach einiger Recherche kamen wir zu dem Ergebnis: diese wichtigen Kernkomponenten werden vom ESX allesamt unterstützt.</p>
<p><strong>Die Installation des ESXi</strong></p>
<p>Die Installation gestaltet sich jetzt etwas komplizierter. An einigen Stellen sollte sehr aufgepasst werden, da Befehle verwendet werden, die potenziell Daten zerstören können, daher bitte immer darauf achten, dass der Befehl beim ersten mal passt (und in der richtigen Konsole ausgeführt wird).</p>
<p>Die Installation geschieht in 3 Schritten:</p>
<li>1. Vorbereitungen</li>
<li>2. Vorbereitung einer VM für den ESX</li>
<li>3. Installation des ESXi in einer lokalen VM</li>
<li>4. Kopieren des Systems</li>
<p><br><br />
1. Vorbereitungen<br />
Der ESXi verfügt über einige Sicherheitsvorkehrungen, die verhindern sollen, dass der ESXi ungewollt falsch verwendet wird. Dazu gehört zum Beispiel auch eine Überprüfung der MAC-Adressen beim Starten. Wenn sich diese ändert, wird die Netzwerkkarte deaktiviert.<br />
Aus diesem Grund wird als erstes die MAC-Adresse des Zielsystems benötigt. Diese kann durch den Befehl "ifconfig" im laufenden Linux des Rootservers herausgefunden werden.<br />
Der Server kann zudem schonmal im Rescuemodus hochgefahren werden.<br />
Außerdem sollte die VmWare Workstation installiert sein. Hier reicht die kostenlos bei VmWare erhältliche 30-Tage-Testversion. Es bietet sich jedoch an, eine Lizenz der Workstation zu kaufen, da sich diese prima eignet, um die VMs aufzusetzen, die später im ESXi laufen sollen. Zudem muss darauf geachtet werden, dass es sich um eine neuere Version handelt (bei uns Version 6.5 Build 126130), da der ESXi auf älteren Versionen nicht läuft.<br />
Außerdem muss <strong>bei 64-Bit-Systemen im BIOS die Hardwarevirtualisierung eingeschaltet</strong> sein.</p>
<p>Der Server, der schon im Rescue-Modus läuft, muss nun temporär etwas angepasst werden. Dazu startet man</p>
<pre>cfdisk /dev/sda</pre>
<p>und löscht alle vorhandenen Partitionen. Dann werden zwei neue erstellt. Die erste sicherheitshalber 20 GB, die zweite mit dem Rest der Festplatte (eigentlich RAID).<br />
Die <strong>zweite</strong> wird nun mit</p>
<pre>mfks.ext2 /dev/sda2</pre>
<p>formatiert. Die erste Partition dient nur als Platzhalter und wird nicht weiter verwendet.<br />
Dann wird die formatierte Partition mit</p>
<pre>mount /dev/sda2 /mnt</pre>
<p>gemountet.</p>
<p>2. Vorbereitung einer VM für den ESXi<br />
Um einen ESXi als VM ans laufen zu bringen sind einige Modifikationen an den Konfigurationsdateien einer virtuellen Maschine nötig. Am einfachsten geht es wohl, die folgenden Zeilen in eine .vmx-Datei zu kopieren und dann in Workstation entsprechend anzupassen:</p>
<pre>
.encoding = "windows-1252"
config.version = "8"
virtualHW.version = "7"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
memsize = "1024"
scsi0:0.present = "TRUE"
scsi0:0.fileName = "anthill.vmdk"
ide1:0.present = "TRUE"
ide1:0.autodetect = "TRUE"
ide1:0.deviceType = "cdrom-image"
floppy0.present = "FALSE"
ethernet0.present = "TRUE"
ethernet0.connectionType = "bridged"
ethernet0.wakeOnPcktRcv = "FALSE"
svga.autodetect = "TRUE"
mks.enable3d = "FALSE"
pciBridge0.present = "TRUE"
pciBridge4.present = "TRUE"
pciBridge4.virtualDev = "pcieRootPort"
pciBridge4.functions = "8"
pciBridge5.present = "TRUE"
pciBridge5.virtualDev = "pcieRootPort"
pciBridge5.functions = "8"
pciBridge6.present = "TRUE"
pciBridge6.virtualDev = "pcieRootPort"
pciBridge6.functions = "8"
pciBridge7.present = "TRUE"
pciBridge7.virtualDev = "pcieRootPort"
pciBridge7.functions = "8"
vmci0.present = "TRUE"
roamingVM.exitBehavior = "go"
displayName = "Anthill"
guestOS = "other"
nvram = "anthill.nvram"
deploymentPlatform = "windows"
virtualHW.productCompatibility = "hosted"
easyInstall.removeFloppy = "FALSE"
unity.customColor = "|23000000"
tools.upgrade.policy = "useGlobal"

extendedConfigFile = "anthill.vmxf"

ide1:0.fileName = "D:\Software\Images\kubuntu-8.04-desktop-amd64.iso"

ethernet0.addressType = "generated"
uuid.location = "56 4d 50 b3 6d cc d9 ea-43 27 69 e1 61 3d 96 c4"
uuid.bios = "56 4d 50 b3 6d cc d9 ea-43 27 69 e1 61 3d 96 c4"
scsi0:0.redo = ""
vmotion.checkpointFBSize = "16777216"
pciBridge0.pciSlotNumber = "17"
pciBridge4.pciSlotNumber = "21"
pciBridge5.pciSlotNumber = "22"
pciBridge6.pciSlotNumber = "23"
pciBridge7.pciSlotNumber = "24"
scsi0.pciSlotNumber = "16"
ethernet0.pciSlotNumber = "32"
vmci0.pciSlotNumber = "33"
ethernet0.generatedAddress = "00:0c:29:3d:96:c4"
ethernet0.generatedAddressOffset = "0"
vmci0.id = "-646518333"
ethernet0.virtualDev = "e1000"
monitor.virtual_exec = "hardware"
monitor_control.restrict_backdoor = "true"

tools.syncTime = "FALSE"

scsi0:1.present = "TRUE"
scsi0:1.fileName = "anthill-0.vmdk"

scsi0:1.redo = ""

vmi.present = "FALSE"

vmi.pciSlotNumber = "-1"

debugStub.linuxOffsets = "0x0,0xffffffff,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0"

ethernet1.present = "TRUE"
ethernet1.connectionType = "hostonly"
ethernet1.wakeOnPcktRcv = "FALSE"

ethernet1.addressType = "generated"
ethernet1.pciSlotNumber = "34"
ethernet1.generatedAddress = "XXXXXXXXXXXXXXXXXXXXXXXXX"
ethernet1.generatedAddressOffset = "10"
</pre>
<p>In der zweitletzten Zeile müssen die vielen X durch die MAC (aus Punkt 1) ersetzt werden.<br />
Dann kann Workstation gestartet und diese Datei geladen werden. Als nächstes klickt man auf "Edit Virtual Machine Settings" -> "Hardware". Sobald man auf die Platten klickt, wird Workstation feststellen, dass die zugehörigen Dateien fehlen. Also die alten löschen und neu anlegen:</p>
<p>Die erste als virtuelle Platte, SCSI (LSI Logic), 8 GB vorallokiert.<br />
Die zweite dient lediglich zum Extrahieren des Systems aus der ersten. 1 GB reicht völlig aus.</p>
<p>3. Installation des ESXi in der lokalen VM</p>
<p>Die soeben erstelle VM kann nun gestartet werden. Als CD wird das Image der ESXi-Installationscd "eingelegt". Beim ESXi kann getrost immer auf weiter geklickt werden. Es sollte natürlich die 8GB Platte ausgewählt werden (falls die andere überhaupt angezeigt wird).</p>
<p>Nachdem die Installation abgeschlossen ist: <font color=red>NICHT REBOOTEN!</font></p>
<p>Der ESXi darf nicht von der VM-Platte gestartet werden. Stattdessen wird nun eine beliebige Linux-Live-CD eingelegt und diese gestartet. </p>
<p>4. Kopieren des Systems</p>
<p>In einer Root-Console des Livesystems in der VM muss jetzt das Image erstellt werden, welches nachher auf den Server geladen wird.</p>
<pre>fdisk -l</pre>
<p>wird nun die zwei VM-Festplatten anzeigen. /dev/sda enthält zahlreiche ESXi-Partitionen, während /dev/sdb unpartitioniert bleibt.<br />
Auf /dev/sdb wird nun eine Partition mit der vollen Größe angelegt. Diese wird anschließend formatiert und z.B. nach /mnt gemountet.<br />
In /mnt wird nun folgender Befehl ausgeführt:</p>
<pre>dd if=/dev/sda | gzip > esximage.gz</pre>
<p>Dieser Befehl liest die Festplatte /dev/sda komplett aus (sind ja nur 8GB) und komprimiert diese in gerademal 200MB und speichert sie in der neu erstellten Partition.<br />
Die Datei esximage.gz enthält jetzt alles was nötig ist, um den ESXi zu installieren. Sie muss jetzt auf den Server nach /mnt kopiert werden. Dies geht direkt mit SSH aus der VM heraus.</p>
<p>Damit ist die Arbeit der lokalen VM erledigt. Workstation kann beendet werden.<br />
Nun wird eine Konsole auf dem Server geöffnet. Im Verzeichnis /mnt wird der folgende Befehl ausgeführt:</p>
<pre>gunzip -c esximage.gz | dd of=/dev/sda</pre>
<p>Dieser sorgt dafür, dass das Image entpackt und auf der Platte gespeichert wird. Dabei wird selbst die aktuell verwendete Partitionstabelle überschrieben. Um sicher zu gehen, dass alle Daten geschrieben werden, wird der Befehl sync ohne Parameter aufgerufen.<br />
Nachdem das Rescuesystem ausgeschaltet wird, kann der Server von my.serverloft.de aus hardresettet werden. Dadurch wird sichergestellt, dass keine Daten mehr am Anfang des RAID-Verbundes geschrieben werden.</p>
<p>Nun sollte der ESXi-Server vom RAID aus Booten. Der Infrastructure Client sollte sich mit dem Server verbinden können. nmap zeigt etwa folgendes Bild:</p>
<pre>
Starting Nmap 4.62 ( http://nmap.org ) at 2008-12-02 00:11 CET
Interesting ports on loft3333.serverloft.de (12.23.23.34):
Not shown: 1710 closed ports
PORT     STATE    SERVICE
80/tcp   open     http
427/tcp  open     svrloc
443/tcp  open     https
902/tcp  open     iss-realsecure
6667/tcp filtered irc

Nmap done: 1 IP address (1 host up) scanned in 1.510 seconds
</pre>
<p><font color=red><strong>Achtung: der ESXi läuft jetzt ohne Passwort! Dieses sollte sofort mit Hilfe des VmWare Infrastructure Clients gesetzt werden!</strong></font></p>
<p>Der Standardlogin mit dem Infrastructure Client funktioniert als Benutzer "root" ohne Passwort.</p>
<p>Der installierte ESXi besitzt bis jetzt noch keine Partition, auf der die VMs abgelegt werden können. Diese kann jedoch leicht angelegt werden. Die weitere Vorgehensweise findet sich in den sehr detailreichen Handbüchern des ESXi.<br />
Außerdem sollte natürlich nicht vergessen werden, den Lizenzkey einzutragen!</p>
<div id="attachment_104" class="wp-caption alignnone" style="width: 310px"><a href="http://codegods.de/wp-content/uploads/2008/12/vmic.jpg"><img src="http://codegods.de/wp-content/uploads/2008/12/vmic-300x184.jpg" alt="VmWare Infrastructure Client auf frisch installiertem ESXi" title="VMIC" width="300" height="184" class="size-medium wp-image-104" /></a><p class="wp-caption-text">VmWare Infrastructure Client auf frisch installiertem ESXi</p></div>
<p>In diesem Sinne auch an einen Dank an Serverloft.<br />
Die Bestellung bei Serverloft ging erstaunlich schnell von Statten. Von der Order bis zur Betriebsbereitschaft vergingen nur 55 Minuten, obwohl Serverloft zuerst mit meiner spanischen Handynummer nicht einverstanden war. Eine Mail an den Support klärte den Sachverhalt und der Server wurde ohne Rückruf freigeschaltet.</p>
]]></content:encoded>
			<wfw:commentRss>http://codegods.de/2008/12/02/vmware-esxi-remote-installation/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Beim Booten von Solaris 5/08 x86 erscheint ein leeres GRUB Menü</title>
		<link>http://codegods.de/2008/04/29/beim-booten-von-solaris-508-x86-kommt-ein-leeres-grub-menu/</link>
		<comments>http://codegods.de/2008/04/29/beim-booten-von-solaris-508-x86-kommt-ein-leeres-grub-menu/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 19:11:16 +0000</pubDate>
		<dc:creator>Dimitrij Wulf</dc:creator>
				<category><![CDATA[UNIX]]></category>
		<category><![CDATA[boot]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[iso]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[zip]]></category>

		<guid isPermaLink="false">http://codegods.de/?p=42</guid>
		<description><![CDATA[Wenn man sich Solaris 5/08 von der Sun-Seite runterläd so bekommt man 2 ZIP-Archive mit den Namen sol-10-u5-ga-sparc-dvd-iso-a.zip und sol-10-u5-ga-sparc-dvd-iso-b.zip. Nachdem Entpacken dieser Dateien erhält man dann sol-10-u5-ga-sparc-dvd-iso-a und sol-10-u5-ga-sparc-dvd-iso-b. Diese Dateien kann man jetzt aber nicht als ISO-Image brennen, sondern muss sie zuerst zusammenführen. Unter Linux geschieht dies mit dem Befehl cat. Angewandt auf [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn man sich Solaris 5/08 von der Sun-Seite runterläd so bekommt man 2 ZIP-Archive mit den Namen <code> sol-10-u5-ga-sparc-dvd-iso-a.zip</code> und <code>sol-10-u5-ga-sparc-dvd-iso-b.zip.</code></p>
<p>Nachdem Entpacken dieser Dateien erhält man dann <code>sol-10-u5-ga-sparc-dvd-iso-a </code> und    <code>sol-10-u5-ga-sparc-dvd-iso-b</code>. Diese Dateien kann man jetzt aber nicht als ISO-Image brennen, sondern muss sie zuerst zusammenführen.</p>
<p>Unter Linux geschieht dies mit dem Befehl <code>cat</code>. Angewandt auf diese beiden Dateien lautet der Befehl folgendermaßen: <code> cat sol-10-u5-ga-sparc-dvd-iso-a sol-10-u5-ga-sparc-dvd-iso-b > sol-10-u5-ga-sparc-dvd.iso </code><br />
Unter Windows geschieht dieses Zusammenführen mit dem <code>copy</code> Befehl. Dieser lautet:<br />
<code> copy /b sol-10-u5-ga-sparc-dvd-iso-a + sol-10-u5-ga-sparc-dvd-iso-b sol-10-u5-ga-sparc-dvd.iso</code></p>
<p>Dieses zusammengeführte ISO-Image kann jetzt gebrannt werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://codegods.de/2008/04/29/beim-booten-von-solaris-508-x86-kommt-ein-leeres-grub-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

