HP Cache Battery의 역할과 RAID Controller 방식
by 현생사는갓생지망생클라우드 혹은 다른 가상화 방식이 아닌 하드웨어를 사용하는 경우 Cache Battery를 교체하는 경우가 종종 있다
1. Cache Memory란?
데이터를 저장 장치에 읽고 쓰는 속도를 향상시키기 위한 버퍼 공간
CPU에서 요청하는 데이터를 빠르기 가져가기 위해서 사용되는 읽기 Cache와, CPU에서 요청하는 데이터를 우선하여 가져가고 요청이 없을 때 저장하기 위해 임시로 넣어두는 쓰기 Cache
2. Cache Battery의 역할
비정상적으로 전원이 차단되었을 때 RAID Controller의 Cache에 남아 아직 Disk로 Commit되지 않은 데이터들은 소멸
이러한 데이터들을 살리기 위해 Cache Battery 이용
서버에 전원은 차단되었지만 Cache Battery 이용하여 Cache 활성화시켜놓는 것
즉, Cache Battery는 비정상적인 전원 차단 시 아직 Disk에 기록되지 않고 RAID Controller의 Cache Memory에 적재된 데이터들을 보호하기 위해 필요한 물건
👉🏻 Cache Battery의 수명은 대략적으로 2~3년
3. Cache Battery Fail 시 영향도
Cache Battery에 문제가 발생하여 정상적인 기능이 안 될 경우 Cache Disable 되어 Array Controller 성능 저하가 발생할 수 있다
또한, 각 IO 처리 시간이 지연되기 때문에 OS의 Performance Metric을 확인하는 Routine에서는 Disk IO가 계속 되고 있는 것으로 인식하여 Utilization이 높게 나올 수 있다
Array Controller란?
여러 개의 Disk를 하나의 Disk처럼 인식해주는 장치
HW RAID를 수행하기 때문에 RAID Controller나 RAID Card라고도 불린다
또한 추가적인 Disk Cache 제공
4. Cache Battery Fail 확인 방법
☠️ Fail
# /var/log/messages 로그 확인
Cache disabled: Embedded Array Controller
Accelerator Board Status Change: Slot 0.Status is now Permanently Disabled.
# hpssacli ctrl all show status 로그 확인
Smart Array P830i in Slot 0 (Embedded)
Controller Status: OK
Cache Status: Permanently Disabled # Cache Battery Failed 상태로 인한 영구적 Disabled 상태
Battery/Capacitor Status: Failed (Replace Batteries/Capacitors) # Battery 상태 Failed
👌🏻 정상
# hpssacli ctrl all show status 로그 확인
Smart Array P830i in Slot 0 (Embedded)
Controller Status: OK
Cache Status: OK
Battery/Capacitor Status: OK
5. RAID Controller 방식
- BBWC (Battery Backup Write Cache)
- 전원이 차단됐을 때 BBU(Backup Battery Unit)의 전원으로 Cache Memory의 정보를 유지
- BBU의 성능만큼의 시간동안 전원이 연결되지 않으면 Data Loss 발생
- FBWC (Flash Backed Write Cache)
- 전원이 차단됐을 때 Super-Capacitor의 전원으로 Cache Memory의 정보를 내장된 Flash Memory에 저장
- Flash Memory는 Non-Volatile Memory이기 때문에 데이터 유지를 위해 전원을 필요로 하지 않는다
- 전원 연결이 다시 되면 Flash Memory의 데이터를 다시 Cache Memory로 복사하여 데이터 복구
- Super-Capacitor의 수명이 다할 경우엔 교체 필요
6. Write Policy 동작 유형
- Write Through
- 데이터가 Disk에 기록된 후에 IO 완료
- Inconsistency를 해소해주며 안정성이 좋지만 Disk 기록때까지 대기해야 하므로 성능 저하
- Write Back
- 데이터가 Cache에 기록된 후에 IO 완료
- Cache에 기록되자마자 IO가 끝났다고 알려주고 실제 Disk에 기록되는 것은 Cache 내부적 활동에 의해 수행되므로 성능상의 이점
- 하지만 갑작스런 전원 차단 등으로 아직 Disk에 기록되지 못하고 Cache에 남아있는 데이터들은 소멸될 수 있기에 Cache Battery가 필요
'깨알지식' 카테고리의 다른 글
HTTP Error Code (HTTP 상태 코드) (0) | 2024.01.12 |
---|---|
Window11에 WSL 사용하여 Linux (Ubuntu) 설치 (0) | 2024.01.10 |
Ubuntu 22.04 LTS ("Jammy")에 MongoDB Version 6 설치하기 (1) | 2024.01.09 |
블로그의 정보
현생이네
현생사는갓생지망생