BRRABill's Field Report With XenServer
-
It's always a trade off. At least, it will be a quiesce snapshot if your Windows VM support it.
But ideally, to avoid any risk, shutdown THEN copy is the safest solution.
Depends of risk level (and downtime!) you can accept (eg live migration is still possible, but you could possibly reboot at destination if CPU instructions are not correct)
-
@olivier said:
Depends of risk level (and downtime!) you can accept (eg live migration is still possible, but you could possibly reboot at destination if CPU instructions are not correct)
I think I'll just do the shutdown route, but out of curiosity what kind of things would happen with mismatched CPU instructions? In the scope of a migration.
-
Roughly, migration without storage is like this in XenServer:
- a snapshot is created on the origin host
- every new write is now streamed on both hosts (origin and destination)
- disks are copied
When this is done, it's a classical live migration:
- RAM is transfered
- VM is suspended a fraction of time on the origin host
- last RAM transactions are copie on the destination host
- VM is "resumed" (un-suspended) on destination
So your VM will continue its life without knowledge of the new hardware. Let's imagine you have a recent CPU on the origin host, with the "FOOBAR" instruction. Let's also imagine this "FOOBAR" instruction is not on the destination host CPU.
Your VM booted with this "FOOBAR" capable CPU, so for it, that's OK to call it. Imagine what happened when the call happen on the destination host (kernel is crash \o/).
More fun? Migrate a VM from two CPUs vendors (Intel/AMD), while running a Java program inside the VM. If you love fireworks, worth the shot.
-
@olivier said:
More fun? Migrate a VM from two CPUs vendors (Intel/AMD), while running a Java program inside the VM. If you love fireworks, worth the shot.
Fireworks he says, more like fireworks going off on the freeway during rush hour
-
@travisdh1 said:
Fireworks he says, more like fireworks going off on the freeway during rush hour
With a caravan of gas tankers all around your car.
-
That's pretty much a good illustration.
-
@olivier said:
That's pretty much a good illustration.
So in theory best practice would be having very similar hardware.
-
Yes, totally. Sometimes it's not possible, so you got CPU masking as an alternative: http://support.citrix.com/article/CTX127059
-
@BRRABill said:
@olivier said:
That's pretty much a good illustration.
So in theory best practice would be having very similar hardware.
Yes. That's actually the reason all hypervisors only do things like HA on similar hardware. They won't care if it's running on AMD or Intel CPU, but they wouldn't be able to migrate a VM between the two without at least a reboot.
-
Is there a log in XO?
It flashes something up when it does something "like VM copy started", but I don't always see anything else.
Is there a place to checkto see the copy did indeed complete?
-
You got tasks visible in the top menu (progress is broken due to a bug in XenServer).
Indeed there is a log in XO, but if you are using the sources, I can't tell where, depends on how you installed it.
-
@olivier said:
You got tasks visible in the top menu (progress is broken due to a bug in XenServer).
Is there a way to know a task has completed successfully?
-
-
The task list just near the main menu.
-
@olivier said:
The task list just near the main menu.
When I mouse over that, it is greyed out and says "no running tasks".
-
So it means none of your host is currently doing "long" async tasks (like exporting or importing a VM)
-
@olivier said:
So it means none of your host is currently doing "long" async tasks (like exporting or importing a VM)
I guess what I am looking for is something like XC has with the EVENTS tab...
-> copy from XS1 to XS2 started
-> transferring xyz
-> backup completeIs there anything like that in XO? Otherwise how would you officially know the job completed with no errors?
(If it's not there, I'm going to add it to you new version wihlist thread! )
-
"Tasks" are a XAPI object, telling you something happening on your host.
The progress value is broken in all current versions of XenServer (fixed in Dundee).
Making a VM copy is a complex task:
- we start to download chunks on the HTTP export handler of the origin host
- at the same time, we start to upload those chunks (on the fly) on the destination host
Each one of them had their respective tasks (export and import) but they don't "know" we are in fact "streaming" stuff between them (for them, it's more like a classical import or export).
Plus, XAPI is a pain to know when the transfer is finished (we had to use some hacks, because they don't use HTTP standard). Furthermore, we don't have the size of what we are exporting, so we can't "guess" the progress by ourselves.
It could fail on any side (fail export, fail import, for many reasons). So we catch anything we could.
But for now, there is no "XO" tasks, just multiple "XenServer tasks".
-
Perhaps I am not asking my question properly.
In XC (which is far less featured than XO in my opinion!), you get the following type of status:
"Succeeded","Copying VM 'XenOrchestra' to 'Copy of XenOrchestra' on SR 'SATA Array'
Copied
Time: 00:00:45","xenserver-1","Mar 29, 2016 3:00 PM"There is no way to see that in XO? I can use XC for this, but XO is so much nicer to use, being web-based.
Also, XC seems to have a progress bar that worked when I did this copy. Are they working around the bug somehow?
-
@BRRABill Can you provide a real world example with a XC screenshot?