Enabling enterprise-grade S3 by seamlessly migrating object-based storage from ONTAP S3 to StorageGRID
Enabling enterprise-grade S3 by seamlessly migrating object-based storage from ONTAP S3 to StorageGRID
Populate the Source Bucket
Lets put some objects in the source ONTAP bucket. We will use S3Browser for this demo but you could use any tool you are comfortable with.
Using the ONTAP user s3 keys created above, configure S3Browser to connect to your ontap system.
Now lets upload some files to the versioning enabled bucket.
Now lets create some object versions in the bucket.
Delete a file.
Upload a file that already exists in the bucket to copy the file over itself and create a new version of it.
In S3Browser we can view the versions of the objects we just created.
Establish the replication relationship
Lets start sending data from ONTAP to StorageGRID.
In ONTAP System Manager navigate to "Protection/Overview". Scroll down to "Cloud object stores". and click the "Add" button and select "StorageGRID".
Input the StorageGRID information by providing a name, URL style (for this demo we will use Path-styl URLs). Set the object store scope to "Storage VM".
If you are using SSL, set the load balancer endpoint port and copy in the StorageGRID endpoint certificate here. otherwise uncheck the SSL box and input the HTTP endpoint port here.
Input the StorageGRID user S3 keys and bucket name from the StorageGRID configuration above for the destination.
Now that we have a destination target configured, we can configure the policy settings for the target. Expand "Local policy settings" and select "continuous".
Edit the continuous policy and change the "Recovery point objective" from "1 Hours" to "3 Seconds".
Now we can configure snapmirror to replicate the bucket.
snapmirror create -source-path sv_demo: /bucket/bucket -destination-path sgws_demo: /objstore -policy Continuous
The bucket will now show a cloud symbol in the bucket list under protection.
If we select the bucket and go to the "SnapMirror (ONTAP or Cloud)" tab we will see the snapmirror repationship status.
The replication details
We now have a successfully replicating bucket from ONTAP to StorageGRID. But what is actually replicating? Our source and destination are both versioned buckets. Do the previous versions also replicate to the destination? If we look at our StorageGRID bucket with S3Browser we see that the existing versions did not replicate and our deleted object does not exist, nor does a delete marker for that object. Our duplicated object only has 1 version in the StorageGRID bucket.
In our ONTAP bucket, lets add a new version to our same object that we used previously and see how it replicates.
If we look on the StorageGRID side we see that a new version has been created in this bucket too, but is missing the initial version from before the snapmirror relationship.
This is because the ONTAP SnapMirror S3 process only replicates the current version of the object. This is why we created a versioned bucket on the StorageGRID side to be the destination. This way StorageGRID can maintain a version history of the objects.
By Rafael Guedes, and Aron Klein