VMware Remote Console [VMRC]

Wenn man mit dem ESXi Virtualiesierungssystem arbeitet gibt es immer ein Problem. Will man nur schnell eine laufende VM verwenden um etwas nachzusehen oder zu testen benötigt man immer den vSphere Client um die Konsole zu öffnen.
Um diesen Umstand zu beseitigen braucht man nur im Internet etwas suchen und man erhält die Aufrufparameter für die VMware Remote Console (vmrc).
Dort wird dann beschrieben wie man einen Link erstellt unter Windows mit den passenden Parametern.

Das sieht dann ungefähr so aus:
„… erstellen Sie eine neue Verknüpfung zur vmware-vmrc.exe auf dem Desktop mit dem Kontextmenü …“
„… bearbeiten Sie das Ziel der Verknüpfung und fügen die folgenden Parameter hinzu:“

Resultat
Link mit Ziel:
„C:\Program Files (x86)\Common Files\VMware\VMware VMRC Plug-in\Internet Explorer\vmware-vmrc.exe“ -h <ESX-IP> -u <user> -p <password> „[DATASTORE] /VMxy/VMxy.vmx“

Nun wenn man nur 1 oder 2 VMs auf dem ESX-System hat mag das ja noch praktikabel sein. Bei 5 oder mehr sollte man jedoch daran denken die zu automatisieren.
Mit Hilfe der VMware vSphere PowerCLI geht das wunderbar.
Das folgende Script muss innerhalb der PowerCLI ausgeführt werden, es meldet sich beim ESX an und erstellt dann für jede VM einen solchen Link auf dem Desktop des angemeldeten Benutzers, abschließend trennt es die Verbindung wieder.


$WshShell = New-Object -comObject WScript.Shell

$esxhost = "10.10.47.11"
$esxuser = "your user"
$esxpass = "user password"
$vmrcpath = "%programfiles%\Common Files\VMware\VMware VMRC Plug-in\Internet Explorer\vmware-vmrc.exe"

$server = Connect-VIServer $esxhost -User $esxuser -Password $esxpass

Foreach ($VM in (Get-VM | Sort Name | Get-View)){
$MyDetails = "" | Select-Object VMName,VMXLocation
$MyDetails.VMName = $VM.Name
$MyDetails.VMXLocation = $VM.Config.Files.VmPathName

$Shortcut = $WshShell.CreateShortcut("%userprofile%\desktop\" + $esxuser + "_" + $MyDetails.VMName + ".lnk")
$Shortcut.TargetPath = $vmrcpath
$Shortcut.Arguments = "-h " + $esxhost + " -u " + $esxuser + " -p " + $esxpass + " " + """" + $MyDetails.VMXLocation + """"
$Shortcut.Save()
}

Disconnect-VIServer -Server $server -Force -Confirm:$false

Auf eines muss ich noch hinweisen: Bitte verwendet nicht den root zugang für dieses Script!! Der Benutzer und das Passwort sind bei diesen Links klartextparameter. Richtet also vorher ein Benutzerkonto auf dem ESX ein.

VMLinks Script [Download]

Update: Um die VMRC ohne die Fehlermeldung „VMWare Player ist nicht korrekt installiert. Bitte Installieren Sie diesen neu.“ verwenden zu können, muss der vSphere Client mit der Version 5.0.0-623373 installiert sein. Ist nur die Version 5.1.x installiert funktioniert es nicht.

NFS Speicher in VMware ESXi einbinden

In meinem letzten Artikel ging es um das Einrichten eines NFS Servers.
Dieser findet nun Verwendung in einer VMware ESXi Umgebung.

Wie man die NFS Freigabe dort einbindet zeigt folgendes Video:
[YouTube-Link]:NFS Freigabe in VMware ESXi einbinden Achtung! Fullscreen

Wenn dieser Datenspeicher mehreren ESX-Servern, die zu einem HA-Cluster zusammengeschlossen sind, zur Verfügung steht hat man die Möglichkeit der Migration von Virtuellen Maschinen innerhalb des Clusters. Die Migration einer VM kann während des betriebs durchgeführt werden und der Nutzer bemerkt höchstens ein zucken, falls er Remote darauf zugreift.

ESXi 4: SSH und SNMP

SSH

Um beim VMWare ESXi 4 Server die SSH Konsole zu aktivieren gehen Sie wie folg vor:

  • Drücken Sie in der Konsole [ALT]+[F1]
  • Geben Sie unsupported ein und drücken Sie [ENTER]
  • Geben Sie das Passwort des Benutzers „root“ ein um sich einzuloggen
  • Wechseln Sie in das Verzeichnis /etc und öffnen Sie mit „vi inetd.conf“ die Konfigurationsdatei für den Start der Dienste.
  • Scrollen Sie nach unten bis Sie einen Eintrag finden der mit #SSH beginnt und löschen das führende „#“ mit drücken der [ENTF]-Taste.
  • Um die Datei abzuspeichern Drücken Sie zunächst [ESC] und geben dann „:wq“ ein. Bestätigen Sie die Eingabe mit [ENTER] und die Datei wird gespeichert.

Um den SSH Zugang zu aktivieren muss der INETD-Superserver neu gestartet werden. Dazu können Sie den ESXi entweder neu Starten oder den inetd Daemon selbst neu starten um eventuell laufende VMs nicht beenden zu müssen. Gehen Sie dazu wie folgt vor:

  • Geben Sie in der Konsole „ps | grep inetd“ ein

Die Ausgabe sollte folgendermaßen aussehen:
"4864 4864 busybox inetd" (Die Ziffern können abweichen)

  • Geben Sie jetzt in der Konsole „kill 4864“ ein um den Daemon „abzuwürgen“
  • Um den Daemon neu zu starten geben Sie einfach „inetd“ ein

SNMP

Um SNMP zu aktivieren wechseln Sie zunächst in das Verzeichnis /etc/vmware und öffnen die Datei „snmp.xml“ mit Hilfe des „vi„.

Die Datei sollte „unkonfiguriert“ wie folgt aussehen:

<config><snmpSettings><enable>false</enable><communities></communities><targets></targets></snmpSettings></config>

Ersetzen Sie „false“ gegen „true“ und tragen sie direkt hinter <communities> "public" ein.

Jetzt sollte die Datei wie folgt aussehen:

<config><snmpSettings><enable>true</enable><communities>public</communities><targets></targets></snmpSettings></config>

Zum Schluss müssen die Dienste neu gestartet werden, um dies zu erreichen geben Sie „services.sh restart“ in der Konsole ein.