Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ceph_ec_profile: added support for define failure domain #7467

Closed
wants to merge 1 commit into from

Conversation

k0ste
Copy link
Contributor

@k0ste k0ste commented Nov 29, 2023

For a large EC deployments, for example EC 8+3:

  • we need 12 racks
  • we have 10 hosts in rack with 60 OSD's per host
  • definitely need a failure domain rack

The crush-failure-domain=rack in profile cmd will create a CRUSH rule that ensures no two chunks are stored in the same rack.

https://docs.ceph.com/en/latest/rados/operations/erasure-code/

For a large EC deployments, for example EC 8+3:

* we need 12 racks
* we have 10 hosts in rack with 60 OSD's per host
* definitely need a failure domain `rack`

The `crush-failure-domain=rack` in profile cmd  will create a CRUSH rule that ensures no two chunks are stored in the same rack.

Signed-off-by: Konstantin Shalygin <[email protected]>
@k0ste
Copy link
Contributor Author

k0ste commented Nov 30, 2023

On hardware checks:

changed: [host1.staging.example.com] => (item=Create EC profile: erasure82) => {
    "ansible_loop_var": "item",
    "changed": true,
    "cmd": [
        "ceph",
        "-n",
        "client.admin",
        "-k",
        "/etc/ceph/ceph.client.admin.keyring",
        "--cluster",
        "ceph",
        "osd",
        "erasure-code-profile",
        "set",
        "erasure82",
        "k=8",
        "m=2",
        "crush-failure-domain=rack",
        "crush-device-class=ssd"
    ],
    "delta": "0:00:01.103060",
    "diff": {
        "after": "",
        "before": ""
    },
    "end": "2023-11-30 13:17:48.192379",
    "invocation": {
        "module_args": {
            "cluster": "ceph",
            "crush_device_class": "ssd",
            "crush_failure_domain": "rack",
            "k": "8",
            "m": "2",
            "name": "erasure82",
            "state": "present",
            "stripe_unit": null
        }
    },
    "item": {
        "crush_device_class": "ssd",
        "crush_failure_domain": "rack",
        "k": 8,
        "m": 2,
        "name": "erasure82"
    },
    "rc": 0,
    "start": "2023-11-30 13:17:47.089319",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "",
    "stdout_lines": []
}

@asm0deuz
Copy link
Collaborator

jenkins test centos-non_container-update

@clwluvw
Copy link
Member

clwluvw commented Mar 16, 2024

Closing in favor of #7499

@clwluvw clwluvw closed this Mar 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants