2swan

RAID Card의 캐시 정책 설정 본문

RAID

RAID Card의 캐시 정책 설정

2swan 2025. 3. 10. 14:22

 

 

Default Write Cache Policy : 쓰기 정책

Write Through : 쓰기 명령이 들어오면 기록을 완료할때까지 인터럽트를 보냄으로써 쓰기를 완료할때까지 다른 작업을 할 수 없다.

실제 디스크에 쓰기가 완료 되었을 때 완료로 처리한다.

 

Write Back : 쓰기 명령이 들어오면 캐시에 데이터를 로드하고 완료되었음을 처리한다. 전원에 문제가 발생할경우 데이터가 손실될 수 있다.

 

Force Write Back : Write Back과 같으나, 배터리의 유무나 충전유무에 관계없이 Write Back으로 작동하여 백그라운드 작업을 한다.

 

Read Cache Policy : 미리 읽기 정책 - 컨트롤러가 요청된 데이터 블록만 읽을것인지 주변블록(전체 스트라이프)를 읽어올것인지 설정

No Read Ahead : 해당 기능을 사용하지 않고 읽기 요청된 부분만 읽는다. 무작위의 여러 블록을 읽을경우 해당설정의 성능이 더 좋다.

Read Ahead : 요청된 읽기외에 주변까지 읽는다. 동일한 시점, 폴더내의 있는경우 주변 블록에 몰려서 기록되어 있으므로, 이와같은 경우에 읽기 성능이 좋아진다.

Adaptive Read Ahead : 읽은 데이터를 바탕으로 읽기패턴을 파악하여 자주 접근하는 데이터를 미리 읽어 캐시에 올려두고, 해당 데이터가 요청되면 바로 내보낸다.

 

Disk Cache : 하드디스크의 캐시 사용 여부 설정

Default : SATA는 Enable, SAS는 Disable로 동작한다.

Enable : 사용한다.

Disable : 사용하지 않는다

(Write Through모드에서는 스토리지의 기록성능을, Write Back모드에서는 백그라운드 쓰기작업의 퍼포먼스를 결정한다.)

 

Through : 시스템메모리 → 보드 → RAID 카드 → 디스크

Back : 시스템메모리 → 보드 → RAID Cache → 디스크

 

Cache라는 단계를 거치기 때문에 오히려 느려지는 것이 아니냐 생각할 수 있지만.
Cache는 데이터 전송속도를 빠르게 해주는 가속기능이 아니라 반복되는 같은 내용을 새로이 시스템메모리나 기타 다른 매체에서 가져오지 않고 RAID Cache내에서 검색을 한후에있으면 곧바로 디스크에 저장을 하는 버퍼 역할 을 하는 것이다.

언제나 새로운 데이터만 디스크에 저장을 한다면 Cache는 불필요할 것이고
새로운 데이터 이외에도 중복되는 경우가 있다면 Cache는 큰 힘을 발휘할 것이다.

 

1. Write Back
- 데이터가 캐쉬에 도달하면 호스트(PC 또는 OS)에 전송완료신호를 보낸다.

2. Write Through
- 데이터가 캐쉬를 통과하여 실제 디스크에 쓰여지면 호스트에 전송완료신호를 보낸다.

위에서 보면 데이터는 전송완료신호를 받아야 다음 데이터를 전송한다

 

 Write Back은 그 전송완료신호 타이밍이 빠르기 때문에 Write Through 보다 성능이 좋다.

단점이라고 본다면 보안상 문제인데 실무에서는 거의 문제가 없다고 본다.

그래서 Write Back을 많이 사용한다. 단, Write Back은 디스크에 실제적으로 쓰여지지 않은 상태에서 데이터전송완료신호를 보내기 때문에 쓰기 도중에 시스템 전원이 나갈 경우에는 캐쉬에 있는 내용이 디스크에 정상적으로 쓰여지지 못하고 호스트에서는 정상적으로 전송이 완료된 것으로 오판을 할 수 있다.
이런 문제점으로 보완하기 위해서 근래에는 거의 대부분의 RAID시스템에는 Battery가 내장되어 있어 일반점으로 DRAM의 특성인 Refrash 전원이 공급이 되지 않으면 메모리내용이 삭제되는 것을 방지하기 위해 내장된 배터리가 전원인가가 되지 않은 정전 상태에서 캐쉬메모리에 Refrash 전원을 공급하여 적게는 24~72시간 동안 캐쉬의 데이터 내용을 저장하여 둔다.
전원이 다시 들어오게 되면 디스크가 Spin-Up을 끝내는 즉기 캐쉬에 있던 쓰기 내용을 전송하게 된다.

Write Through는 신뢰성이 강하므로 SAN이나 NAS, DAS등의 외장형 스토리지들이 오래전에 많이 사용하였으며 근래에는 시스템 성능을 우선시하며 안정성은 옵션이나 기본으로 탑재된 Cache 배터리를 이용하여 Write Back이 많이 사용된다

 

 

 

 

먼저 write through입니다. CPU가 디스크로 데이터를 전송할 때 해당 데이터는 다이렉트로 디스크에 기록되는 것이 아니라 캐시에 기록이 됩니다. 이때, 데이터가 캐시에 기록이 되고 디스크에도 기록되는 방식을 write through 방식이라고 이해하시면 될 것 같습니다. 캐시와 디스크에 동시 기록을 하는 것입니다. write through 모드의 장점은 캐시와 디스크(또는 메모리)에 동시에 기록되기 때문에 비일관성이 발생하지 않기에 안정적이라는 것입니다. write through 모드의 단점은 캐시에 기록되는 것보다 디스크에 데이터가 기록되는 것이 느리기 때문에 CPU가 대기하는 시간이 길어져서 속도가 느리다는 것입니다.

 

 

 

 

 write back 모드는 위와 같이 동시에 기록되는 것이 아니라, 일정 데이터를 캐시에 기록하다가  캐시 안에 있는 데이터를 버릴 때 디스크 (또는 메모리)에 기록되는 것입니다. 장점은 동시에 기록될 때 까지 CPU가 기다릴 일이 없기에 속도가 빠르다는 것이고, 단점은 속도가 빠르지만 캐시에 업데이트된 데이터와 디스크 또는 메모리에 업데이트 된 데이터의 값이 다른 경우가 발생할 수 있습니다. 그리고 BBU 없이 write back 모드를 사용한다면 레이드컨트롤러에서 안전하게 데이터가 보호되지 않을 것으로 판단될 때 자동으로 write through 모드로 전환할 수 있습니다.

 

 

 

 

always write back 모드는 BBU가 있던 없던, BBU 상태와 독립적으로 write back 모드를 사용하는 것입니다. BBU가 없는 상태에서 해당 모드를 사용하는 것은 권장되지 않습니다.

'RAID' 카테고리의 다른 글

Raid 계산기  (0) 2024.06.11
RAID  (0) 2024.04.25