Bei einem Linux unter VMware im laufenden Betrieb eine Festplatte einbinden

Oft ergibt sich die Notwendigkeit auf einem Server mit Linux im laufenden Betrieb eine neue Festplatte anzuschließen. Z.B. wenn der Server virtuell unter VMware läuft und man diesem eine neue Festplatte zuordnet hat und diese ohne Neustart des Servers einbinden möchte.

Um dies bei einem Server mit Linux zu machen benötigt man als erstes die Nummer des HBA (Host Bus Adapter). Diese findet man am besten über das sysfs raus.  Jeder HBA hat ein Verzeichnis unterhalb des Ordners /sys/class/scsi_host/.  Der HBA mit der Nummer 0 hat somit den Ordner /sys/class/scsi_host/host* usw.. In jedem dieser Ordner existiert eine Datei mit dem Namen proc_name. In dieser befindet sich der name des Treibers des jeweiligen HBA. Mit dem Wissen das der Treiber für den LSI Controller von VMware mptspi heißt, muss man jetzt nur noch den HBA, der einen Treiber mit diesem Namen hat. Um nicht in allen Dateien von Hand nachzusehen, kann man dies am besten den Befehl grep fürs ich erledigen lassen. Mit dem folgten Befehlt erhält man eine Ausgabe aller HBA, die die Buchstabenfolge mpt enthalten.

grep mpt /sys/class/scsi_host/host*/proc_name

Wenn die Ausgabe wie folgt aussieht, hat der HBA die Nummer 32.

/sys/class/scsi_host/host32/proc_name:mptspi

Nachdem man die Nummer des HBA rausgefunden hat, muss man den HBA seine Geräte neu scannen lassen. Mit dem folgenden Befehl bittet man den HBA mit der Nummer 32, seine Geräte im laufenden Betrieb neu zu scannen.

echo "- - -" > /sys/class/scsi_host/host32/scan

Danach sollte man mit dmesg sich die Kernelmeldungen ausgeben lassen. Ganz unten bei der Ausgabe sollte der Fund der neuen Festplatte gemeldet werden. Wenn die letzten Zeilen z.B. wie folgt aussehen, ist die Festplatte als Device /dev/sdb von Linux erkannt worden.

Mar  1 14:52:07 portal kernel: [ 1287.033631] scsi 32:0:1:0: Direct-Access     VMware   Virtual disk     2.0  PQ: 0 ANSI: 6
Mar  1 14:52:07 portal kernel: [ 1287.033641] scsi target32:0:1: Beginning Domain Validation
Mar  1 14:52:07 portal kernel: [ 1287.034017] scsi target32:0:1: Domain Validation skipping write tests
Mar  1 14:52:07 portal kernel: [ 1287.034020] scsi target32:0:1: Ending Domain Validation
Mar  1 14:52:07 portal kernel: [ 1287.034046] scsi target32:0:1: FAST-80 WIDE SCSI 160.0 MB/s DT (12.5 ns, offset 127)
Mar  1 14:52:07 portal kernel: [ 1287.034346] sd 32:0:1:0: [sdb] 104857600 512-byte logical blocks: (53.7 GB/50.0 GiB)
Mar  1 14:52:07 portal kernel: [ 1287.034422] sd 32:0:1:0: [sdb] Write Protect is off
Mar  1 14:52:07 portal kernel: [ 1287.034425] sd 32:0:1:0: [sdb] Mode Sense: 61 00 00 00
Mar  1 14:52:07 portal kernel: [ 1287.034444] sd 32:0:1:0: [sdb] Cache data unavailable
Mar  1 14:52:07 portal kernel: [ 1287.034447] sd 32:0:1:0: [sdb] Assuming drive cache: write through
Mar  1 14:52:07 portal kernel: [ 1287.034908] sd 32:0:1:0: Attached scsi generic sg2 type 0
Mar  1 14:52:07 portal systemd-udevd[1657]: Process '/bin/sh -c 'echo 180 >/sys$DEVPATH/device/timeout'' failed with exit code 2.
Mar  1 14:52:07 portal kernel: [ 1287.042034] sd 32:0:1:0: [sdb] Attached SCSI disk

