On 21.03.2013 11:36, Joanna Rutkowska wrote:
> On 03/20/13 19:51, Andrew Sorensen wrote:
>> It looks like I'm going to have to go with option #1. In this case, I'm
>> going to see what's already implemented, and possibly suggest a few
>> additional features to the qubes-manager:
>>
>> eg:
>>
>> * COW snapshot system, with a way to take and revert to different
>> snapshots in the GUI.
>
> As wrote earlier -- you can use a poor man's solution right now (cp
> root.img root-snapshot1.img).
This have few disadvantages:
- making and restoring snapshot takes some time
- need much more disk space than COW version (imaging Windows HVM with a lot
of software installed, say 40GB root.img; then 10 or more snapshots...)
COW snapshots isn't that hard as it sound, actually we already do it for
template-based VMs, right? Still this would need some coding, but not that much.
Another problem is converting existing VMWare snapshots to Linux dm-snapshot
one. Can be a problem, I know nothing about VMWare snapshot format, even not
sure if specification is available anywhere.
> If you want to write a patch to Qubes Manager to support it, then please
> first write a command line tool that implements it, and preferably just
> call this tool (or the function that implements the action) from Qubes
> Manager.
>
> Something like:
>
> qvm-snapshot <vmnam> [--new | --revert] [name of snapshot]
>
>> * ability to save/resume a virtual machine's state on disk.
>
> That might be problematic because of the need to reconnect various
> things to the restored VM, such as our GUI channel. I think this will be
> quite difficult. Marek, what do you think?
The state would include both disk image and RAM, right?
Connections needed to be restored:
- xenstore - already done by xen toolstack
- network/block backend - already done by xen toolstack
- qrexec - trivial, as it doesn't have any state (ongoing Qubes RPC
connection would be terminated anyway)
- gui - this can be problematic
I though many times about ability to restore gui connection. I think it is
complex, but doable. I've already wrote something about this AFAIR in some
thread regarding DispVM startup time.
>
>> * ability to search the list of virtual machines, and hide VMs that
>> aren't integrated ( qrexec_installed = false)
>
> I guess you want to implement a new switch to qvm-ls here?
>
>> * ability to use spice instead of (vnc?) to control HVMs
>
> We don't use VNC nor any other similarly stinking protocol. We use
> super-optimized-for-security-and-performance custom GUI protocol.
>
>
http://theinvisiblethings.blogspot.com/2012/03/windows-support-coming-to-qubes.html
>
> Why would you need to use something else?
>
>> * ability to place VMs on any drive I want (not just /var/lib/qubes)
>>
>
> I think qvm-prefs already has support for that -- check qvm-pref -s dir
>
>> I'll probably need to create a set of scripts similar to vmware tools
>> that takes care of things like the duplicate mouse cursor, networking, etc).
>>
>
> What do you mean?
>
> joanna.
>