I'm researching if it is feasible to backup ESXi host by running rdiff-backup inside guest operating system on that host.

Is there a way for guest virtual machine to gain access to the host OS file system? If there is more than one way, which one would yield the best throughput?

EDIT: I would imagine, ideal would be to use the same interfaces as the console VM is using, if those are available for a guest OS


Depending on what you mean by accessing the Host OS filesystem there are some mechanisms available but they all require you to use either VMware's own Management Tools (either the VI Client or the Perl\Powershell Remote CLI's) or third party tools that make use of the same remote management API's.

In all cases with ESXi AFAIK you are going to be connecting via some securely authenticated network protocol (e.g. WS-MAN, SCP) and you will need to authenticate with the appropriate credentials for root access to the Host in order to connect.

You can for example use the standard VI client to connect from a VM back to the ESXi Host that it is running on. Once connected you can open the DataStore Browser and explore the VMFS Datastores, copy\cut and paste files in and out if you like. VeemFastSCP provides for SCP connectivity from Windows clients to ESXi ( or even directly between ESXi Hosts) and it will happily run in a Guest VM while connecting to the Host it's running on.

Directly drilling up through the Hypervisor isn't possible to the best of my knowledge although in theory the VMWare Tools drivers could provide extensive interaction between the Hypervisor and the Guests if VMware wanted them to. That would be a major security problem though so I can't see that being very likely.

Apart from the ESXi Datastores there's not much else involved as far as the ESXi filesystem is concerned - it's designed as an embedded hypervisor so its footprint is pretty small and VMware do not support anyone messing about inside it (even though it is possible to get there).

  • As far as I know the console is run inside VM, and it does have access to the datastores, insofar that they are mounted directly inside the file system. Do you know what is used by console VM? – galets Oct 13 '09 at 18:25
  • I see what you mean - the Console VM doesn't have direct access to the file system as such - it has direct access to the Hypervisor and that can then do what it likes. The Console VM is used as a proxy to enable other systems to interact with the Hypervisor in a controlled manner. I've never come across any published API that details how to talk directly to the Hypervisor itself and I'd be very surprised if VMware made that easy as it would open up a monumental security hole. – Helvick Oct 13 '09 at 19:30

I would think that guest OSes being able to directly access the filesystem of the host is a huge security risk. As such, I doubt you're going to be able to do it. However, you can access the host filesystem the same way you would from any external computer such as using FTP, SFTP, etc.


You could enable ssh on esxi host and use a ssh client from guest. Also you could install proftpd on esxi host and use a ftp client from guest.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.