Wenn die Festplatte als /dev/sdb erkannt wurde, können wir mit dem einrichten einer Partition weiter machen. Dazu muss zunächst eine Partitionstabelle auf der Festplatte angelegt und dann eine Partition erstellt werden. Dies kann man für die Festplatte /dev/sdb aus unserem Beispiel z.B. mit dem folgenden Befehlt erreichen.

cfdisk /dev/sdb

Nach eingäbe dieses Befehlt wird man zunächst gefragt welche Partitionstabelle man anlegen möchte. Ich empfehle die neuere und modere gpt anstelle der älteren dos zu wählen. Danach kann man in einem kleinen Menü eine neue Partition anlegen und speichern. Auf dieser Partition kann man dann mit mkfs ein Dateisystem anlegen und dieses kann man dann mit dem Befehlt mount in das laufende Linux einbinden. Und voilà, die neue Platte steht ohne Neustart zur verfügung.

VMware-Tools oder lieber open-vm-tools verwenden?

Die VMware-Tools sind Programme und Treiber, mit denen die Gastbetriebssysteme in einer virtuellen Maschine unter VMware zusätzliche Funktionalitäten erhalten. Durch diese wird die Arbeit erleichtert und die Leistung verbessert. Seit dem Jahr 2007 hat VMware weite Teile der VMware Tools als Open Source Software unter dem Namen open-vm-tools (Open Virtual Machine Tools) freigegeben.

Bei aktuellen Linux Distributionen sind die open-vm-tool in den Repositorys enthalten und können bequem über das Paket Management installiert werden.  Bei Ubuntu sind die open-vm-tools z.B. seit Version 14.04 mit dabei. Bei Debian ab der Version 7.

Bei der Installation eines Gastbetriebssystems stellt sich somit heute immer die Frage: Soll man die originalen VMware-Tools oder die open-vm-tools der jeweiligen Distribution installieren?

VMware empfiehlt in dem Knowledge Base Artikel 2073803 nach Möglichkeit die bei den Linux-Distributionen mitgelieferten open-vm-tools und nicht die VMware Tools von VMware zu verwenden. Hier heißt es dazu: „VMware recommends using OVT redistributed by operating system vendors.“

Fazit

Wenn man Linux als Betriebssystem bei einer virtuellen Maschine unter VMware verwendet, sollte man wenn möglich immer die open-vm-tools aus den Repositorys der verwendeten Distribution benutzen. Bei Windows und Linux-Distributionen die keine open-vm-tools in ihrem Repository bereitstellen, sollte man die WMware-Tools von VMware installieren.

Einzelnachweise

Installationsanleitungen

Grafikkartentreiber für VMware-Gäste bei Windows 2008R2

Bei älteren Windows Versionen wurde bei der Installation der VMware-Tools automatisch ein spezieller Grafikkartentreiber aktiviert. Dieser sorgt dafür das die Maus nicht mehr so nachzieht. Bei Windows 2008R2 wird dieser zwar noch in das Verzeichnis C:\Program Files\Common Files\VMware\Drivers\wddm_video kopiert, aber nicht mehr installiert und aktiviert. Man sollte bei Windows 2008R2 Servern also darauf achten, dass man diesen Treiber hinterher von Hand installiert und aktiviert.

VMware Tools unter Ubuntu 10.04 installieren

Bei Windows Gastsystemen können die VMware Tools per Mausklick über den „VMware Infrastucture Client“ installiert werden. Bei Ubuntu muss man selber Hand anlegen. Dies war leider auch schon bei älteren VMware Tools und Ubuntu 9.04 so. Zudem ist zu beachten, dass man bei vSphere 4.0 mindestens das Update 2 installiert haben muss, damit die VMware Tools unter Ubuntu 10.04 laufen.

