News, tips, partners, and perspectives for the Oracle Solaris operating system

  • May 26, 2020

Cascaded Replication with ZFSSA

Siddhartha Puligilla
Senior Software Engineer

Remote Replication is a licensed feature of ZFS Storage Appliance that provides snapshot based replication of projects and shares from one appliance to another. A simple replication setup consists of one source replicating a project/share to one target (A => B), you can also configure it to replicate from a single source to multiple targets (A => B & A => C). 

Cascaded Replication is an extension to the same feature and is introduced in OS 8.8.6, it provides users ability to replicate data from a source to final target through one or more intermediary targets (A => B => ... => X). 

Following figure shows one such cascaded replication:
An example of cascaded replication.

This is implemented by allowing users to configure replication actions on replication packages. To achieve a cascaded replication configuration of A => B => C, you need to follow the below two steps:

  1. On System-A: Configure replication action from A => B for a project & send first update.
  2. On System-B: Create a 'replication action to C' on replication package for the project.


From CLI [System-B]:

[ Navigate to the replication package > select project > replication > create action ]

System-B:shares (perf) replication source-001 package-000 beta_proj action-000 (uncommitted)> set target=System-C
                        target = System-C (uncommitted)
System-B:shares (perf) replication source-001 package-000 beta_proj action-000 (uncommitted)> set pool=pool-b
                          pool = pool-b (uncommitted)
System-B:shares (perf) replication source-001 package-000 beta_proj action-000 (uncommitted)> commit
System-B:shares (perf) replication source-001 package-000 beta_proj replication> show
             conflict_detected = false
             TARGET         STATUS         NEXT
action-000  System-C        idle            Sync now
                         conflict => Conflict
System-B:shares (perf) replication source-001 package-000 beta_proj replication> 

From BUI [System-B]:

[ Navigate to shares > replica project > replication > [+ action] on package screen ]

[BUI image showing action creation in replica project package screen]



  • Cascaded replication is not supported for share-level replication. Users cannot configure actions under a share in replication package and actions cannot be configured under packages created as result of share-level replication.
  • Reversal of replication is only supported on targets receiving replication update directly from the source and no other, in above example System-B.
  • Systems running older than firmware OS 8.7 cannot be part of cascading replication at any position, systems running firmware later than OS 8.7 & older than OS 8.8.6 can be used as final target.
  • System rollback to a firmware version that does not support cascaded replication will result in the destruction of all cascaded replication actions.

Note: You can combine cascaded replication with muti-target reversal feature for a more robust, flexible and reversible multi-target environment.

Please check your on-board help page or OS 8.8.x administration guide for more details.


Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.