Serieller Port zwischen zwei VMware Playern (virtuelles Nullmodem)

VMware war so nett, uns den Player zu schenken. Logisch, dass es hier eine gewisse Unterscheidung zur VMware Workstation geben muss, nämlich die fehlende GUI. Dieser Umstand macht die Konfiguration eines VMware-Images manchmal etwas schwierig. Zum Testen von Heartbeat wollte ich eine serielle Verbindung zwischen zwei VMs herstellen.Zur Verwendung einer seriellen Konsole für das Linux-Gastsystem habe ich folgende Zeilen im VMX-File

serial0.present = "TRUE"
serial0.fileType= "pipe"
serial0.fileName = "serial0"

Dies ergibt eine Socket-Datei mit dem Namen serial0 im gleichen Verzeichnis, in dem sich die VMX-Datei befindet. Diese Datei kann man z.B. mit socat verwenden, um auf die serielle Konsole zuzugreifen. Es liegt nun nahe, einfach die selbe Socket-Datei in zwei Gast-Systemen zu definieren. Startet man jedoch die zweite VM, kommt eine Meldung, dass die Datei bereits in Benutzung ist.

Mit der Option serial0.pipe.endPoint = „client“ kann man dem VMware Player sagen, dass er die Socket-Datei als Client öffnen soll. Fügt man diese Zeile in der VMX-Datei der zweitem VM ein, können die beiden VMs über die serielle Schnittstelle kommunizieren, als wenn man zwei physikalische Systeme mit einem Nullmodem-Kabel verbunden hätte.

VMX-File 1

serial0.present = "TRUE"
serial0.fileType= "pipe"
serial0.fileName = "/tmp/serial_conn1"

VMX-File 2

serial0.present = "TRUE"
serial0.fileType= "pipe"
serial0.fileName = "/tmp/serial_conn1"
serial0.pipe.endPoint = "client"