[libvirt] 答复: Help:Can libvirt restore several xen snapshots more faster at same time?
Jim Fehlig
jfehlig at suse.com
Thu Nov 16 21:43:04 UTC 2017
On 11/14/2017 08:22 AM, Michal Privoznik wrote:
> On 11/14/2017 03:34 AM, Chenjia (C) wrote:
>> Dear libvirt expert:
>> Thanks for your reply.
>> May be our description is not suitable, in last message,'snapshot' means the domain state file which 'virsh save ' generate.
>>
>> Our project detailed steps are as follows:
>> 1) create 40 xen guestOS by 'vrish create xen*.xml'
>> 2) save 40 guest OS to domain state file by 'virsh save' cmd
>> 3) Start multiple processes, each process cycle to do the following job:
>> a)virsh restore the domain state file
>
> 'virsh restore' has --bypass-cache option which basically enables
> O_DIRECT. That can save you couple of seconds.
As Chenjia already discovered, the Xen driver does not support that option,
although should be easy to provide.
>> b)do same job in guest OS in 20 seconds
>> c)virsh destroy the guest OS
>>
>> We need higher performance on the project , so our question is these as last message:
>> 1) each our xen state file is almost same except IP address(Win7 OS with 1G memory), does there have some way to reduce the 40 state file space?
>
> I don't think so. I mean, I don't know about Xen that much, but for
> instance in QEMU, the saved file contains memory for the guest (among
> with the internal state of hypervisor). In general, no guest have the
> same content of the memory. Also, you only *think* that the guests are
> the same. There is a lot of subtle differences (e.g. internal kernel
> state, RNG, network stack, stack randomization, etc.). So having some
> shared base image is not really a way to go.
The same applies for Xen. There is currently no way to share any content from
the saved state files.
> But for saving some disk
> space you can enable compression for the saved images (possibly not
> implemented in Xen driver).
Yep, not yet implemented in the Xen driver.
>> 2) Do you have some suggestion to improve the performance of restore as much as xen state file at same time?
>
> See my replies above. But I'll let Jim reply as he knows more about Xen
> than me.
Xen is the same as qemu wrt save/restore. I'm not aware of any way to identify a
page about to be restored is already in memory. We'd need a KSM-type service
that could manage save and restore, writing shared pages to a common image and
only restoring those once. But again, I'm not aware of such service, which seems
non-trivial to create.
Regards,
Jim
More information about the libvir-list
mailing list