Um die VMware Tools bei Ubuntu 10.04 zu installieren, benötigt man das zum VMware Server oder zur VMware Workstation passende CD-Image der „VMware Tools CD“. Diese kann über den vSphere Client gemountet werden. Dies geschieht automatisch, wenn man in den Einstellungen der virtuellen Maschine als virtuelles CDROM den Gerätetyp „Clientgerät“ aktiviert hat und im Menü unter Gast die Aktion „Installation und Aktualisierung von VMware Tools“ anklickt. Danach muss man sich über die VMware Console an dem Gast anmelden und die CD einbinden:

mount /dev/cdrom /mnt

Wenn man die CD eingebunden hat, braucht man nur noch das Archiv auf die Festplatte kopieren, auspacken und mit dem Installationsprogramm vmware-install.pl installieren (dies funktioniert allerdings nur wenn man als root auf der VMware-Konsole angemeldet ist. Bei einer SSH-Verbindung schlägt die Installation fehl!):

apt-get install build-essential linux-headers-`uname -r` psmisc
cd
cp /mnt/VMwareTools*.tar.gz .
tar xvf VMwareTools*.tar.gz
cd vmware-tools-distrib/
./vmware-install.pl

Bei der Installation können normaler Weise alle vorgeschlagenen Einstellungen übernommen werden. Nachdem die Installation abgeschlossen ist werden die VMware Tools automatisch gestartet.

Ab Ubuntu 14.04 sollten anstelle der VMware Tools die open-vm-tools aus dem Repository der Distribution installiert werden. Weitere Informationen darüber findet man im Blogartikel „VMware-Tools oder lieber open-vm-tools verwenden“ oder im Wiki der deutschen Ubuntu User finden.

VMware: Verbindungsfehler bei dem Start des VI Clients

Als ich mich heute auf einen VMware VirtualCenter Server 2.5 einloggte war einer der ESX-Server 3.5 und die auf im laufenden VMs grau hinterlegt. Das lag daran, dass der VirtualCenter Server keine Verbindung mehr zu dem ESX Server herstellen konnte. Auch der Versuch sich mit dem VMware Infrastructure-Client direkt auf den ESX Server einzuloggen schlug mit einer Zeitüberschreitung fehl.

Erst nachdem ich mich als root angemeldet hatte und wie folgt die Management Dienste neu gestartet hatte konnte man den ESX Server wieder managen:

service mgmt-vmware stop
service vmware-vpxa stop
service vmware-vpxa start
service mgmt-vmware start

Der Server meldete jedoch nach wie vor, dass der HA-Agent nicht gestartet werden konnte. Sicherheitshalber habe ich dann alle VMs auf einen anderen ESX Server geschoben und den defekten ESX Server neu gestartet. Danach lief er wieder ohne Probleme.

VMware Tools unter Ubuntu 9.04 installieren

Bei Windows Gastsystemen können die VMware Tools per Mausklick über den „VMware Infrastucture Client“ installiert werden. Bei Ubuntu muss man leider selber Hand anlegen. Dazu benötigt man die zum VMware Server oder zur VMware Workstation passende „VMware Tools CD“. Diese kann auf der Webseite von VMware herunter geladen werden. Wenn man diese ins CD-Laufwerk eingelegt und eingebunden hat, braucht man nur noch das Archiv auf die Festplatte kopieren, auspacken und mit dem Installationsprogramm vmware-install.pl installieren (dies funktioniert allerdings nur wenn man als root auf der VMware-Konsole angemeldet ist. Bei einer SSH-Verbindung schlägt die Installation fehl!):

apt-get install build-essential linux-headers-`uname -r` psmisc
cd
cp /cdrom/VMwareTools*.tar.gz .
tar xvf VMwareTools*.tar.gz
cd vmware-tools-distrib/
./vmware-install.pl

Bei der Installation können normaler Weise alle vorgeschlagenen Einstellungen übernommen werden. Nachdem die Installation abgeschlossen ist werden die VMware Tools automatisch gestartet.

Ab Ubuntu 14.04 sollten anstelle der VMware Tools die open-vm-tools aus dem Repository der Distribution installiert werden. Weitere Informationen darüber findet man im Blogartikel „VMware-Tools oder lieber open-vm-tools verwenden“ oder im Wiki der deutschen Ubuntu User finden.

