Commit Graph

375 Commits

Author SHA1 Message Date
Dietmar Maurer
907ea89128 fix bug #307: correctly restore disk settings
bump version to 2.3-5
2013-01-07 06:49:11 +01:00
Alexandre Derumier
4ec05c4cc3 balloon: don't set balloon && polling interval at start when livemigrate
We don't need to set balloon value and polling interval when a vm is coming from a livemigrate.
(Values are keep in guest memory)

So with autoballooning, this avoid to set the ballon size at ballon_min value when the vm is migrated

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-01-04 12:07:59 +01:00
Dietmar Maurer
ed2213500d vma restore: only delete disks contained in backup.
cleanup: remove unnecessary 'PVE::QemuServer::' prefix.
2013-01-04 06:57:11 +01:00
Stefan Priebe
19168b91ae QemuMigrate: phase2_cleanup misses migrate_cancel
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2013-01-02 06:36:53 +01:00
Alexandre Derumier
628e9a2b67 fix Bug #293: CDROM size not reset when set to use no media
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2013-01-02 06:30:24 +01:00
Alexandre Derumier
044321910c add set migrate_downtime default value to 0.1 && add number type
can be integer or float

ex:

1
1.0
0.3

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-31 07:21:00 +01:00
Stefan Priebe
865ef13278 implement dynamic migration_downtime
changelog:

- increment counter also if remaining memory equal 0 (qemu 1.4 migration code)
- only increment coutner and set down_time if memory transfert have occured. (to avoid too fast downtime increment)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-31 07:20:56 +01:00
Dietmar Maurer
7bfdeb5f90 allow manual ballooning if shares is set to zero 2012-12-28 14:06:46 +01:00
Dietmar Maurer
074e01c819 correctly set shares (allow 0) 2012-12-28 14:05:58 +01:00
Dietmar Maurer
ccd5438fa3 fix permission check for option 'shares' 2012-12-28 13:04:19 +01:00
Alexandre Derumier
1ac0d2ee0c api2: vm_feature
return true/false if vm has feature

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-28 07:49:37 +01:00
Alexandre Derumier
7ea975efe0 add sub has_feature
loop over each disk of the vm config file to find if feature is available.

If one of the disk doesn't have the feature, we return undef, else return 1

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-28 07:48:33 +01:00
Alexandre Derumier
135007c099 add downtime && expected_downtime query-migrate info
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-27 12:45:56 +01:00
Alexandre Derumier
ab399b7c5d add error log for qm start of the target vm.
Can be usefull to see what's wrong if target vm doesn't start (missing storage, missing bridge,...)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-27 12:44:34 +01:00
Alexandre Derumier
3beb415bd7 move qmp migrate_set_down && migrate_set_speed to qemumigrate
so we can set the values when the vm is running
also use int() to get json working

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-12-27 12:43:39 +01:00
Dietmar Maurer
95381ce06c use vm_mon_cmd_nocheck at startup
To avoid errors on migration.
2012-12-20 12:54:02 +01:00
Dietmar Maurer
4bdb05142c report balloon_min in bytes (not MBs) 2012-12-19 09:08:16 +01:00
Dietmar Maurer
8d9ae0d21e enable balloon by default, unless explicitly disabled
So that we can get memory stats from the guest.
2012-12-19 07:40:51 +01:00
Dietmar Maurer
8b1accf7ce add shares property for auto-ballooning
Also allow to set 'balloon: 0' to disable the ballon driver.
2012-12-19 07:24:39 +01:00
Dietmar Maurer
64e7fcf2e2 use new query-balloon to get used/free memory
Also set stats-polling-interval on the balloon driver at startup.

bump version to 2.3-2
2012-12-18 12:52:18 +01:00
Dietmar Maurer
91bd6c909b include new qemu backup feature
We can still restore old tar files. But new backups always use new vma
format.

Also moved rescan code from qm into PVE::Qemuserver

