RAID 카드 캐시의 두 가지 쓰기 모드
Sep 02, 2024상위 계층 쓰기 IO의 경우 RAID 컨트롤러에는 두 가지 모드가 있습니다.
(1) 후기입 모드: 상위 계층에서 데이터가 도착하면 RAID 컨트롤러는 이를 캐시에 저장하고 즉시 호스트 IO가 완료되었음을 알립니다. 이를 통해 호스트는 기다리지 않고 다음 IO를 진행할 수 있으며 데이터는 디스크에 기록되지 않고 RAID 카드의 캐시에 남아 있습니다. RAID 컨트롤러는 디스크에 개별적으로, 일괄적으로 쓰거나 큐 기술을 사용하여 IO를 큐에 넣어 디스크 쓰기를 최적화합니다. 그러나 이 접근 방식에는 치명적인 단점이 있습니다. 정전이 발생하면 호스트가 IO가 완료되었다고 가정하는 동안 RAID 카드 캐시의 데이터가 손실되어 상위 계층과 하위 계층 간에 심각한 불일치가 발생합니다. 따라서 데이터베이스와 같은 특정 중요한 애플리케이션은 자체 일관성 감지 조치를 구현합니다.
이러한 이유로 고급 RAID 카드에는 캐시를 보호하기 위해 배터리가 필요합니다. 정전이 발생해도 배터리는 캐시에 계속 전원을 공급하여 데이터 무결성을 보장합니다. 전원이 복원되면 RAID 카드는 캐시에 저장된 불완전한 IO를 디스크에 쓰는 우선 순위를 정합니다.
(2) WriteThrough 모드: 이 모드에서는 RAID 컨트롤러가 데이터를 디스크에 쓴 후에만 상위 계층의 IO가 완료된 것으로 간주됩니다. 이 접근 방식은 높은 신뢰성을 보장합니다. 이 모드에서는 캐시의 성능 이점이 사라지더라도 버퍼링 기능은 여전히 유효합니다.
쓰기 캐시 외에도 읽기 캐시도 매우 중요합니다. 캐시 알고리즘은 일련의 복잡한 메커니즘을 포함하는 매우 복잡한 주제입니다. 알고리즘 중 하나를 PreFetch라고 합니다. 이는 호스트가 읽기 I0 요청을 발행하기 전에 다음 번에 호스트가 액세스할 가능성이 "있는" 디스크의 데이터를 "캐시로 읽어들이는" 것을 의미합니다. 이 "가능성"은 어떻게 계산되나요?
실제로 호스트는 이번에 읽은 데이터가 다음 IO에 있는 디스크의 인접한 위치에서 데이터를 읽을 확률이 높다고 가정한다. 이 가정은 논리적으로 연속적으로 저장된 데이터를 읽는 것과 같은 연속 IO 순차 읽기에 매우 적용 가능합니다. FTP 대용량 파일 전송 서비스, 주문형 비디오 서비스 등의 애플리케이션은 모두 대용량 파일을 읽기 위한 애플리케이션입니다. 조각난 작은 파일도 많이 디스크의 인접한 위치에 연속적으로 저장되는 경우 작은 파일을 읽는 데 필요한 IOPS가 매우 높기 때문에 캐싱을 사용하면 성능이 크게 향상됩니다. 캐시가 없으면 각 IO를 완료하는 데 전적으로 헤드 탐색이 필요하므로 시간이 오래 걸립니다.
STOR Technology Limited는 고품질의 제품을 제공합니다. 9560-16I, 9560-8I, 9361-4I, 9540-8I, 등 우리는 더 높은 품질의 서비스와 확실한 애프터 서비스를 제공합니다. 우리를 방문하여 관련 제품에 대해 논의해 주셔서 감사합니다.
우리의 웹사이트: https://www.cloudstorserver.com/
저희에게 연락하세요: alice@storservers.com / 0755-83677183
왓츠앱: +8613824334699