(공격 컨트롤러) BBU 란 무엇입니까?


13

BBU의 목적이 무엇인지 궁금합니다. 처음 이해 한 것은 정전 중에 캐시가 데이터를 디스크에 쓸 수 있다는 것입니다. 그러나 일부 사양에 따르면 BBU는 최대 72 시간 동안 데이터를 보유 할 수 있다고합니다. 데이터가 밀리 초 이내에 디스크에 기록 될 것으로 기대합니다 (디스크에도 여전히 전원이 공급 됨).

그렇다면 BBU는 캐시를 보호 할뿐만 아니라 몇 초 동안 전체 디스크를 보호해야합니까? 캐시 데이터는 캐시 주변에 있고 전원을 다시 기다리는 대신 디스크에 기록되므로 더 안전하지 않습니까? 1 초 정도 지나면 디스크가 종료 될 수 있습니다.


RAID 배터리가 실제 드라이브에 전원을 공급하지는 않지만, 우리 세계에는 원래 상상했던 것과 비슷한 것이 있습니다. 일부 서버급 SSD에는 정전 후 밀리 초 동안 캐시 된 쓰기를 커밋하는 백업 전원을 제공하는 "슈퍼 커패시터"가 있습니다.
Skyhawk

답변:


17

디스크에 전원을 공급하지 않으며 컴퓨터를 다시 온라인 상태로 전환 할 때까지 최대 72 시간 동안 캐시에 데이터를 유지합니다. 머신의 전원을 켜면 캐시의 내용이 디스크에 다시 쓰여집니다.

그것은 정전으로부터 보호하는 것입니다. 어떤 이유로 디스크에서 데이터를 깨끗하게 플러시하지 않고 기기의 전원이 꺼지면 배터리는 기기를 다시 시작할 수있을 때까지 캐시 내용을 유지합니다.

디스크는 외부 디스크 어레이 또는 다른 전원 회로에있을 수 있으므로 디스크 용 UPS가 아닙니다. UPS조차도 실패 할 수 있습니다.


1
디스크 용 UPS와의 차이점은 디스크가 동일한 전원 회로에 있지 않은 시나리오를 위해 설계되었다는 것입니다. 다른 모든 경우 (한 회로의 컨트롤러와 디스크) UPS가 우수할까요? 나는 여전히 정전 중에 마지막 명령이 캐시에서 대기하는 대신 디스크에 기록되는 것을 선호합니다.
tanascius

따라서 서버용 UPS도 구입하십시오! BBU에는 드라이브 배열을 실행하기에 충분한 전원이 없습니다. 전원을 다시 켜고 변경 사항을 저장하기에 충분한 큰 창을 제공합니다. 대부분의 중단은 매우 짧으며 대부분의 사람들은 중요하지 않은 기계에 대한 추가 비용이 필요하지 않습니다.
JamesRyan

1
모든 BBU는 컴퓨터를 다시 시작할 때까지 데이터를 캐시에 보관합니다. 컨트롤러는 디스크로 플러시 된 내용을 알고 있습니다 (디스크는 작업이 완료되었음을 알립니다). 디스크로 플러시되지 않은 것은 시스템을 다시 시작할 때까지 보존됩니다.
ConcernedOfTunbridgeWells

13

다음과 같이 작동합니다.

대부분의 운영 체제에는 소위 "동기 쓰기"를 허용하는 시스템 호출이 있습니다. 즉, 쓰기 작업 중에 쓰기가 완료되면 디스크에 커밋되었음을 보증합니다.

따라서 동기 쓰기는 캐시되지 않습니다. 완료 될 때까지 응용 프로그램을 차단합니다. 이러한 종류의 작업은 캐시 된 쓰기보다 속도가 느리므로 디스크가 충분히 유휴 상태가되어 데이터를 쓸 때까지 OS 메모리에 데이터를 유지합니다.

데이터베이스 소프트웨어와 같은 일부 중요 소프트웨어는 전원 손실시 절반으로 작성된 업데이트가 데이터베이스 무결성에 해로울 수 있으므로 중요 데이터에 대한 동기 쓰기를 수행합니다.

RAID-5 쓰기에서는 RAID 컨트롤러의 속도가 느려 악의적 인 응용 프로그램 소프트웨어가 많은 동기 쓰기를 사용하는 경우 문제가됩니다. 이러한 이유로 RAID-5 컨트롤러에는 자체 캐시가 장착되어 있습니다.

RAID 컨트롤러는 데이터를 캐시에 대신 LIES를 OS에 쓰고 데이터를 디스크에 커밋 한 반면 데이터는 실제로는 여전히 RAID 캐시에 있음을 알려줍니다.

그러나 데이터가 여전히 RAID 컨트롤러의 버퍼에있는 동안 전원이 꺼지면 어떻게해야합니까? 디스크에 절반으로 작성되고 일관성이없는 데이터가있을 것입니다.

이 동작이 동기 쓰기의 목적을 상실한다고 말할 수 있습니다 ... 캐시 쓰기가 괜찮다면 앱 소프트웨어는 처음에 동기화 쓰기를 요청하지 않습니다.

타협은 이것입니다. RAID 컨트롤러는 여전히 데이터를 디스크에 커밋 한 OS에 있지만 정전시이 중요한 데이터를 보호하기 위해 RAID 컨트롤러에는 전원이 공급 될 때까지 일정 시간 동안 캐시를 유지하는 배터리가 있습니다. 복원되었습니다.

따라서 전원이 다시 공급되고 디스크가 회전하고 초기화 된 후에도 컨트롤러는 배터리 덕분에 캐시에 해당 데이터를 보유하고 트랜잭션을 디스크에 기록하는 것을 완료 할 수 있습니다.