bump version to 2.3-1
2012-12-13 12:49:52 +01:00
Dietmar Maurer
a0e7a5d00d also support getfd 2012-12-06 09:01:56 +01:00
Dietmar Maurer
558f16446e add support for add-fd command
We can now pass open file descriptors to qemu.
2012-12-06 08:39:03 +01:00
Dietmar Maurer
98a0dc5e2a cleanup cpu types
Remove: rhel specific types cpu64-rhel6 cpu64-rhel5
Add: SandyBridge Haswell Opteron_G4 Opteron_G5
2012-11-27 06:40:59 +01:00
Dietmar Maurer
fa7ae70505 fix version parser for qemu 1.3 2012-11-23 07:45:46 +01:00
Dietmar Maurer
42ca89538d qmb balloon command expects bytes 2012-11-16 06:19:56 +01:00
Dietmar Maurer
075b417acd vzdump: store drive in correct order (sort) to avoid confusion 2012-11-05 06:26:25 +01:00
Dietmar Maurer
4dac70e576 vzdump: restore sata drives correctly 2012-11-02 07:48:42 +01:00
Stefan Priebe
6bb726c903 PVE/API2/Qemu: remove hardcoded blowfish cipher
Signed-off-by: Stefan Priebe <s.priebe@profihost.ag>
2012-10-31 13:57:58 +01:00
Dietmar Maurer
b3ea07f71e fix memory leak in QMP Client (many thanks to Stefan!) 2012-10-29 12:15:43 +01:00
Dietmar Maurer
3da8510790 vncproxy: wait until vnc port is ready 2012-10-24 08:59:31 +02:00
Dietmar Maurer
a70ebde31c add 'win8' ostype
Use same defaults as win7 for now.
2012-10-23 09:36:18 +02:00
Dietmar Maurer
585b6e2839 disable vzdump for VM containing snapshots 2012-09-27 09:42:48 +02:00
Dietmar Maurer
8c55950564 fix bug 251: use new command line syntax 2012-09-26 12:47:32 +02:00
Dietmar Maurer
fe6249f496 reserve more space for live snapshot state (2*memory) 2012-09-25 09:48:29 +02:00
Dietmar Maurer
6d04217600 pass timeout to qmp open_connection 2012-09-25 09:27:24 +02:00
Dietmar Maurer
d5769dc253 migrate volumes used inside snapshots including vmstate
Introduce new helper function foreach_volid()
2012-09-25 08:09:50 +02:00
Dietmar Maurer
a06c7f7ec4 fix check for non-shared disks 2012-09-25 07:26:34 +02:00
Dietmar Maurer
9dcf4909f0 updates for async shapshot patch 2012-09-24 10:43:19 +02:00
Dietmar Maurer
681b2404cd remove timeout when loading state from file.
So we finally have no timeout when we migrate a vm or when we load state.
2012-09-20 07:37:35 +02:00
Dietmar Maurer
8c609afd2b fix syntax error 2012-09-19 12:37:33 +02:00
Dietmar Maurer
62de2cbdfa we need to continue the VM after loading state 2012-09-19 10:40:30 +02:00
Dietmar Maurer
ab33a7c280 rollback: do important tests before stopping VM 2012-09-19 10:12:12 +02:00
Dietmar Maurer
6c47d54666 allow nexenta snapshots, use new -loadstate option 2012-09-18 09:23:47 +02:00
Dietmar Maurer
e2ea1bf1df fix syntax error 2012-09-14 13:58:49 +02:00
Dietmar Maurer
bf5104f221 continue VM after snapshot rollback 2012-09-14 13:57:52 +02:00
Dietmar Maurer
6aa4651b89 include additional info in snapshot list 2012-09-13 09:45:48 +02:00
Dietmar Maurer
d191446898 pass 'digest', so that GUI can detect changes easily
Also use 'current' instead of '__current'
2012-09-13 09:13:39 +02:00
Dietmar Maurer
a3222b9184 snapshot: save state and implement rollback
We automatically stop the VM on rollback, and start it again when there
is saved state.
2012-09-12 13:34:55 +02:00
Dietmar Maurer
9d6890772d use long timeouts for snapshot monitor command
Internal snapshots should be fast, but there is not guarantee.
2012-09-12 13:32:12 +02:00
Dietmar Maurer
18bfb361a0 snapshot: allocate/free volid for VM state 2012-09-12 11:59:48 +02:00
Dietmar Maurer
db7c26e55e snapshot: don't overwrite main VM description 2012-09-12 10:17:41 +02:00
Dietmar Maurer
6cb1a8cfc1 snapshot_delete: correctly unlink parent refs 2012-09-12 10:10:08 +02:00
Dietmar Maurer
05e5ad3f8e snapshot_create: correctly set parent when creating a new snapshot 2012-09-12 09:56:50 +02:00
Dietmar Maurer
030dd626f4 snapshot_create: check if vm is running before try to save state 2012-09-12 09:55:56 +02:00
Dietmar Maurer
2009f324ac snapshot_delete: save changes after each drive snapshot removal 2012-09-12 08:58:33 +02:00
Dietmar Maurer
3ee28e388a improve snapshot delete - add force option to API 2012-09-12 07:19:38 +02:00
Dietmar Maurer
d788cea673 add API to get/set snapshot configuration.
You can currently only modify the 'description'.
2012-09-11 09:34:48 +02:00
Dietmar Maurer
782f4f753f add description for snapshots 2012-09-11 09:00:26 +02:00
Dietmar Maurer
982c7f1273 add snapshot time stamp 2012-09-11 08:45:39 +02:00
Dietmar Maurer
0ea6bc6943 snapshot list: include current position 2012-09-11 08:33:20 +02:00
Dietmar Maurer
7b2257a8b5 fix typo 2012-09-10 12:08:55 +02:00
Dietmar Maurer
ee2f90b14e test snapshot capability, fix unused drive handling 2012-09-10 11:49:32 +02:00
Dietmar Maurer
b7ba6b7933 make 'parent' a real option 2012-09-10 10:15:14 +02:00
Dietmar Maurer
79e57b294c fix snapshot rollback 2012-09-10 10:06:01 +02:00
Dietmar Maurer
ef59d1ca65 do not copy list of unused disk into snapshot config 2012-09-10 09:55:11 +02:00
Dietmar Maurer
f1baf1df42 fix snapshot permissions - check for VM.Snapshot 2012-09-10 09:37:51 +02:00
Dietmar Maurer
8abd398b8a register standard option for snapshot name 2012-09-10 08:55:04 +02:00
Dietmar Maurer
154ccdcdbc improve snapshot REST interface 2012-09-10 07:58:06 +02:00
Dietmar Maurer
7e7d7b6113 split snapshot into separate methods.
We also start background tasks now. I also removed the 'digest'and 'force' parameters, because I think we do not need them here.
2012-09-10 07:32:33 +02:00
Dietmar Maurer
22c377f0b7 update config on snapshot commands 2012-09-07 13:07:23 +02:00
Dietmar Maurer
0d18dcfc27 add save/load snapshot information, add basic snapshot handling stubs 2012-09-07 11:51:19 +02:00
Alexandre Derumier
fc46aff9fa add qemu_volume_snapshot_delete
We need to split the delvm monitor command, like savevm, to delete snapshot onlinefor each volume (qcow2,sheepdog,rbd)

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:47:05 +02:00
Alexandre Derumier
e8f3f18e3d add qga_unfreezefs
empty for now, need to implement

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:47:00 +02:00
Alexandre Derumier
3d5149c925 add qga_freezefs
empty for now, need to implement

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:46:57 +02:00
Alexandre Derumier
ae2aa1a876 add qemu_snapshot_end
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:46:55 +02:00
Alexandre Derumier
182e97d9b0 add qemu_snapshot_start
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:46:52 +02:00
Alexandre Derumier
9dbd1ee434 add qm snapshot command
qm snapshot <vmid> <action> <snapshotname> --vmstate --freezefs

