6.9. 高度なサービス仕様を使用した Ceph OSD のデプロイ


タイプ OSD のサービス仕様は、ディスクのプロパティーを使用してクラスターレイアウトを記述する 1 つの方法です。これは、デバイスの名前やパスの指定を把握せずに、必要な設定でどのディスクを OSD にするか Ceph に知らせる抽象的な方法をユーザーに提供します。

各デバイスおよび各ホストに OSD をデプロイするには、yaml ファイルまたは json ファイルを定義します。

前提条件

  • 稼働中の Red Hat Ceph Storage クラスターがある。
  • ホストがクラスターに追加されている。
  • すべてのマネージャーおよびモニターデーモンがデプロイされている。

手順

  1. モニターノードで、osd_spec.yaml ファイルを作成します。

    [root@host01 ~]# touch osd_spec.yaml

  2. osd_spec.yml ファイルを編集し、以下の詳細を含めます。

    構文

    service_type: osd
    service_id: SERVICE_ID
    placement:
      host_pattern: '*' # optional
    data_devices: # optional
      model: DISK_MODEL_NAME # optional
      paths:
      - /DEVICE_PATH
    osds_per_device: NUMBER_OF_DEVICES # optional
    db_devices: # optional
      size: # optional
      all: true # optional
      paths:
       - /DEVICE_PATH
    encrypted: true

    1. 単純なシナリオ: これらのケースでは、すべてのノードが同じ設定になっています。

      service_type: osd
      service_id: osd_spec_default
      placement:
        host_pattern: '*'
      data_devices:
        all: true
        paths:
        - /dev/sdb
      encrypted: true

      service_type: osd
      service_id: osd_spec_default
      placement:
        host_pattern: '*'
      data_devices:
        size: '80G'
      db_devices:
        size: '40G:'
        paths:
         - /dev/sdc

    2. 単純なシナリオ: この場合、すべてのノードが、LVM レイヤーを使用せず、raw モードで作成された OSD デバイスと同じ設定になっています。

      service_type: osd
      service_id: all-available-devices
      encrypted: "true"
      method: raw
      placement:
        host_pattern: "*"
      data_devices:
        all: "true"

    3. 高度なシナリオ: これにより、すべての HDD を専用の DB または WAL デバイスとして割り当てられた 2 つの SSD のある data_devices として使用し、目的のレイアウトを作成します。残りの SSD は、NVME ベンダーが専用の DB または WAL デバイスとして割り当てられている data_devices です。

      service_type: osd
      service_id: osd_spec_hdd
      placement:
        host_pattern: '*'
      data_devices:
        rotational: 0
      db_devices:
        model: Model-name
        limit: 2
      ---
      service_type: osd
      service_id: osd_spec_ssd
      placement:
        host_pattern: '*'
      data_devices:
        model: Model-name
      db_devices:
        vendor: Vendor-name

    4. 不均一のノードを使用する高度なシナリオ: これは、host_pattern キーに応じて、異なる OSD 仕様を異なるホストに適用します。

      service_type: osd
      service_id: osd_spec_node_one_to_five
      placement:
        host_pattern: 'node[1-5]'
      data_devices:
        rotational: 1
      db_devices:
        rotational: 0
      ---
      service_type: osd
      service_id: osd_spec_six_to_ten
      placement:
        host_pattern: 'node[6-10]'
      data_devices:
        model: Model-name
      db_devices:
        model: Model-name

    5. 専用の WAL および DB デバイスを使用した高度なシナリオ:

      service_type: osd
      service_id: osd_using_paths
      placement:
        hosts:
          - host01
          - host02
      data_devices:
        paths:
          - /dev/sdb
      db_devices:
        paths:
          - /dev/sdc
      wal_devices:
        paths:
          - /dev/sdd

    6. デバイスごとに複数の OSD がある高度なシナリオ:

      service_type: osd
      service_id: multiple_osds
      placement:
        hosts:
          - host01
          - host02
      osds_per_device: 4
      data_devices:
        paths:
          - /dev/sdb

    7. 事前に作成されたボリュームの場合、osd_spec.yaml ファイルを編集して、次の詳細を含めます。

      構文

      service_type: osd
      service_id: SERVICE_ID
      placement:
        hosts:
          - HOSTNAME
      data_devices: # optional
        model: DISK_MODEL_NAME # optional
        paths:
        - /DEVICE_PATH
      db_devices: # optional
        size: # optional
        all: true # optional
        paths:
         - /DEVICE_PATH

      service_type: osd
      service_id: osd_spec
      placement:
        hosts:
          - machine1
      data_devices:
        paths:
          - /dev/vg_hdd/lv_hdd
      db_devices:
        paths:
          - /dev/vg_nvme/lv_nvme

    8. ID による OSD の場合は、osd_spec.yaml ファイルを編集して次の詳細を含めます。

      注記

      この設定は、Red Hat Ceph Storage 5.3z1 以降のリリースに適用されます。以前のリリースの場合は、事前に作成された LVM を使用してください。

      構文

      service_type: osd
      service_id: OSD_BY_ID_HOSTNAME
      placement:
        hosts:
          - HOSTNAME
      data_devices: # optional
        model: DISK_MODEL_NAME # optional
        paths:
        - /DEVICE_PATH
      db_devices: # optional
        size: # optional
        all: true # optional
        paths:
         - /DEVICE_PATH

      service_type: osd
      service_id: osd_by_id_host01
      placement:
        hosts:
          - host01
      data_devices:
        paths:
          - /dev/disk/by-id/scsi-0QEMU_QEMU_HARDDISK_drive-scsi0-0-0-5
      db_devices:
        paths:
          - /dev/disk/by-id/nvme-nvme.1b36-31323334-51454d55204e564d65204374726c-00000001

    9. パス別の OSD の場合は、osd_spec.yaml ファイルを編集して次の詳細を含めます。

      注記

      この設定は、Red Hat Ceph Storage 5.3z1 以降のリリースに適用されます。以前のリリースの場合は、事前に作成された LVM を使用してください。

      構文

      service_type: osd
      service_id: OSD_BY_PATH_HOSTNAME
      placement:
        hosts:
          - HOSTNAME
      data_devices: # optional
        model: DISK_MODEL_NAME # optional
        paths:
        - /DEVICE_PATH
      db_devices: # optional
        size: # optional
        all: true # optional
        paths:
         - /DEVICE_PATH

      service_type: osd
      service_id: osd_by_path_host01
      placement:
        hosts:
          - host01
      data_devices:
        paths:
          - /dev/disk/by-path/pci-0000:0d:00.0-scsi-0:0:0:4
      db_devices:
        paths:
          - /dev/disk/by-path/pci-0000:00:02.0-nvme-1

  3. YAML ファイルをコンテナー内のディレクトリーにマウントします。

    [root@host01 ~]# cephadm shell --mount osd_spec.yaml:/var/lib/ceph/osd/osd_spec.yaml

  4. そのディレクトリーに移動します。

    [ceph: root@host01 /]# cd /var/lib/ceph/osd/

  5. OSD をデプロイする前にドライランを実行します。

    注記

    この手順は、デーモンをデプロイしなくても、デプロイメントのプレビューを提供します。

    [ceph: root@host01 osd]# ceph orch apply -i osd_spec.yaml --dry-run

  6. サービス仕様を使用して OSD をデプロイします。

    構文

    ceph orch apply -i FILE_NAME.yml

    [ceph: root@host01 osd]# ceph orch apply -i osd_spec.yaml

検証

  • サービスをリスト表示します。

    [ceph: root@host01 /]# ceph orch ls osd

  • ノードとデバイスの詳細を表示します。

    [ceph: root@host01 /]# ceph osd tree

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.