9.5. Ceph BlueStore OSD 추가

이 섹션에서는 BlueStore 백엔드 오브젝트 저장소로 새 Ceph OSD 노드를 설치하는 방법을 설명합니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • 노드에 대한 루트 수준 액세스입니다.

절차

  1. Ansible 인벤토리 파일의 [osds] 섹션에 새 OSD 노드를 추가합니다. 기본적으로 /etc/ansible/hosts 에 있습니다.

    [osds]
    node1
    node2
    node3
    HOST_NAME

    교체:

    • OSD 노드의 이름이 있는 HOST_NAME

    예제

    [osds]
    node1
    node2
    node3
    node4

  2. /usr/share/ceph-ansible/ 디렉터리로 이동합니다.

    [user@admin ~]$ cd /usr/share/ceph-ansible
  3. host_vars 디렉터리를 생성합니다.

    [root@admin ceph-ansible] mkdir host_vars
  4. host_vars 에 새로 추가된 OSD의 구성 파일을 만듭니다.

    [root@admin ceph-ansible] touch host_vars/HOST_NAME.yml

    교체:

    • 새로 추가된 OSD의 호스트 이름이 있는 HOST_NAME

    예제

    [root@admin ceph-ansible] touch host_vars/node4.yml

  5. 새로 생성된 파일에 다음 설정을 추가합니다.

    osd_objectstore: bluestore
    참고

    모든 OSD에 BlueStore를 사용하려면 osd_objectstore:bluestoregroup_vars/all.yml 파일에 추가합니다.

  6. host_vars/HOST_NAME.yml에서 BlueStore OSD를 구성합니다.

    구문

    lvm_volumes:
      - data: DATALV
        data_vg: DATAVG

    교체:

    • 데이터 논리 볼륨 이름이 있는 DATALV
    • 데이터 논리 볼륨 그룹 이름이 있는 DATAVG

    예제

    lvm_volumes:
      - data: data-lv1
        data_vg: vg1

  7. 선택 사항: 전용 논리 볼륨에 block.walblock.db 를 저장하려면 host_vars/HOST_NAME.yml 파일을 다음과 같이 편집합니다.

    lvm_volumes:
      - data: DATALV
        wal: WALLV
        wal_vg: VG
        db: DBLV
        db_vg: VG

    교체:

    • 데이터를 포함해야 하는 논리 볼륨이 있는 DATALV
    • write-ahead-log를 포함해야 하는 논리 볼륨이 있는 WALLV
    • 볼륨 그룹이 있는 VG 는 WAL 및/또는 DB 장치 LVs에 있습니다.
    • BlueStore 내부 메타데이터가 포함된 논리 볼륨이 있는 DBLV

    예제

    lvm_volumes:
      - data: data-lv3
        wal: wal-lv1
        wal_vg: vg3
        db: db-lv3
        db_vg: vg3

    참고

    lvm_volumes를 사용할 때 : osd_objectstore 와 함께 lvm_volumes YAML 사전에는 최소한 데이터가 포함되어야 합니다. wal 또는 db 를 정의할 때 LV 이름과 VG 이름이 모두 있어야 합니다(dbwal 은 필수는 아님). 이를 통해 데이터, 데이터, wal, wal 및 wal 및 db 또는 data 및 db라는 네 가지 조합만 가능합니다. 데이터는 원시 장치, lv 또는 파티션이 될 수 있습니다. waldb 는 lv 또는 partition일 수 있습니다. 원시 장치 또는 파티션 ceph-volume 을 지정하면 논리 볼륨이 그 위에 배치됩니다.

    참고

    현재 ceph-ansible 에서는 볼륨 그룹 또는 논리 볼륨을 생성하지 않습니다. Anisble 플레이북을 실행하기 전에 이 작업을 수행해야 합니다.

  8. 선택 사항: group_vars/all.yml 파일에서 block.db 기본 크기를 덮어쓸 수 있습니다.

    구문

    ceph_conf_overrides:
      osd:
        bluestore_block_db_size: VALUE

    예제

    ceph_conf_overrides:
      osd:
        bluestore_block_db_size: 24336000000

    참고

    bluestore_block_db_size 의 값은 2GB보다 커야 합니다.

  9. group_vars/all.yml 파일을 열고 편집하고 osd_memory_target 옵션의 주석을 제거합니다. OSD에서 사용할 메모리 양에 대한 값을 조정합니다.

    참고

    osd_memory_target 옵션의 기본값은 4000000000 입니다. 이는 4GB입니다. 이 옵션은 BlueStore 캐시를 메모리에 고정합니다.

    중요

    osd_memory_target 옵션은 BlueStore-backed OSD에만 적용됩니다.

  10. 다음 Ansible 플레이북을 실행합니다.

    [user@admin ceph-ansible]$ ansible-playbook site.yml
  11. Ceph 모니터 노드에서 새 OSD가 성공적으로 추가되었는지 확인합니다.

    [root@mon ~]# ceph osd tree