iTunes konnte sich nicht mit dem iPhone verbinden: 0xE8000035

iTunes kann sich nicht mit einem iPhone oder einem iPod verbinden, wenn der Buffer für den USB-Anschluss zu groß ist. iTunes meldet dann den Fehler 0xE8000035. Insbesondere bei Virtuellen Maschinen unter VM-Ware oder VirtualBox scheint dieses Problem öfter aufzutreten. Bei VM-Ware ist dieses Problem bei der neusten Version bereits behoben und bei VirtualBox soll es ab der Version 2.1 gelöst sein.

Wenn die Virtuelle Maschine unter Linux läuft kann man das Problem auch lösen, indem man in den Kernel-Sourcen in der Datei drivers/usb/core/devio.c die MAX_USBFS_BUFFER_SIZE auf 131072 reduziert.

Wie das unter Ubuntu geht ist in dem Blog www.huanix.com sehr ausführlich beschrieben.

VM-Ware auf Servern von IBM mit Hindernissen

Ich habe mich jetzt entschlossen einige der Server die ich betreue mit VM-Ware zu virtualisieren, um Kosten zu sparen. Dazu habe ich von Dell, HP und IBM Angebote eingeholt. Letztendlich viel die Wahl auf das Angebot von IBM, da dieses für unsere Belange das beste Preis-Leistungs-Verhältnis bietet. Im folgenden erwies sich die Installation jedoch leider wieder als ein Wenig schwieriger.

Die Server von IBM werden – ähnlich wie bei anderen Herstellern – von einer Partnerfirma vor Ort aufgebaut und eingerichtet. Nachdem VM-Ware installiert wurde, stellt der ausführende Techniker fest:

Die von VM-Ware für das Virtual Center mitgelieferte Microsoft MSDE Datenbank wird nicht supportet, wenn man sie in Produktionsumgebungen einsetzt.

Da ich mit VM-Ware nicht nur testen will, beschließe ich also eine andere Datenbank zu verwenden. Ich entscheide mich für Oracle, da wir viel Oracle einsetzen und VM-Ware dies in der Version 9 und 10 unterstützt. Dazu muss jedoch erst mal die richtige Oracle Version herunter geladen, die Lizensierung geklärt und alle Fragen beantwortet werden, die nicht in der – gerade mal eine halbe Seite langen – Anleitung für die „Installation von Oracle für Virtual Server“ stehen. Die Installation zieht sich also bis mitten in die Nacht. Außerdem endet sie mit dem Fehler:

[2007-11-20 10:10:33.267 'App' 3584 error] "ODBC error: (HY000) - [Oracle][ODBC][Ora]Trigger, procedure or function created with PL/SQL compilation error(s)." is returned when executing SQL statement "/*

Wir geben also erst mal auf und beschließen am nächsten Tag jemanden von VM-Ware anzurufen. Glücklicher Weise kenn der Techniker jemanden bei VM-Ware, den er am nächsten Tag anruft. Dieser leitet Ihn an den Support von VM-Ware weiter. Dieser weigert sich jedoch den Fall zu bearbeiten, ohne das er über die dafür vorgesehene Webseite gemeldet wurde. Auf dieser Webseite können wir mit unseren Zugangsdaten jedoch leider keinen Fall melden.

Nach einem erneuten Anruf bei VM-Ware stellt sich heraus, dass wir keinen Support von VM-Ware bekommen, weil wir über IBM gekauft haben. Wir können deshalb nur von IBM Support bekommen.

Super VM-Ware! Ich habe jetzt ein Problem mit einer Datenbank, die ich brauche, um von VM-Ware Support zu bekommen. Ich bekomme jedoch von VM-Ware keinen Support, um dieses Problem zu lösen. Die 16.000,- EUR für die Lizenz haben sich wirklich gelohnt. Das nächste mal sollte ich vielleicht lieber XEN von Citrix nehmen. Bei Citrix bekommt man auch bei OEM-Versionen Support. Sogar für etwaige mitgelieferten Datenbanken.