action : create|rollback|delete

vmstate : save the vmstate

freezefs: freezefs with qemu-ga

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:46:49 +02:00
Alexandre Derumier
1ab0057c8b add qemu_volume_snapshot
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-06 10:42:44 +02:00
Dietmar Maurer
be79c214ac set correct default for new 'agent' option
We do not enable that by default for now.
2012-09-04 06:46:53 +02:00
Dietmar Maurer
bc84dcca7d rename option 'qga' to 'agent' 2012-09-04 06:44:08 +02:00
Alexandre Derumier
ab6a046f6b add qemu guest agent support
this add chardev and virtio-serial devices for communication with guest agent.

vmconfig option :
qga: 1

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-09-04 06:29:10 +02:00
Dietmar Maurer
972511a06a migrate: disable xbzrle for now.
This is not stable, and sometimes cause endless migration (migration never stops).
2012-08-31 11:02:47 +02:00
Dietmar Maurer
94235c592c avoid warning about uninitialized value 2012-08-30 12:15:07 +02:00
Dietmar Maurer
b0b756c14d migrate: tolerate query-migrate errors 2012-08-30 09:28:24 +02:00
Dietmar Maurer
9bf371a66b use mbps instead of bps
The new parser automatically converts old bps to mbps.
2012-08-30 07:57:59 +02:00
Dietmar Maurer
f36ed4f4a0 cleanup: split out parse_size 2012-08-29 13:01:52 +02:00
Dietmar Maurer
03e480fce3 allow to specify sata as boot disk 2012-08-29 09:19:21 +02:00
Alexandre Derumier
e18b0b9964 livemigrate : activate xbzrle cache
This help migrate for vm with of lot of memory access (like database)

