검색

7.3. 캐시 설정

download PDF

Ceph 블록 장치(즉, librbd)의 사용자 공간 구현은 Linux 페이지 캐시를 활용할 수 없으므로 RBD 캐싱이라는 자체 메모리 내 캐싱을 포함합니다. RBD 캐싱은 하드 디스크 캐싱이 잘 적용된 것처럼 작동합니다. OS에서 장벽 또는 플러시 요청을 보내면 모든 더티 데이터가 OSD에 작성됩니다. 즉, 나중 쓰기 캐싱을 사용하는 것이 플러시(즉, Linux 커널 >= 2.6.32)를 올바르게 전송하는 VM과 함께 잘 작동되는 물리적 하드 디스크를 사용하는 것처럼 안전합니다. 캐시는 Least Recently Used (LRU) 알고리즘을 사용하고, 나중 쓰기 모드에서는 처리량 향상을 위해 연속된 요청을 병합할 수 있습니다.

Ceph는 RBD에 write-back 캐싱을 지원합니다. 활성화하려면 ceph.conf 파일의 [client] 섹션에 rbd cache = true 를 추가합니다. 기본적으로 librbd 는 캐싱을 수행하지 않습니다. 쓰기 및 읽기는 스토리지 클러스터에 직접 이동하고 쓰기는 데이터가 모든 복제본의 디스크에 있을 때만 반환됩니다. 캐싱이 활성화되면 rbd cache max 더 이상 플러시되지 않은 바이트가 없으면 쓰기가 즉시 반환됩니다. 이 경우 쓰기는 쓰기를 트리거하고 충분한 바이트가 플러시될 때까지 차단됩니다.

Ceph는 RBD에 write-through 캐싱을 지원합니다. 캐시 크기를 설정할 수 있으며, 나중 쓰기 캐싱에서 캐싱을 통해 쓰기로 전환하도록 대상 및 제한을 설정할 수 있습니다. 쓰기-스루 모드를 활성화하려면 rbd 캐시 최대 더티 를 0으로 설정합니다. 즉 쓰기는 데이터가 모든 복제본의 디스크에 있을 때만 반환되지만 읽기는 캐시에서 가져올 수 있습니다. 캐시는 클라이언트의 메모리에 있으며 각 RBD 이미지에는 자체 캐시가 있습니다. 캐시는 클라이언트에 로컬이므로 다른 사용자가 이미지에 액세스하는 경우 일관성이 없습니다. RBD에서 ScanSetting 또는 OCFS를 실행하면 캐싱이 활성화된 경우 작동하지 않습니다.

RBD에 대한 ceph.conf 파일 설정은 구성 파일의 [client] 섹션에 설정해야 합니다. 설정은 다음과 같습니다.

rbd cache
설명
RADOS 블록 장치(RBD)에 대한 캐싱을 활성화합니다.
유형
부울
필수 항목
없음
Default
true
RBD 캐시 크기
설명
RBD 캐시 크기(바이트)입니다.
유형
64비트 정수
필수 항목
없음
Default
32MiB
RBD 캐시 최대 더티
설명
캐시가 나중 쓰기를 트리거하는 바이트 단위의 더티 제한입니다. 0 인 경우 동시 쓰기 캐싱을 사용합니다.
유형
64비트 정수
필수 항목
없음
제약 조건
rbd 캐시 크기 보다 작아야 합니다.
Default
24MiB
RBD 캐시 대상 더티
설명
캐시가 데이터 스토리지에 데이터 쓰기를 시작하기 전에 더티 대상입니다. 캐시에 대한 쓰기를 차단하지 않습니다.
유형
64비트 정수
필수 항목
없음
제약 조건
rbd 캐시 최대 더티 보다 작아야 합니다.
Default
16MiB
RBD 캐시 최대 더티 기간
설명
writeback이 시작되기 전에 더티 데이터가 캐시에 있는 시간(초)입니다.
유형
float
필수 항목
없음
Default
1.0
rbd_cache_max_dirty_object
설명
objects에 대한 더티 제한 - rbd_cache_size 에서 자동 계산의 경우 0 으로 설정됩니다.
유형
정수
Default
0
rbd_cache_block_writes_upfront
설명
true 인 경우 aio_write 호출이 완료되기 전에 캐시에 대한 쓰기를 차단합니다. false 인 경우 aio_completion 이 호출되기 전에 차단됩니다.
유형
부울
Default
false
플러시할 때까지 RBD 캐시 쓰기를 수행합니다.
설명
동시 쓰기 모드로 시작하고 첫 번째 플러시 요청이 수신된 후 나중 쓰기로 전환합니다. 이를 활성화하는 것은 rbd에서 실행되는 VM이 2.6.32 이전의 virtio 드라이버와 같이 플러시를 전송하기에 너무 오래 된 경우 보수적이지만 안전한 설정입니다.
유형
부울
필수 항목
없음
Default
true
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.