Forum Discussion

Weny's avatar
Weny
Level 3
12 years ago

Query about rlink

A Primary RVG can have up to 32 associated RLINKs. Although a Secondary RVG can also have 32 associated RLINKs, it can have only one active RLINK; this active RLINK represents the Primary that is currently replicating to this Secondary RVG.

How to uderstand the only one active rlink . 

If i have a secondary RVG have 32 rlinks, then only 1 rlink is active to replicate data?

How is this situation, i have several primarys and all of them indicate to the same server as secondary, then only 1 rlink is active? 

  • The example I gave for 3 sites is for a single RVG, so this shows one data set, which is replicated to different DR servers, so:

    Data is written at Prod and
      Prod replicates to DR1
      and Prod replicates to DR2

    There is no replication between DR1 and DR2, but the rlinks are in place to replicate between DR1 and DR2, but they are not active - rlinks are only active between a primary and an secondary and are not active between secondaries.  You don't have to create an rlink pair between the 2 DR servers, but if you didn't then if you made DR1 the primary as in the 2nd example, then data would ONLY be replicated to Prod1 and not to DR2 which maybe what you want as you may not have a network link between DR1 and DR2, but if you did want to replicate between DR1 and DR2 in the event that Prod failed and DR became the primary, you would need to create an rlink pair between DR1 and DR2
     

    The norm is to have one or more RVGs each with 2 sites (1 primary and 1 secondary) and not many customers have 3 sites (2 secondaries) as it is expensive to have 3 copies of the data.  When you have mulitple RVGs these are all independent.  So you have the normal situation of 2 site RVGS (each RVG has 1 secondary) and so all rlinks are normally active.  If the IPs you have shown are virtual IPs so that the virtual IPs could reside on the same host, this makes no difference to VVR, the 2 RVGs are still independent and both will normally replicate at the same time.

    So you could have both RVGs on the same pair of 2 servers (if IPs .5 and .6 both reside on Pri1 and .8 and .9 reside on DR2):

     

    Host Pri1:            Host DR2:
    data_rvg1             data_rvg1
    192.168.12.5  ====>   192.168.12.8
    
    data_rvg2             data_rvg2
    192.168.12.6  ====>   192.168.12.9

     

    Or you could have 2 primary servers replicating to the same "DR3" server (if IPs .8 and .9 both reside on DR3)

     

    Host Pri1:            Host DR3:
    data_rvg1             data_rvg1
    192.168.12.5  ====>   192.168.12.8
    
    Host Pri2:
    data_rvg2             data_rvg2
    192.168.12.6  ====>   192.168.12.9
     
    Or you could have 2 pairs of servers:
     
    Host Pri1:            Host DR3:
    data_rvg1             data_rvg1
    192.168.12.5  ====>   192.168.12.8
    
    Host Pri2:            Host DR4:
    data_rvg2             data_rvg2
    192.168.12.6  ====>   192.168.12.9

     

     

    These 3 combinations all work the same in respect of VVR - the 2 RVGs (data_rvg1 and data_rvg2) replicate independently.

    Mike

  • If an RVG has two secondaries this means the SAME RVG is replicated to two different secondaries, so you have 3 copies of data - primary and 2 secondaries.  The relationship is one to many, so the primary has 2 active rlinks and each secondary has one active rlink to the primary.

    But you can still have mulitple RVGs and so a Prod server could, for example have 3 pairs of Primarys and secondaries which would have 3 primarys each with active rlinks and 3 secondaries each with active rlinks - and replication can be going in different different directions for the different RVGS - example:

         PROD SERVER     DR SERVER
    
    RVG1 PRI 1 (ACT)     SEC 1 (ACT)
    RVG2 PRI 2 (ACT)     SEC 2 (ACT)
    RVG3 SEC 3 (ACT)     PRI 3 (ACT)

    If you have 3 sites then a secondary can have more than one rlink, but only one can be acitve - example:

                     PROD SERVER
                        RVG1
      RLINK_TO_DR1 (ACT)     RLINK_TO_DR2 (ACT)
              //                      \\
             //                        \\
       DR SERVER 1                 DR SERVER 2
    RLINK_TO_PROD (ACT)         RLINK_TO_PROD (ACT)
    RLINK_TO_DR2 (NOT ACT) ---- RLINK_TO_DR1 (NOT ACT)
    

     

    And then if DR1 becomes primary, you would then have:

     

                     PROD SERVER
                        RVG1
      RLINK_TO_DR1 (ACT)     RLINK_TO_DR2 (NOT ACT)
              //                       \
             //                         \
       DR SERVER 1                 DR SERVER 2
    RLINK_TO_PROD (ACT)         RLINK_TO_PROD (NOT ACT)
    RLINK_TO_DR2 (ACT) ======== RLINK_TO_DR1 (ACT)
    

    Mike

     

     

  • Hi Mike, Thanks for your explanation. So if a secondary is as DR server for multiple primary RVGs, actually only one site data is replicated, right? For the 'ACT/NOT ACT', means always or just at one time? Can we use this setup to cut DR server cost, I mean, multiple primary site with RVGs, but only one secondary as DR server. Wen
  • Do we have command to check the detail IO for each RVG? I setup the environment: two primary replicated to one secondary. We can see data in both sites is replicated, but not sure if they are replicated at the same time, or only one site at one time # vradmin -g testdg1 repstatus data_rvg1 Replicated Data Set: data_rvg1 Primary: Host name: 192.168.12.5 RVG name: data_rvg1 DG name: testdg1 RVG state: enabled for I/O Data volumes: 1 VSets: 0 SRL name: srlvol1 SRL size: 200.00 M Total secondaries: 1 Secondary: Host name: 192.168.12.8 RVG name: data_rvg1 DG name: testdg1 Data status: consistent, behind Replication status: replicating (connected) Current mode: asynchronous Logging to: SRL ( 8 Kbytes behind, 0 % full Timestamp Information: behind by 0h 0m 0s # vradmin -g testdg2 repstatus data_rvg2 Replicated Data Set: data_rvg2 Primary: Host name: 192.168.12.6 RVG name: data_rvg2 DG name: testdg2 RVG state: enabled for I/O Data volumes: 1 VSets: 0 SRL name: srlvol2 SRL size: 110.00 M Total secondaries: 1 Secondary: Host name: 192.168.12.9 RVG name: data_rvg2 DG name: testdg2 Data status: consistent, behind Replication status: replicating (connected) Current mode: asynchronous Logging to: SRL ( 193 Kbytes behind, 0 % full Timestamp Information: behind by 0h 0m 1s ------------------------------------------------------------------------ # vradmin -g testdg1 repstatus data_rvg1 Replicated Data Set: data_rvg1 Primary: Host name: 192.168.12.5 RVG name: data_rvg1 DG name: testdg1 RVG state: enabled for I/O Data volumes: 1 VSets: 0 SRL name: srlvol1 SRL size: 200.00 M Total secondaries: 1 Secondary: Host name: 192.168.12.8 RVG name: data_rvg1 DG name: testdg1 Data status: consistent, up-to-date Replication status: replicating (connected) Current mode: asynchronous Logging to: SRL Timestamp Information: behind by 0h 0m 0s # vradmin -g testdg2 repstatus data_rvg2 Replicated Data Set: data_rvg2 Primary: Host name: 192.168.12.6 RVG name: data_rvg2 DG name: testdg2 RVG state: enabled for I/O Data volumes: 1 VSets: 0 SRL name: srlvol2 SRL size: 110.00 M Total secondaries: 1 Secondary: Host name: 192.168.12.9 RVG name: data_rvg2 DG name: testdg2 Data status: consistent, up-to-date Replication status: replicating (connected) Current mode: asynchronous Logging to: SRL Timestamp Information: behind by 0h 0m 0s
  • The example I gave for 3 sites is for a single RVG, so this shows one data set, which is replicated to different DR servers, so:

    Data is written at Prod and
      Prod replicates to DR1
      and Prod replicates to DR2

    There is no replication between DR1 and DR2, but the rlinks are in place to replicate between DR1 and DR2, but they are not active - rlinks are only active between a primary and an secondary and are not active between secondaries.  You don't have to create an rlink pair between the 2 DR servers, but if you didn't then if you made DR1 the primary as in the 2nd example, then data would ONLY be replicated to Prod1 and not to DR2 which maybe what you want as you may not have a network link between DR1 and DR2, but if you did want to replicate between DR1 and DR2 in the event that Prod failed and DR became the primary, you would need to create an rlink pair between DR1 and DR2
     

    The norm is to have one or more RVGs each with 2 sites (1 primary and 1 secondary) and not many customers have 3 sites (2 secondaries) as it is expensive to have 3 copies of the data.  When you have mulitple RVGs these are all independent.  So you have the normal situation of 2 site RVGS (each RVG has 1 secondary) and so all rlinks are normally active.  If the IPs you have shown are virtual IPs so that the virtual IPs could reside on the same host, this makes no difference to VVR, the 2 RVGs are still independent and both will normally replicate at the same time.

    So you could have both RVGs on the same pair of 2 servers (if IPs .5 and .6 both reside on Pri1 and .8 and .9 reside on DR2):

     

    Host Pri1:            Host DR2:
    data_rvg1             data_rvg1
    192.168.12.5  ====>   192.168.12.8
    
    data_rvg2             data_rvg2
    192.168.12.6  ====>   192.168.12.9

     

    Or you could have 2 primary servers replicating to the same "DR3" server (if IPs .8 and .9 both reside on DR3)

     

    Host Pri1:            Host DR3:
    data_rvg1             data_rvg1
    192.168.12.5  ====>   192.168.12.8
    
    Host Pri2:
    data_rvg2             data_rvg2
    192.168.12.6  ====>   192.168.12.9
     
    Or you could have 2 pairs of servers:
     
    Host Pri1:            Host DR3:
    data_rvg1             data_rvg1
    192.168.12.5  ====>   192.168.12.8
    
    Host Pri2:            Host DR4:
    data_rvg2             data_rvg2
    192.168.12.6  ====>   192.168.12.9

     

     

    These 3 combinations all work the same in respect of VVR - the 2 RVGs (data_rvg1 and data_rvg2) replicate independently.

    Mike