So, I'm looking for a way for VMs to be portable, or at least a way to move them from one place to another that's not too much faff. Background: My work frequently entails working with some fairly chunky data sets that can be fairly resource intensive. These need to be loaded into some software prior to being usable. It's impractical from a time point of view to run this software directly on the PC and load/unload databases as I go, so each one I'm working on is loaded into a VM - switching from one to the other is just a matter of shutting one down and spinning another up. This generally works very well. The Problem: My work is split fairly evenly between home and travel. When I'm at home, I prefer to work on my desktop on account of possessing significantly more horsepower and memory than my laptop, this makes the larger DBs much quicker/easier to work with. The problem is, that sometimes (frequently), I'll need to take this work with me, which then means I need to backup the data, copy to the laptop, clone a VM on the laptop and restore into that. This is a process that could take a couple of hours or more, and because of it I find myself just working on my laptop at home more and more, which can be a real drag at times. A beefier laptop means either larger, thirstier or both, so wouldn't be suitable for travelling. I have access to a lab for this, which I occasionally use, but I can't always rely on suitable internet access at client sites, airport lounges etc (and certainly can't rely on it in-flight), so I'm stuck with the same problem of pulling the data out before I travel - made all the more difficult by having to actually get it from the lab to my laptop. The Solution (?): A method whereby I create a VM on my desktop, spin off a bunch of (thin) clones, do what I need to do, and just copy the lot over to the laptop when I'm on the go, and copy it all back when I'm back home. I'm using Virtualbox at the moment, but haven't really found a quick and easy way to do this - I can copy the VHDs, but still need to import and configure, and linked clones present more of a challenge. If I know I'm going to be at home for at least a week or two then I'll usually just backup/restore the data on to the VMs on the desktop, but this means having to maintain the versioning on the desktop in step with the laptop, and that's a pain too. Sooo.... any ideas?
Are they SQL DB's? Put the DB's on separate VHD's & mount them as instances on a SQL VM on your desktop or laptop?
SQL is a component, but only part of the picture - it's SQL, Cassandra and Cognos all working in proprietary harmony, so that's no a go-er unfortunately.
Dealing with VMs myself a lot at work as well, I have found that the only painful way is to somehow divorce the data from the specific VMs. Basically if you can export it somewhere (shared folder, network share, USB stick, etc.), then it's far easier to just import it from there later in another VM than to mess with virtual drives and what not.
Bummer. The export/import process takes hours, which is why I just spin it up in separate VMs to start with :/
My attempt at that approach ended in tears unfortunately - too many fingers in to the rest of the system with VirtualBox for that to work nicely. Unless you know of a portable hypervisor?
If a good chunk of time is spent on the VM on your laptop then I would just use the VMs all of the time. Hyper v can run with only a 10% cpu overhead. You can copy the same VM between machines. Even though you don't like it, If I were in your position I would be using an external disk to run the same VM on both systems.
From my personal experience, the only problem I encountered were with network cards and bridging. Buts thats with linux/BSD guests. What problems are you encountering? You could keep only vdi's on external disk and VM desciptors (vbox files) on each system separately. Alternatively, as Mister_Tad said, just run your VMs on your laptop all the time and then working on your desktop - connect to them over LAN.
You know, the more I think about this, the more I think that there's no reason that it shouldn't work. I guess I was trying to move things about before between the two PCs with the VirtualBox installs as they were, but if I wipe the lot and set up with a view to to this it should be fine, right? It means dragging an external SSD about with me, but that's a price worth paying I think. I can even whip the M.2 2242 SSD out of the laptop and slip that in a tiny enclosure, assuming that's a thing. I know 2280 ones exist anyway, so better than a 2.5". USB3 may not be entirely suitable, but worth trying. But the problem is where the VMs are running, not where I'm using them. And Mister_Tad is me EDIT: I'm just thinking, wouldn't it make more sense if the vbox files were on the shared disk? Networking, as you say, is the only bit that's giving me pause - the simple part is that these VMs don't want external web access, just need to get to them from the host machine.
Microsoft recommend putting hyper-v vm's vhd on an external usb3.0 drive for moving about but is there any reason you cant leave them on your desktop and remote into the desktop
http://www.howtogeek.com/188142/use-portable-virtualbox-to-take-virtual-machines-with-you-everywhere/ Think thats what you want??
I was just thinking why not VPN into work, and VNC into the system? I think I came across a portable install of Virtualbox a while back, so everything including the VDI's could be kept externally and spun up where required.
did you know if it its a pro version of windows running as a vm you can remote desktop into it directly?
Whoops, forgot about this thread and have been carrying on with just using the laptop when I need to spin one of them up. I need to be able to access them when I'm on the go and offline, so if I'm to take advantage of the additional grunt in the desktop when I'm at home I need a way to move them to the laptop in their entirety, and easily, when I'm on the move. So VNC/RDP/VPN/etc doesn't solve anything, because it's where the VM is actually running that's important. I meaning to find time to sort this out, but still on my "to do"... I think I'll try to just sync settings between both instances of vbox and see how that pans out with just copying them across.
does your laptop and desktop have usb3 /3.1? get yourself an external usb3 ssd that should provide the storage speed and you just swap between the machines