11.8. Ceph BlueStore BlueFS
bluestore 블록 데이터베이스는 메타데이터를 RocksDB 데이터베이스에 키-값 쌍으로 저장합니다. 블록 데이터베이스는 저장 장치의 작은 BlueFS 파티션에 있습니다. BlueFS는 RocksDB 파일을 보관하도록 설계된 최소 파일 시스템입니다.
BlueFS 파일
다음은ECDHEsDB가 생성하는 세 가지 유형의 파일 유형입니다.
-
제어 파일(예:
CURRENT
,IDENTITY
,MANIFEST-000
011) -
DB 테이블 파일(예:
004112.sst
) -
선행 로그(예:
000038.log
)를 작성합니다.
또한 BlueFS 재생 로그, 인 o 1
, 디렉터리 구조, 파일 매핑 및 작업 로그로 작동하는 내부 숨겨진 파일이 있습니다.
대체 계층
BlueFS를 사용하면 모든 장치에 파일을 배치할 수 있습니다. 파일의 일부는 WAL, DB 및ECDHEOW 다른 장치에 있을 수도 있습니다. BlueFS가 파일을 배치하는 순서가 있습니다. 파일은 기본 스토리지가 소진된 경우에만 보조 스토리지에 배치되고 보조 스토리지가 소진될 때만 3차 스토리지에 배치됩니다.
특정 파일의 순서는 다음과 같습니다.
- 미리 로그 쓰기: WAL, DB,ECDHEOW
-
로그 재생
1
: DB, OW 제어 및 DB 파일: DB,ECDHEOW
공간 부족 시 제어 및 DB 파일 순서:ECDHEOW
중요제어 및 DB 파일 순서에 대한 예외가 있습니다. 사용자가 DB 파일에 공간이 부족함을 감지하면ECDHEOW 장치에 파일을 배치하도록 직접 알립니다.
11.8.1. bluefs_buffered_io
설정 보기
스토리지 관리자는 bluefs_buffered_io
매개변수에 대한 현재 설정을 볼 수 있습니다.
Red Hat Ceph Storage의 경우 기본적으로 bluefs_buffered_io
옵션이 True
로 설정됩니다. 이 옵션을 사용하면 BlueFS에서 버퍼링된 읽기를 수행할 수 있으며 커널 페이지 캐시가 RocksDB 블록 읽기와 같은 읽기에 대한 보조 캐시 역할을 할 수 있습니다.
bluefs_buffered_io
의 값을 변경하는 것은 권장되지 않습니다. bluefs_buffered_io
매개변수를 변경하기 전에 Red Hat 지원 계정 팀에 문의하십시오.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- Ceph 모니터 노드에 대한 루트 수준 액세스.
절차
Cephadm 쉘에 로그인합니다.
예제
[root@host01 ~]# cephadm shell
-
bluefs_buffered_io
매개변수의 현재 값을 세 가지 방법으로 볼 수 있습니다.
방법 1
구성 데이터베이스에 저장된 값을 확인합니다.
예제
[ceph: root@host01 /]# ceph config get osd bluefs_buffered_io
방법 2
특정 OSD의 구성 데이터베이스에 저장된 값을 확인합니다.
구문
ceph config get OSD_ID bluefs_buffered_io
예제
[ceph: root@host01 /]# ceph config get osd.2 bluefs_buffered_io
방법 3
실행 중인 값이 구성 데이터베이스에 저장된 값과 다른 OSD의 실행 중인 값을 확인합니다.
구문
ceph config show OSD_ID bluefs_buffered_io
예제
[ceph: root@host01 /]# ceph config show osd.3 bluefs_buffered_io
11.8.2. Ceph OSD의 Ceph BlueFS 통계 보기
bluefs stats
명령을 사용하여 배치되지 않은 Ceph OSD 및 배치되지 않은 Ceph OSD에 대한 BluesFS 관련 정보를 봅니다.
사전 요구 사항
- 실행 중인 Red Hat Ceph Storage 클러스터.
- BlueStore로 구성된 오브젝트 저장소입니다.
- OSD 노드에 대한 루트 수준 액세스.
절차
Cephadm 쉘에 로그인합니다.
예제
[root@host01 ~]# cephadm shell
BlueStore OSD 통계를 확인합니다.
구문
ceph daemon osd.OSD_ID bluefs stats
배치된 OSD의 예
[ceph: root@host01 /]# ceph daemon osd.1 bluefs stats 1 : device size 0x3bfc00000 : using 0x1a428000(420 MiB) wal_total:0, db_total:15296836403, slow_total:0
배치되지 않은 OSD의 예
[ceph: root@host01 /]# ceph daemon osd.1 bluefs stats 0 : 1 : device size 0x1dfbfe000 : using 0x1100000(17 MiB) 2 : device size 0x27fc00000 : using 0x248000(2.3 MiB) RocksDBBlueFSVolumeSelector: wal_total:0, db_total:7646425907, slow_total:10196562739, db_avail:935539507 Usage matrix: DEV/LEV WAL DB SLOW * * REAL FILES LOG 0 B 4 MiB 0 B 0 B 0 B 756 KiB 1 WAL 0 B 4 MiB 0 B 0 B 0 B 3.3 MiB 1 DB 0 B 9 MiB 0 B 0 B 0 B 76 KiB 10 SLOW 0 B 0 B 0 B 0 B 0 B 0 B 0 TOTALS 0 B 17 MiB 0 B 0 B 0 B 0 B 12 MAXIMUMS: LOG 0 B 4 MiB 0 B 0 B 0 B 756 KiB WAL 0 B 4 MiB 0 B 0 B 0 B 3.3 MiB DB 0 B 11 MiB 0 B 0 B 0 B 112 KiB SLOW 0 B 0 B 0 B 0 B 0 B 0 B TOTALS 0 B 17 MiB 0 B 0 B 0 B 0 B
다음과 같습니다.
0
: 전용 WAL 장치 즉block.wal
을 나타냅니다.1
: 이는block.db
인 전용 DB 장치를 나타냅니다.2
: 이것은 블록 또는느린
주요블록
장치를 나타냅니다.장치 크기
: 장치의 실제 크기를 나타냅니다.사용
: 전체 사용량을 나타냅니다. BlueFS에 국한되지 않습니다.참고DB 및 WAL 장치는 BlueFS에서만 사용됩니다. 메인 장치의 경우 저장된 BlueStore 데이터 사용도 포함됩니다. 위의 예에서
2.3MiB
는 BlueStore의 데이터입니다.wal_total
,db_total
,slow_total
: 이러한 값은 위의 장치 값을 다시 나타냅니다.db_avail
: 이 값은 필요한 경우 /bbit 장치에서 가져올 수 있는 바이트 수를 나타냅니다.사용법 매트릭스
-
WAL
,DB
,
ECDHEOW : 특정 파일을 배치할 위치를 설명합니다. -
행
LOG
: BlueFS 재생 로그 인o 1에
대해 설명합니다. -
WAL
,DB
,ECDHEO
W 열은 데이터가 실제로 배치되는 위치에 대해 설명합니다. 값은 할당 단위에 있습니다. WAL 및 DB는 성능상의 이유로 더 큰 할당 단위를 갖습니다. -
* / *
열은ceph-bluestore-tool
에 사용되는 virtual devicesnew-db
및new-wal
과 관련이 있습니다. 항상0 B
로 표시해야합니다. -
실제 열
은
바이트 단위로 실제 사용량을 표시합니다. -
열
: 파일
수를 표시합니다.
-
MAXIMUMS
: 이 표에서는 사용 매트릭스에서 각 항목의 최대값을 캡처합니다.
추가 리소스
- BlueFS 파일에 대한 자세한 내용은 Ceph BlueStore BlueFS 를 참조하십시오.
- BlueStore 장치에 대한 자세한 내용은 Ceph BlueStore 장치를 참조하십시오.