모두 행복합니다.

이것이 바로 기능적이고 충전 된 배터리 장치가없는 한 RAID 컨트롤러가 쓰기 캐시를 활성화 할 수없는 이유입니다.


컨트롤러의 위치에 대해 물어볼 것입니다. 마더 보드의 일부이거나 하드 드라이브에 내장되어 있습니까?
Valentin Tihomirov와

또한 proper shutdown플러시가 발행 될 때 RAID가 거짓말을하면 OS가 어떻게 요청을 보낼 수 있는지 알고 싶습니다 .
Valentin Tihomirov

@ValentinTihomirov proper또는 improper종료 와 같은 것은 없습니다 . OS는 전원 차단 신호를 발행하고 PSU는 전원이 꺼진 후에 그렇게합니다. 전원이 꺼지면 휘발성 메모리와 모든 내용이 손실됩니다!
PF4Public 2019

4

일부 최신 디스크 컨트롤러에는 이제 일반적인 72 시간보다 훨씬 더 오래 데이터를 유지하는 고속 플래시 캐시가 제공되며 종종 훨씬 더 크다 (~ 1GB). 부품 세부 정보가 필요하면 알려주십시오.


정보 주셔서 감사합니다,하지만 난 Sysadmin 아니고 아마 전문 RAID를 디자인하지 않을 것입니다 ... 나는 단지 BBU에 대해 궁금합니다 :)
tanascius

3

해당 BBU 캐시는 저널 파일 시스템에서 제공하는 것과 비슷한 수준의 보호 기능을 추가하는 것으로 생각하십시오. 정전으로 인해 트랜잭션이 중단 된 경우 트랜잭션 (이 경우 간단한 쓰기)을 완료 할 수 있습니다. 전원이 차단되면 컨트롤러가 계속 쓸 수 없으므로 결과를 완전히 예측할 수 없습니다. 대신, 데이터는 가능한 한 오래 유지되며 전원이 재개되면 데이터 쓰기가 완료됩니다. 그것이하지 않는 것은 드라이브의 UPS처럼 행동하는 것입니다.


그러나 드라이브 + 컨트롤러 용 UPS가있을 때 BBU가 필요한 것은 무엇입니까? UPS가 고장 나는 시나리오에 대해서만?
tanascius

좋은 질문. 서버가 항상 정상적으로 종료된다는 것을 알고 있다면 BBU의 필요성을 확신하지 못합니다.
John Gardeniers 2019

2
BBU는 일반적으로 후기 입 구성을위한 경우가 많습니다. 일부 RAID 컨트롤러는 BBU가 없으면 쓰기 저장을 활성화하지 않습니다. 그러나 서버가 항상 올바르게 종료된다고 가정하는 것은 좋지 않은 생각입니다.
ConcernedOfTunbridgeWells

2

정전이 거의없는 경우에도 특히 DB 서버에서 100 달러짜리 배터리를 구입해야합니다. 트랜잭션이 활성화 되어 있고 변경 사항이 캐시를 떠나 디스크에 커밋되기 전에 서버의 전원이 꺼진 경우에도 불완전한 쿼리 또는 손상된 데이터가 남게됩니다.


1

쓰기 캐시를 사용하는 경우 서버가 충돌하거나 중단되거나 누군가 전원 케이블을 뽑으면 BBU가 손상되거나 손실 된 데이터로부터 사용자를 보호합니다. USV를 사용하면 정전으로부터 보호됩니다.

쓰기 캐시를 사용하지 않으려면 BBU가 필요하지 않습니다.


1

RAID 카드는 1GB의 캐시를 가질 수 있습니다. 일반적으로 쓰기 캐시에 모두 사용되는 것은 아니지만 쓰기되지 않은 데이터의 대기열을 상당히 오래 저장한다고 가정 할 수 있습니다.

파일 시스템과 데이터베이스는 정전이 발생하더라도 동기 쓰기가 순서를 바꾸지 않는다고 가정합니다. 일반적으로 동기 쓰기는 데이터가 디스크에있는 후에 만 ​​반환되지만 상대적으로 느립니다. RAID 카드는 작은 쓰기를 함께 그룹화하고 덜 무작위로 다시 정렬하여 성능을 향상시킵니다.

BBU가없는 경우,로드시 정전으로 인해 결과가 좋지 않을 수 있으며 RAID 카드가 손실 될 것이라고 약속 한 쓰기 (파일 시스템의 경우 새 파일 또는 디렉토리에 대한 참조가있을 수 있지만 파일 시스템은 파일 시스템이 파일을 참조하기 전에 새 파일을 특별히 만들었더라도) 백업에서 복원하거나 데이터가 너무 엉망이되지 않기를 바랍니다. 더 나쁜 것은 누군가가 비밀 파일을 삭제하고 다른 사람이 세계가 읽을 수있는 파일을 만든 경우 비밀 파일의 일부 내용이 세계가 읽을 수있는 파일에서 발견 될 수 있습니다. 파일 시스템이 구축되었다고 가정하면 모든 것이 가능합니다.

UPS가 무정전 전원 공급을 보장한다고 가정하면; 기계가 고장 나서 전원 코드를 뽑아야합니까?

소비자 SATA 디스크 (및 SSD)는 때때로 동기식 쓰기도 캐시하지만, 캐시는 훨씬 작고 소비자 사용이 덜 까다로워 일반적으로이를 벗어날 수 있습니다.

최신 RAID 컨트롤러에는 플래시가있어 정전시 쓰기 캐시의 내용을 복사하므로 배터리가 몇 초 이상 지속될 필요가 없습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.