[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] COLO: how to flip a secondary to a primary?

From: Li Zhijian
Subject: Re: [Qemu-block] COLO: how to flip a secondary to a primary?
Date: Tue, 26 Jan 2016 09:16:14 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0

On 01/26/2016 04:20 AM, Dr. David Alan Gilbert wrote:
* Li Zhijian (address@hidden) wrote:

On 01/25/2016 09:32 AM, Wen Congyang wrote:
    f) I've not thought about the colo-proxy that much yet - I guess that
       existing connections need to keep their sequence number offset but

Strictly speaking, after failover, we only need to keep servicing for the tcp 
connections which are
established after the last checkpoint but not all existing connections. Because 
after a checkpoint
(primary and secondary node works well), primary vm and secondary vm is same, 
that means the existing
tcp connection has the same sequence。

       new connections made by what is now the primary dont need to do anything
Yes, you are right.

I wonder whether we need to do something special to the new-secondary;
consider this:

    1 primary (P1) & secondary (S1) run together
    2 New connection opened
    3    secondary records an offset
    4 <running OK for a while - no checkpoint>
    5 primary (P1) fails; do failover to secondary
    6 secondary (S1) still rewrites sequence for connection opened at (2)
    7 Start new-secondary (S2), send checkpoint from S1->S2
    8 S2 has same guest contents as S1; so the
      sequence numbers are still offset compared to the outside world.

So S2 needs to be sent the offsets for existing connections, otherwise
is S1 was then to fail, S2 would send the wrong output on the existing

Thanks for the example.
Sure, if we support continuous FT, colo proxy need to implement migration_save 
and migration_load.
At the beginning of (7), we need to save colo_proxy info(including connection 
info and sequence offset) at S1
and load colo_proxy at S2. S1/S2 need to keep doing tcp re-writer for the 
connections opened at (2)
until they are closed.

Li Zhijian


Hailiang or Zhijian can answer this question.

Li Zhijian

Dr. David Alan Gilbert / address@hidden / Manchester, UK


Best regards.
Li Zhijian (8555)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]