live migration tests working:

kvm 1.2 -> kvm 1.2  (xbzrle set on both side)
kvm 1.1 -> kvm 1.2 (xbzrle on target)
kvm 1.1 -> kvm 1.1 (xbzrle not set, qmp command try to set xbzrle but fail)

failing migration

kvm 1.2 -> kvm 1.1 fail, but this is expected.

I tested with a memory benchmark running on the vm with 4GB ram

without xbzrle : migration take 10min, with many network hang
with xbzrle : migration take 1min, no hang

I display xbzrle counters for debug purpose, we can remove them later

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-29 07:55:21 +02:00
Alexandre Derumier
d454d04033 use scsi-generic by default with libiscsi
This add scsi passthrough with libiscsi

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-29 07:50:48 +02:00
Alexandre Derumier
29972af3aa scsihw: add megasas controller
It could be useful for windows7 and windows2008 , as they are no more classic lsi driver for these platform

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-29 07:40:07 +02:00
Dietmar Maurer
2ae10d4e22 fix bug 247: retry qmp open 2012-08-27 13:43:30 +02:00
Dietmar Maurer
14db53662a set default qmp timout to 3 seconds
And allow to pass timeout paramater to vm_qmp_command().
2012-08-27 13:13:36 +02:00
Alexandre Derumier
eb26097ef4 remove qmp socket file on vm_stop_cleanup
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-27 06:59:38 +02:00
Dietmar Maurer
af30308f36 we call vm_stop to target host,
to be sure that kvm process is killed (but it should kill itself),
and deactivate volumes

I slightly modified this patch (orig. from Alexandre) so that it apply cleanly.
2012-08-23 10:28:41 +02:00
Alexandre Derumier
e52bd94c7e live migration: reduce sleep when remaining memory is low
Reduce sleep to 0.3s when remaining memory is lower than the average transfert in 1 iteration.

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-23 07:37:59 +02:00
Dietmar Maurer
f5eb281ad3 cleanup: detete trailing whitespace 2012-08-23 07:36:48 +02:00
Alexandre Derumier
b67900f17a put target vm in singlestep mode and resume it only when config is moved
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-23 07:32:21 +02:00
Dietmar Maurer
d691e6d3ec pve-bridge: use enviroment variable PVE_MIGRATED_FROM
We use environment variable to pass additional information the
the network script.
2012-08-23 07:26:41 +02:00
Alexandre Derumier
7e8dcf2cb0 add migratedfrom param to start vm with conf file an another node
Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2012-08-23 07:18:36 +02:00