서론
Write Through, Write Back, Force Write Back은 레이드 컨트롤러를 사용한다면 쓰기 정책 중 하나이다. 여기서 쓰기란 파일을 만들거나 하는 행위를 말한다. 이 3개의 읽기 정책은 각각 차이점을 가지고 있어, 알아두면 좋으니 참고하길 바란다.
Write Through
Write Through는 실제 메모리와 컨트롤러 캐시 메모리에 모두 업데이트 하는 방식을 말한다. 그러기에 Write Back에 비해 느리다. Write Back이 Write Through보다 빠른 이유는 바로 밑에서 보게 될 Write Back에 대해 바로 설명하겠다.
Write Back
Write Back 캐시 메모리에만 데이터를 write하고 있다가, 캐시 메모리가 새로운 데이터 블록으로 교체되는 때 데이터를 주기억장치에도 저장하는 것을 말한다. 실제 메인 메모리에 저장을 하지 않고 캐시 메모리에만 저장을 하기에, Write Through보다 빠른 장점이 있다.
하지만 Write Back은 컨트롤러 배터리라는 BBU가 존재해야 사용이 가능하다. 그에 반해 Write Through는 BBU가 없이도 사용이 가능하다. 이는 BBU가 정전이 되었을 때 데이터 손실을 방지할 수 있다. 컨트롤러 배터리 시간이 수명이 72시간이면, 배터리 수명 내에 서버를 복구할 수 없으면 데이터는 유실된다.
즉, Write Back은 BBU가 존재해야 가능한 모드이다. 만약 BBU가 없다면 Write Back로 설정해도 Write Through로 동작한다.
Force Write Back
그러면 Force Write Back은 뭘까? Force Write Back은 Always Write Back라고도 부르는데, 컨트롤러마다 부르는 게 조금씩 다르다. 말해서 보듯 Force라는 언어로 어림잡을 수 있는데, Force 강제로 Write Back 하겠다는 뜻이다. 그 말은 BBU의 존재 여부 상관없이, 있는 없든 Write Back으로 하겠다는 뜻이다. 위에서 Write Back은 BBU가 있어야 사용가능하다고 말했다. 하지만 Force Write Back은 BBU에 상관없이 Write Back으로 사용하는 것이다. 이것은 Write Back이 Write Through보다 성능이 빠르기에 최적화하기 위해 이와 같은 모드를 사용한다.
결론
결론적으로 3가지 방식의 차이는 메모리 업데이트 방식의 차이와, 컨트롤러 배터리(BBU)의 여부를 차이점을 두고 생각하면 될 것 같다.
'인프라' 카테고리의 다른 글
[Infra] 인프라란? (0) | 2022.04.11 |
---|