Sergey Malykhin wrote:
Thanks, Nikolay,
I meant that I hacked kernel a little to get information about file,
data buffer, buffer size and offset in file. And it's ok. I'm only not
sure that I'll have working backup if do it while VB is running. I
understand that the best solution - suspend VB and copy, but it's less
interestin, because I'll have pauses in VB work.
Sorry to sound a little annoyed, but I really don't understand why
adding a little virtualization makes people think they're looking at
something they never did before.
Creating a copy of the VDI file (no matter how smart is it done by
intercepting file writes and what not) is just like creating a
sector-based copy of a hard disk without knowledge of the running guest
OS. Without taking special measures (for most OSes I wouldn't know what
to do actually) there cannot be any guarantee that the resulting copy is
consistent. Even pausing a VM will not fundamentally change this,
because the guest OS could have unwritten changes in its filesystem
cache, i.e. in RAM. It'll frequently work without noticeable corruption,
but it remains a "keep fingers crossed" solution.
The only safe ways to create backups are those which the guest OS is
aware of (file-based or guest OS based snapshotting like Nikolay
suggested), or completely shut down the guest OS. Using mechanisms like
saving state in VirtualBox would require backing up the VM state file as
well.
Klaus
Sergey
2010/3/30 Nikolay Igotti <[email protected]
<mailto:[email protected]>>
Hi Sergey,
Not sure what you mean by "I'm controlling write function to vdi
file from kernel", but in general it's possible to use FS's (such as
ZFS) snapshotting capability to take snapshots of live VMs image.
OTOH to be 100% safe, I would pause VM, flush OS write buffers with
'sync', and then copy underlying .vdi.
If you assume image to change insignificantly, maybe it would make
sense to take snapshot once image stabilized, and only backup
differences.
Hope that'll help,
Nikolay
Sergey Malykhin пишет:
Hello,
I have VB running and want to make backup for vdi file. But I
only need to have changed sectors. I'm controlling write
function to vdi file from kernel. Can you please answer is it
enough just copy it while VM is running or I need to suspend it?
TIA
------------------------------------------------------------------------
_______________________________________________
vbox-dev mailing list
[email protected] <mailto:[email protected]>
http://vbox.innotek.de/mailman/listinfo/vbox-dev
------------------------------------------------------------------------
_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev
--
Dr. Klaus Espenlaub
Sun Microsystems GmbH
Werkstrasse 24
71384 Weinstadt
Germany
=====================================================================
Sitz der Gesellschaft:
Sun Microsystems GmbH, Sonnenallee 1, D-85551 Kirchheim-Heimstetten
Amtsgericht Muenchen: HRB 161028
Geschaeftsfuehrer: Thomas Schroeder
=====================================================================
_______________________________________________
vbox-dev mailing list
[email protected]
http://vbox.innotek.de/mailman/listinfo/vbox-dev