[pve-devel] saving kvm command line for migration

Stefan Priebe - Profihost AG s.priebe at profihost.ag
Wed Feb 19 13:58:35 CET 2014


Hi,

i would like todo the following.

1.) Block changes on a running VM through API - except hotplug is
enabled and the change is hotpluggable

2.) What about CPU? You don't need the hotplug feature for this. Right
now you need to manual add maxcpu setting to the conf. To have it
straight i would like to also only enable this if hotplug is set to 1

3.) I would like to store the generated command line of each start in
the command file to be sure at restore or migration the exact and
correct command line is used

4.) For hot pluggable memory there is a way to get everything out of
qom-list and qom-get (sadly around 20 qom queries for each dimm /
memdev). Or to store memory / dimm adds in temporarily in config file
until a vm is newly started.

Greets,
Stefan
Am 19.02.2014 13:34, schrieb Stefan Priebe - Profihost AG:
> 
> Am 19.02.2014 13:24, schrieb Alexandre DERUMIER:
>>>> but what about hot plugging cpus? I'm already working on hot plugging
>>>> memory.
>>>>
>>>> So not allowing to modify will fail for hot plug memory and hot plug
>>>> cpu. These two will become very important the next years or even month.
>>
>>
>>>> B. Do not allow to modify the configuration while the VM is running (and hotplug disabled)
>>
>> I think that dietmar want to say, no allowing to change the config file (through api) when vm is online,
>> only for values which cannot be change online or not hotplug. (like maxcpu, cpumodel,change disk if hotplug is disabled... for example)
>>
>> (I think this could also avoid some messages in the forum like : "I have change a value, do a reset of the vm, and I don't see the new value"
>>  If we force to change them offline (non hotplug values), it'll work when the vm will start)
>>
>>>> A. store the configuration at VM start (and use that configuration to start after migration)
>> I think it's also more complex, because you need to manage 2 configuration, if you hotplug something, you need to update vmstart config and current config.
> 
> Sure. I already understood it that way. But i'll give you some examples
> where i see problems.
> 
> 1.) In the past we had changes to the CPU features for example x2apic.
> If we just save the config we have the problem that a that after a pve
> software upgrade this feature is suddently enabled after migration or
> after restoring  from a snapshot. Just because the current version of
> pve renders a command line with x2apic and the old did not.
> 
> While this explicit example did not break migration there might be other
> changes to cpu type, pci handling or whatever which might break
> migration or restoring from snapshot if we don't save the generated
> command line.
> 
> 2.) An other example will be mem hotplug support. If you start a VM with
> 16GB it will simply have 16GB. If you than hot add 16GB, the machine has
> 32GB while having an additional memdev and dimmdev. If you migrate you
> need to add the memdev and dimmdev to the migration command line. If you
> stop the VM and start the VM you don't have these dimmev and memdev
> devices as you have 32GB directly incl. in the machine.
> 
> Stefan
> 
> 
>> ----- Mail original ----- 
>>
>> De: "Stefan Priebe - Profihost AG" <s.priebe at profihost.ag> 
>> À: "Dietmar Maurer" <dietmar at proxmox.com>, pve-devel at pve.proxmox.com 
>> Envoyé: Mercredi 19 Février 2014 12:51:37 
>> Objet: Re: [pve-devel] saving kvm command line for migration 
>>
>>
>> Am 19.02.2014 12:24, schrieb Dietmar Maurer: 
>>>> B.) is to unflexible. 
>>>
>>> I think this is good enough. 
>>
>> but what about hot plugging cpus? I'm already working on hot plugging 
>> memory. 
>>
>> So not allowing to modify will fail for hot plug memory and hot plug 
>> cpu. These two will become very important the next years or even month. 
>>
>>>> Even it might be easier to implement. 
>>>
>>> Note: much, much, much easier to implement ;-) 
>>
>> mhm i don't see a real problem but may be i'm missing something. 
>>
>>>> We have the same problem for snapshots. 
>>>
>>> Why? We save the configuration for snapshots, so this is OK. 
>>>
>>>> We just save the config and HOPE that the newly 
>>>> generated command line matches the old one. 
>>>
>>> No, we do not hope that. Instead, it is perfectly valid that the command lines differ! 
>>
>>
>> Stefan 
>> _______________________________________________ 
>> pve-devel mailing list 
>> pve-devel at pve.proxmox.com 
>> http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel 
>>



More information about the pve-devel mailing list