cinder - status of replication
TRANSCRIPT
PowerPoint Presentation
The status of ReplicationJohn Griffith - [email protected] Balduf - [email protected]
Why are we building replication into Cinder?Whats it for? What does it buy me?Its a DR strategy for non-cloud applications.Backup (Kind of). Limited use cases today.Different vendors Different terminology for states. How does failover/failback work?Crawl-walk-runShould be aware of Availability Groups (future).
Use Cases ConsideredNEVER - 2 different vendor backends. Consider:2 backends, same cloud2 backends, different cloud2 backends, one not in a cloudReplication one to multiple backendsAutomated -vs- Non-Automated failoverSnapshot replication -vs - Continuous replication
How we got hereMissteps
Many voicesLack of agreed upon visionDifference in interpretationUnique characteristics that dont translate wellLack of testabilityRush at the end of release cycle
V1 lessons learnedLack of community involvementOnly worked for one vendorNot clearly understoodDocumentation was not up to standards
V2 Learning from our mistakesHeavy involvement from multiple vendorsReviews, reviews, reviewsDONT RUSH!!!We will sell no wine, before its time
How it works and what it does:Driver must report: replication_enabled = TrueIn its capabilities.
New config variable:replication_device = {device_target_id: ,managed_backend_name: ,Vendor Key1: ,Vendor Key2: ,}
(Note: No trailing comma allowed in replication_device KV pair list)
Example config file.[Solidfire1]volume_driver=cinder.volume.drivers.solidfire.SolidFireDriversan_ip=192.168.1.50san_login=adminsan_password=solidfirevolume_backend_name=SF1
[Solidfire2]volume_driver=cinder.volume.drivers.solidfire.SolidFireDriversan_ip=192.168.1.250san_login=adminsan_password=solidfirevolume_backend_name=SF2managed_replication_target=Truereplication_device = device_target_id: vendorSpecificID, \ managed_backend_name: SF1, \ mvip: 192.168.1.50, \ login: admin, \ password: solidfire
Volume-typesKeywords:
replication_enabled enabled replication, this way you can set it up and not do replicationreplication_type Async, syncreplication_count number of replicas
V1 semantics (NO LONGER USED)promotereenable
Current Terms and StatusTerms:enabled/disabledStatus:disabledinactiveactiveactive-stoppederrorTasks (Admin)replication enablereplication disablereplication failoverlist replication targets
Drivers in work (or done)SolidFirePure StorageHPIBMIn progress, NO review yetDellEMC (VNX)NTAP (pool level)
Demo