Cloud Mirroring allows you to write data to 2 distinct cloud object stores in real time, with the ability to failover to the secondary store in the event of an outage.
When Panzura Filers are configured with two clouds, they have a cloud connector. This connects the Rest API to the object store.
One cloud object store is labeled as the primary cloud, and the other cloud object store is labeled as the secondary cloud. When you have two clouds and data is being written, data is written to both cloud object stores at the same time.
The data is not released from the cache until an MD5 checksum is received and matched to both of the cloud object stores. This ensures that your data gets to each cloud location without data corruption or data loss. When your Panzura filer reads, it only reads from the primary cloud object store because it's unnecessary to read from both clouds when the data is identical.
Writing to a cloud object store is free, but reading from a cloud object store can become expensive. Panzura filers will only read from the secondary cloud object store if the primary cloud object store fails. If you have multiple filers, communication (read and write requests) to each cloud object store occurs at each filer location.
This ensures that we have consistent data in both cloud object stores.
One hundred and sixty consecutive read or write failures on the same piece of data triggers a cloud failure. If the primary cloud fails, a failure is triggered across the entire CloudFS. An entire CloudFS will not failover to an inconsistent cloud. After a failure occurs, every write and read request is sent to the secondary cloud. With every read and write that occurs, the primary cloud becomes more outdated because it's in failure mode.
While the primary cloud is down, the secondary cloud tracks the data that isn't being written to the primary cloud.
When the primary cloud comes back up, your Panzura filer detects this and starts writing to both clouds again. In the background, your Panzura filer reads from the secondary cloud and writes the data that it missed while it was down to the primary cloud. The primary cloud does not become the primary again until the clouds are consistent again. Your Panzura filer cannot absorb a failure until the primary cloud is consistent again.