Mirror Volumes

Provides a synopsis of what mirror volumes are and the mirroring process.

Creating a mirror volume is similar to creating a normal read/write volume. However, when you create a mirror volume, you must specify a source volume from which the mirror retrieves content. This retrieval is called the mirroring operation. Like a normal volume, a mirror volume has a configurable replication factor. Only one copy of the data is transmitted from the source volume to the mirror volume. HPE Ezmeral Data Fabric volumes can only be mirrored and NOT replicated. However, the source and mirror volumes handle their own internal HPE Ezmeral Data Fabric filesystem replication (which is based on the replication factor) independently. file system internally replicates source and mirror volumes independently of each other.

NOTE Volume mirroring from a lower HPE Ezmeral Data Fabric version to higher HPE Ezmeral Data Fabric version is supported. For example, you can mirror volumes from a HPE Ezmeral Data Fabric 4.0.1 cluster to a HPE Ezmeral Data Fabric 5.2 cluster. However, you cannot mirror volumes from a HPE Ezmeral Data Fabric 5.2 cluster to a HPE Ezmeral Data Fabric 4.0.1 cluster.

Mirroring Process

The HPE Ezmeral Data Fabric system creates a temporary snapshot of the source volume at the start of a mirroring operation. The mirroring process reads content from the snapshot into the mirror volume. The source volume remains available for read and write operations during the mirroring process.

If the mirroring operation is schedule-based, the snapshot expires according to the value of the schedule's Retain For parameter. Snapshots created during manual mirroring persist until they are deleted manually.

The mirroring process transmits only the differences between the source volume and the mirror. The initial mirroring operation copies the entire source volume, but subsequent mirroring operations can be extremely fast. If the fastinodescan feature is enabled, mirroring will proceed significantly faster when there are large number of files and few changes since the last mirroring operation. The fastinodescan feature is enabled by default for all new installations, but must be manually enabled if you are upgrading from pre-5.2.x versions. See the Upgrade Guide for information on enabling this feature. To determine whether the fastinodescan feature is enabled, run the following command:

/opt/mapr/bin/maprcli config load -json | grep mfs.feature.fastinodescan.support

To use the fastinodescan feature on converted or promoted volumes, mirroring must be restarted from the source volume after converting volume from mirror to read-write and vice versa.

The mirroring operation never consumes all available network bandwidth, and throttles back when other processes need more network bandwidth. The server sending mirror data continuously monitors the total round-trip time between the data transmission and arrival, and uses this information to restrict itself to 30% of the available bandwidth (continuously calculated). If the network or servers anywhere along the entire path need more bandwidth, the sending server throttles back automatically. If more bandwidth opens up, the sender automatically increases how fast it sends data. Mirror throttling can be disabled so that all available bandwidth is devoted to mirror operations. See Disabling Mirror Throttling for details.

During the copy process, the mirror is a fully-consistent image of the source volume. Mirrors are atomically updated at the mirror destination. The mirror does not change until all bits are transferred, at which point all the new files, directories, blocks, etc., are atomically moved into their new positions in the mirror-volume. The previous mirror is left behind as a snapshot, which can be accessed from the .snapshot directory. These old snapshots can be deleted on a schedule.

Mirroring is extremely resilient. In the case of a network partition, where some or all of the machines that host the source volume cannot communicate with the machines that host the mirror volume, the mirroring operation periodically retries the connection. Once the network is restored, the mirroring operation resumes.

Altering Mirror Relationships

You can use the volume modify command to change mirror relationships. You can change the mirror relationship to any of the volumes (either rw or mirror) that have the same mirror root, as the mirrored volume.

For example, consider the mirror tree:

Volume E mirrors volume B. However, if volume B becomes unavailable, you can set either volume A, or volume C, or volume D as the source of mirroring for volume E, since volume B, volume C, and volume D have the same mirror data source volume, which is volume A.