Using virtual serial ports via named pipes in ESX 3.5

Create a named pipe as you typically would as the server on your first VM.

Image

The corresponding entries in the vmx file:

serial0.present = “true”
serial0.yieldOnMsrRead = “true”
serial0.fileType = “pipe”
serial0.fileName = “/vmfs/volumes/472c028b-dd6c1d22-a8f4-001aa0c0b349/Zangief-Fileserver/Zangief-pipe”
serial0.pipe.endPoint = “server”
serial0.tryNoRxLoss = “true”

Create the same named pipe on your second VM, using the same pipe, but connected as a client, opposed to the server.

Image

The corresponding vmx file entries:
serial0.present = “true”
serial0.yieldOnMsrRead = “true”
serial0.fileType = “pipe”
serial0.fileName = “/vmfs/volumes/472c028b-dd6c1d22-a8f4-001aa0c0b349/Zangief-Fileserver/Zangief-pipe”
serial0.pipe.endPoint = “client”
serial0.tryNoRxLoss = “true”

After you power up the VM, you’ll find it strange that the pipe is not visible in the service console.

ls -l /vmfs/volumes/472c028b-dd6c1d22-a8f4-001aa0c0b349/Zangief-Fileserver/Zangief-pipe
ls: /vmfs/volumes/472c028b-dd6c1d22-a8f4-001aa0c0b349/Zangief-Fileserver/Zangief-pipe: No such file or directory

If you connect to it on the second VM however, you’ll see that it works.

Image

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.