1

I would like to purchase a 4TB external drive USB3 or eSATA, install a virtualization host like VirtualBox or VMWarePlayer on the external drive, and then use the remainder of the external disk space as one volume within the virtual machine. I don't care if the virtual drive needs to be split into several files.

Is this possible or advisable?

1
  • The limits of a Virtual Machine is advertised on the VMWare Player's website. I know not even WMWare Workstation supported virtual hdds that size until version 10. Is it possible depends on the software, if its advisable, I don't see why not.
    – Ramhound
    Sep 27, 2013 at 18:35

2 Answers 2

2

Can you create a VM that has access to a ~4 TB volume?

Yes, as long as the particular virtualization platform supports that size drive, you can create a large (~4TB) virtual disk to be used as a single volume within the guest.

If your virtualization platform does not allow a single virtual disk to be 4 TB in size, you can create multiple virtual disks and use LVM (Linux) or Dynamic Disks (Windows) to combine multiple virtual disks into a single volume within the guest OS.

What's the catch?

Whether this is advisable is a more complicated question, and there is no straightforward answer. Simply put: "it depends." Keep in mind that the virtualization layer adds a performance hit compared to native access to the disk. Add to that the relatively slow performance of typical external hard drives, which are designed more for capacity and power efficiency than performance. You may find your guest VM to be less responsive than you'd like. But then again, if your VM is just running a file server that remains mostly resident in RAM, you probably won't have an issue.

If your guest is to be used as an interactive desktop computer, I'd put your VM on a small portable SSD, and keep the big data (if you really need that much capacity) on a separate drive--preferably a network share which you can mount directly within the VM using Windows file sharing/Samba or NFS.

Portable VMs

To answer the question about your more specific use-case as outlined in your comment on Colyn1337's answer: yes, you can create a portable VM on an external drive that you move from machine to machine, but making the hypervisor portable is a more complicated question and may or may not be practical, or even possible, depending on your virtualization solution. And since you're planning to move the drive between Linux and Windows VMs, be sure to format the external drive with a top-level filesystem which can be read and written under both platforms (e.g., NTFS, exFAT--not FAT32, because it only supports up to 4 GB).

VMware used to have a product called VMware ACE which was intended for exactly this purpose (and with a lot of additional security features), but they discontinued ACE in 2011.

I use VMware Workstation/VMware Player and store several VMs on an SSD that I connect via a SATA hard drive docking station or the SATA-to-USB adapter from a 2.5" SeaGate GoFlex drive. Each time I start the VM on a different machine, I have to tell VMware that I moved the VM (the other option is, "I copied it"). For VMware to work properly in this scenario, I have to have VMware Workstation or Player installed on each host that will run my VM. I also have to be careful to fully shut down the VM guest instead of suspending it before moving it to another machine or even a different USB hub. For convenience, I used Windows Disk Management to assign V: to the portable SSD, and it preserves that drive letter regardless of what machine I connect it to. The only caveat is that, if I connect it to a machine which already has a V: drive (either a real volume or a mapped network drive), one of the V: drives will be hidden by the other.

You can also look vbox.me, which is a portable VM solution built on VirtualBox.

2
  • Thanks, Rob. I'm trying vbox.me now. It looks like it is only "portable" between windows hosts. Am I missing something? Sep 29, 2013 at 21:55
  • @MarkMiller I think you're right; it seems Portable-VirtualBox is only available for Windows hosts. However, if you install VirtualBox on your Linux host(s), you should still be able to run the VM.
    – rob
    Sep 30, 2013 at 16:56
-2

Is it possible? Yes. The problem is there are so many disk read/writes that an OS performs it would likely trash your backup drive quickly. It's not that the drive itself would fail, but backup drives usually have special chipsets which sit between the drive and the port which burn out quickly. Western Digital, in particular, is notorious for this.

If you have a physical drive, not a backup drive, and connect it with a usb/sata kit (usually called harddrive adapters), you should be totally ok. However, VirtualBox has a 2TB drive size limit so you'll need to create 2 virtual hard drives on that disk. I am not familiar with the specifications of VMware.

Now, by running the virtual software off that drive you might run into issues with needing to constantly reattach the virtual hard drives. The vbox preferences file stores where the software will look for the hard drive file and it does not do this by drive GUID. It remembers by literal path c:\somewhere\overhere\isthefile.vhd

Your external drive will get a letter scheme of what's available. So if when you built the VM the backup drive was E:\ then later move it over to another computer and that computer issues a F:\ designation (because another internal drive is E:), you'll need to reattach the drive.

EDIT:

From the Source: http://www.virtualbox.org/manual/ch05.html#vdidetails

"Disk image files reside on the host system and are seen by the guest systems as hard disks of a certain geometry. When a guest operating system reads from or writes to a hard disk, VirtualBox redirects the request to the image file."

7
  • You do understand we are talking about a single file that is written once when the virtual machine is turned off right? You can change the letter assignment of a drive without deattaching a drive and even ALWAYS assign the same letter to it.
    – Ramhound
    Sep 27, 2013 at 18:44
  • @Ramhound I don't think you understand the OP's question. And you can't reassign it to a drive letter that's already being used.
    – Colyn1337
    Sep 27, 2013 at 18:45
  • he wants to place a 4TB vhdd file on an external drive. What is there not to understand?
    – Ramhound
    Sep 27, 2013 at 18:47
  • @Ramhound That's not all he wants to do. Re-read the question.
    – Colyn1337
    Sep 27, 2013 at 18:49
  • 1
    I'm sorry if I created any confusion. I would like to create a complete virtual machine (definition file, virtual storage files, memory files, etc.) All on one large portable drive that I can move between windows and linux hosts from time to time. I understand that I will need to work around the possibility of the drive letter changing when I use it on windows hosts. Is there anything else I can clarify? Sep 27, 2013 at 19:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .