9.5. Ceph BlueStore OSD 추가
이 섹션에서는 BlueStore 백엔드 오브젝트 저장소로 새 Ceph OSD 노드를 설치하는 방법을 설명합니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- 노드에 대한 루트 수준 액세스입니다.
절차
Ansible 인벤토리 파일의
[osds]
섹션에 새 OSD 노드를 추가합니다. 기본적으로/etc/ansible/hosts
에 있습니다.[osds] node1 node2 node3 HOST_NAME
교체:
-
OSD 노드의 이름이 있는
HOST_NAME
예제
[osds] node1 node2 node3 node4
-
OSD 노드의 이름이 있는
/usr/share/ceph-ansible/
디렉터리로 이동합니다.[user@admin ~]$ cd /usr/share/ceph-ansible
host_vars
디렉터리를 생성합니다.[root@admin ceph-ansible] mkdir host_vars
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
-
새로 추가된 OSD의 호스트 이름이 있는
새로 생성된 파일에 다음 설정을 추가합니다.
osd_objectstore: bluestore
참고모든 OSD에 BlueStore를 사용하려면
osd_objectstore:bluestore
를group_vars/all.yml
파일에 추가합니다.host_vars/HOST_NAME.yml에서 BlueStore OSD를 구성합니다.
구문
lvm_volumes: - data: DATALV data_vg: DATAVG
교체:
-
데이터 논리 볼륨 이름이 있는
DATALV
-
데이터 논리 볼륨 그룹 이름이 있는
DATAVG
예제
lvm_volumes: - data: data-lv1 data_vg: vg1
-
데이터 논리 볼륨 이름이 있는
선택 사항: 전용 논리 볼륨에
block.wal
및block.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 이름이 모두 있어야 합니다(db
와wal
은 필수는 아님). 이를 통해 데이터, 데이터, wal, wal 및 wal 및 db 또는 data 및 db라는 네 가지 조합만 가능합니다. 데이터는 원시 장치, lv 또는 파티션이 될 수 있습니다.wal
및db
는 lv 또는 partition일 수 있습니다. 원시 장치 또는 파티션ceph-volume
을 지정하면 논리 볼륨이 그 위에 배치됩니다.참고현재
ceph-ansible
에서는 볼륨 그룹 또는 논리 볼륨을 생성하지 않습니다. Anisble 플레이북을 실행하기 전에 이 작업을 수행해야 합니다.선택 사항:
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보다 커야 합니다.group_vars/all.yml
파일을 열고 편집하고osd_memory_target
옵션의 주석을 제거합니다. OSD에서 사용할 메모리 양에 대한 값을 조정합니다.참고osd_memory_target
옵션의 기본값은4000000000
입니다. 이는 4GB입니다. 이 옵션은 BlueStore 캐시를 메모리에 고정합니다.중요osd_memory_target
옵션은 BlueStore-backed OSD에만 적용됩니다.다음 Ansible 플레이북을 실행합니다.
[user@admin ceph-ansible]$ ansible-playbook site.yml
Ceph 모니터 노드에서 새 OSD가 성공적으로 추가되었는지 확인합니다.
[root@mon ~]# ceph osd tree