md의 bcache 또는 bcache의 md 드라이브에 대한 캐시 역할을 할 수

bcache를 사용하면 플래시 기반 SSD (Solid State Drive)와 같은 하나 이상의 고속 디스크 드라이브가 하나 이상의 느린 하드 디스크 드라이브에 대한 캐시 역할을 할 수 있습니다 .

올바르게 이해하면

  • 여러 개의 백업 HDD를 캐시 하도록 SSD *를 할당 한 다음 결과 캐시 된 장치를 mdadm
    또는
  • 여러 개의 HDD를 단일 백업 md 장치로 RAID 할 수 있으며 SSD는

나는 어느 것이 더 순수한 접근인지 궁금합니다. 하나 또는 다른 기술로 RAID5 / 6을 늘리는 것이 더 간단 할 수 있지만 어느 것이 확실하지 않습니다!

VM 백업 파일을 포함하는 큰 루트가 아닌 파일 시스템의 경우 다른 방법을 선택하는 데 적절한 이유 (예 : 백업 스토리지 또는 기타 확장)가 있습니까?


* “SSD”란 일종의 중복 SSD 장치를 의미합니다 (예 : 두 개의 물리적 SSD의 RAID1).



답변

전체 md 장치를 캐싱하는 것이 가장 적합하다고 생각합니다.

bcache를 사용하여 전체 md 장치를 캐시하면 다른 단일 장애 지점이 발생하기 때문에 습격에 대한 전체 아이디어가 희생됩니다.

  • SSD 디스크의 OTH 실패자는 비교적 드물며, bcache를 writethrough/ writearound모드 (모드와 대조적 으로)에 넣을 수 있습니다 writeback. 여기서 모드는 캐시 장치에만 저장된 데이터가 없으며 캐시 실패는 정보를 죽이지 않습니다. 습격은 비교적 안전한 옵션입니다.

  • 다른 사실은 소프트 RAID-5에 상당한 계산 오버 헤드가 있다는 것입니다. 각 회전하는 공격 대원을 개별적으로 캐싱 할 때 컴퓨터는 여전히 캐시 적중시에도 모든 패리티를 다시 계산해야합니다.

  • 각각의 회전 드라이브를 개별적으로 캐시하면 고가의 ssd 공간을 희생해야합니다. -RAID ssd 캐시를 사용하지 않을 경우

  • 회전하는 드라이브를 별도로 캐시하는 옵션은 더 많은 버스 트래픽으로 인해 속도느릴 수 있지만 두 옵션 모두 프로세스 증가 시간에 영향을 미치지 않습니다 .

ssd 드라이브를 교체해야 할 때 ssd 드라이브를 제거하도록 bcache를 구성하는 것은 빠르고 비교적 간단한 프로세스입니다. 블록 덕분에 레이드 설정을 두 가지 방식으로 마이그레이션 할 수 있습니다.

또한 순간에 대부분의 (? 모두) 라이브 CD 배포판이 있음을 기억해야 지원하지 않습니다bcache 당신은 단순히 관계없이 같은 도구를 사용하여 데이터에 액세스 할 수 있도록 bcachemdraid선택한 레이아웃 옵션을 선택합니다.


답변

제정신의 접근 방식은 결과 MD 장치를 캐시하는 것입니다.

bcache는 순차적 읽기 및 쓰기를 통과하도록 설계되었습니다.

논리적으로 각 장치를 개별적으로 bcache하는 경우, 여러 장치가 습하거나 제거 된 MD로 스트라이핑하는 경우 bcache 관점에서 지속적으로 임의 블록이 작성됩니다.

bcached MD 볼륨은 정상적인 것처럼 보이지만 파일을 볼륨에 쓰는 것이 아니라 임의의 블록을 여러 장치에 쓰는 것입니다.

하드 및 소프트웨어 공격의 전체 요점은 백엔드에서 데이터 스트라이핑을 수행하여 결과 파일 시스템이 일반 볼륨처럼 보이도록하는 것입니다.

bcache 개발자가 영리하고 그러한 상황을 설명하기 때문에 이것은 정확하지 않을 수 있지만 논리적으로 최적의 방법은 볼륨을 캐시하는 것이 아니라 장치를 차단하는 것입니다.