6.8. 用于部署 OSD 的高级服务规格和过滤器

服务规格的 OSD 是利用磁盘属性描述集群布局的方法。它为用户提供了一种抽象的方式,告知 Ceph 哪个磁盘应该切换到带有所需配置的 OSD,而不必了解具体的设备名称和路径。对于每个设备和每个主机,定义 yaml 文件或 json 文件。

OSD 规格的常规设置

  • service_type: 'osd': 对于创建 OSDS 是必须的
  • service_id :使用您首选的服务名称或标识。使用规范文件创建一组 OSD。此名称用于管理所有 OSD,并且代表一个 Orchestrator 服务。
  • placement :用于定义需要在其上部署 OSD 的主机。

    您可以在以下选项中使用:

    • host_pattern: '*' - 用于选择主机的主机名称模式。
    • label: 'osd_host' - 需要部署 OSD 的主机中使用的标签。
    • hosts: 'host01', 'host02' - 需要部署 OSD 的显式主机名列表。
  • selection of devices :创建 OSD 的设备。这样,可以将 OSD 与不同设备分隔开。您只能创建具有三个组件的 BlueStore OSD:

    • OSD 数据:包含所有 OSD 数据
    • WAL: BlueStore 内部日志或 write-ahead 日志
    • DB: BlueStore 内部元数据
  • data_devices :定义要部署 OSD 的设备。在本例中,OSD 在并置的架构中创建。您可以使用过滤器来选择设备和文件夹。
  • wal_devices :定义用于 WAL OSD 的设备。您可以使用过滤器来选择设备和文件夹。
  • db_devices :定义 DB OSD 的设备。您可以使用过滤器来选择设备和文件夹。
  • encrypted :一个可选参数加密 OSD 的信息,它可以设置为 TrueFalse
  • unmanaged: 可选参数,默认设置为 False。如果您不希望 Orchestrator 来管理 OSD 服务,您可以将其设置为 True。
  • block_wal_size :用户定义的值,以字节为单位。
  • block_db_size :用户定义的值,以字节为单位。
  • osds_per_device :用于为每个设备部署多个 OSD 的用户定义的值。
  • 方法 :一个可选参数来指定是否使用 LVM 层创建 OSD。如果要在不包含 LVM 层的原始物理设备中创建 OSD,请设置为 raw。如果您有独立的 DB 或 WAL 设备,则块与 DB 的比例或 WAL 设备 MUST 为 1:1。

用于指定设备的过滤器

过滤器与 data_deviceswal_devicesdb_devices 参数一同使用。

过滤器的名称

描述

语法

示例

model

目标特定磁盘。您可以通过运行 lsblk -o NAME、FSTYPE、LABEL、MOUNTPOINT、SIZE、MODEL 命令或 smartctl -i /DEVIVE_PATH获得模型的详细信息

Model: DISK_MODEL_NAME

model: MC-55-44-XZ

Vendor

目标特定磁盘

Vendor: DISK_VENDOR_NAME

vendor: Vendor Cs

大小规格

包括精确大小的磁盘

size: EXACT

大小: '10G'

大小规格

包括 磁盘大小,即在范围内

size: LOW:HIGH

大小: '10G:40G'

大小规格

包括小于或者等于大小的磁盘

size: :HIGH

大小: ':10G'

大小规格

包括等于或大于大小的磁盘

大小: LOW:

大小: '40G:'

Rotational

磁盘轮转属性。1 与轮转的所有磁盘匹配,0 匹配所有非轮转磁盘。如果 rotational =0,则 OSD 配置有 SSD 或 NVME。如果 rotational=1,则使用 HDD 配置 OSD。

rotational: 0 或 1

rotational: 0

All

考虑所有可用磁盘

all: true

all: true

Limiter

当您指定了有效的过滤器,但希望限制可以使用 'limit' 指令的匹配磁盘数量。它应该只作为最后的手段使用。

限制: NUMBER

限制:2

注意

要创建在同一主机上带有非并置组件的 OSD,您必须指定使用的不同设备类型,设备也应该位于同一主机上。

注意

用于部署 OSD 的设备必须被 libstoragemgmt 支持。

其它资源