sách gpt4 ai đã đi

Ceph:如何在特定的 OSD 上放置池?

In lại 作者:行者123 更新时间:2023-12-04 12:39:15 25 4
mua khóa gpt4 Nike

我有一个带有 data_pool 的 66 个 OSD 的 Ceph 集群和一个 metadata_pool .

我想放置metadata_pool在 3 个具有 SSD 的特定 OSD 上,因为所有其他 63 个 OSD 都有较旧的磁盘。

如何强制 Ceph 放置 metadata_pool在特定的 OSD 上?

Cảm ơn trước.

1 Câu trả lời

您需要为您的池制定一个特殊的粉碎规则,该规则将定义要使用的存储类型。有一个nice answer in the proxmox forum .

归结为:

Ceph 知道哪个驱动器是 HDD 或 SDD。此信息反过来可用于创建粉碎规则,该规则将仅将 PG 放置在该类型的设备上。

ceph 的默认规则是replicated_rule:

# rules
rule replicated_rule {
id 0
type replicated
min_size 1
max_size 10
step take default
step chooseleaf firstn 0 type host
step emit
}

因此,如果您的 ceph 集群包含两种类型的存储设备,您可以使用以下命令创建新的粉碎规则:
$ ceph osd crush rule create-replicated replicated_hdd default host hdd
$ ceph osd crush rule create-replicated replicated_ssd default host ssd

新创建的规则看起来几乎相同。这是硬盘规则:
rule replicated_hdd {
id 1
type replicated
min_size 1
max_size 10
step take default class hdd
step chooseleaf firstn 0 type host
step emit
}

如果您的集群不包含 hdd 或 ssd 设备,则规则创建将失败。

在此之后,您将能够为现有池设置新规则:
$ ceph osd pool set YOUR_POOL crush_rule replicated_ssd

集群将进入 HEALTH_WARN 并将对象移动到 SSD 上的正确位置,直到集群再次健康。

此功能 was added with ceph 10.x aka Luminous .

关于Ceph:如何在特定的 OSD 上放置池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58060333/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com