{"id":13490106,"url":"https://github.com/xiaqunfeng/ceph-ansible","last_synced_at":"2025-09-18T00:23:07.051Z","repository":{"id":166776707,"uuid":"94303145","full_name":"xiaqunfeng/ceph-ansible","owner":"xiaqunfeng","description":"Deploy ceph cluster with ansible. And write roles and tools to make the process of deploy more convenience.","archived":false,"fork":false,"pushed_at":"2018-03-08T12:55:05.000Z","size":886,"stargazers_count":6,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-31T03:35:30.766Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xiaqunfeng.png","metadata":{"files":{"readme":"README-MULTISITE.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-06-14T07:37:17.000Z","updated_at":"2021-10-19T06:12:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"c0d6083c-9fff-46e0-bb93-9e00a7a936e2","html_url":"https://github.com/xiaqunfeng/ceph-ansible","commit_stats":null,"previous_names":["xiaqunfeng/ceph-ansible"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaqunfeng%2Fceph-ansible","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaqunfeng%2Fceph-ansible/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaqunfeng%2Fceph-ansible/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xiaqunfeng%2Fceph-ansible/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xiaqunfeng","download_url":"https://codeload.github.com/xiaqunfeng/ceph-ansible/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224370273,"owners_count":17299968,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T19:00:40.874Z","updated_at":"2025-09-18T00:23:01.935Z","avatar_url":"https://github.com/xiaqunfeng.png","language":"Python","funding_links":[],"categories":["tools"],"sub_categories":[],"readme":"RGW Multisite (Experimental)\n============================\n\nDirections for configuring the RGW Multisite support in ceph-ansible\n\n## Requirements\n\n* At least 2 Ceph clusters\n* 1 RGW per cluster\n* Jewel or newer\n\nMore details:\n\n* Can configure a Master and Secondary realm/zonegroup/zone on 2 separate clusters.\n\n\n## Configuring the Master Zone in the Primary Cluster\n\nThis will setup the realm, zonegroup and master zone and make them the defaults.  It will also reconfigure the specified RGW for use with the zone.\n\n1. Edit the Inventory File\n\n```\n[rgws]\ncluster0-rgw0 rgw_zone=us-east rgw_zonemaster=true\n```\n1. Generate System Access and System Secret Keys\n\n```\necho system_access_key: $(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 20 | head -n 1) \u003e multi-site-keys.sh\necho system_secret_key: $(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 40 | head -n 1) \u003e\u003e multi-site-keys.sh\n```\n1. Edit the RGW Group Vars\n\n```\ncopy_admin_key: true\n# Enable Multisite support\nrgw_multisite: true\nrgw_realm: gold\nrgw_zonegroup: us\nsystem_access_key: 6kWkikvapSnHyE22P7nO\nsystem_secret_key: MGecsMrWtKZgngOHZdrd6d3JxGO5CPWgT2lcnpSt\n```\n\n**Note:** replace the system_access_key and system_secret_key values with the ones you generated\n\n1. Run the ceph-ansible playbook on your 1st cluster\n\nNote: If you have already installed a cluster with ceph-ansible, you can use the `rgw-configure.yml` playbook as a shortcut (Only runs the ceph-rgw role)\n\n## Configuring the Secondary Zone in a Separate Cluster\n\n```\n[rgws]\ncluster1-rgw0 rgw_zone=us-west rgw_zonesecondary=true\n```\n\n1. Edit the RGW Group Vars\n\n```\ncopy_admin_key: true\n# Enable Multisite support\nrgw_multisite: true\nrgw_realm: gold\nrgw_zonegroup: us\nrgw_pullhost: cluster1-rgw0.fqdn\nsystem_access_key: 6kWkikvapSnHyE22P7nO\nsystem_secret_key: MGecsMrWtKZgngOHZdrd6d3JxGO5CPWgT2lcnpSt\n```\n\n**Note:** pullhost should be the host of the RGW that is configured as the Zone Master\n**Note:** system_access_key and system_secret_key should match what you used in the 1st cluster\n\n\n1. Run the ceph-ansible playbook on your 2nd cluster\n\nNote: If you have already installed a cluster with ceph-ansible, you can use the `rgw-configure.yml` playbook as a shortcut (Only runs the ceph-rgw role)\n\n## Conclusion\n\nYou should now have a master zone on cluster0 and a secondary zone on cluster1 in an Active-Active mode.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaqunfeng%2Fceph-ansible","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxiaqunfeng%2Fceph-ansible","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxiaqunfeng%2Fceph-ansible/lists"}