md의 bcache 또는 bcache의 md

md의 bcache 또는 bcache의 md

캐시플래시 기반 SSD(Solid State Drive)와 같은 하나 이상의 빠른 디스크 드라이브가 하나 이상의 느린 하드 디스크 드라이브에 대한 캐시 역할을 할 수 있도록 합니다..

제가 이해한 것이 맞다면,

  • SSD *를 할당하여 여러 백업 HDD를 캐시할 수 있으며 결과적으로 캐시된 장치는 mdadm
    또는
  • 여러 HDD를 단일 백업 md 장치로 RAID화하고 SSD를 캐시에 할당할 수 있습니다.

어떤 것이 더 건전한 접근 방식인지 궁금합니다. RAID5/6을 확장하는 것은 하나 또는 다른 기술을 사용하면 더 간단할 수 있지만 어느 것이 확실하지 않습니다!

VM 백업 파일을 포함하는 루트가 아닌 대규모 파일 시스템의 경우 다른 접근 방식보다 한 가지 접근 방식을 선택하는 데에 타당한 이유(예: 지원 스토리지 확장 등)가 있습니까?


* "SSD"란 일종의 중복 SSD 장치를 의미합니다(예: 두 개의 물리적 SSD로 구성된 RAID1).

답변1

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

전체 md 장치를 캐시하기 위해 bcache를 배치하면 또 다른 단일 실패 지점이 발생하기 때문에 raid를 갖는 전체 아이디어가 희생됩니다.

  • writethroughSSD 디스크의 OTH 오류는 상대적으로 드물며 bcache는 / writearound모드(모드와 대조 ) 로 전환될 수 있습니다 writeback. 이 모드에서는 캐시 장치에만 데이터가 저장되지 않으며 캐시 오류로 인해 정보가 삭제되지 않습니다. 습격은 상대적으로 안전한 옵션입니다.

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

  • 회전하는 각 드라이브를 별도로 캐시한다면 값비싼 SSD 공간을 희생하게 될 것입니다.- Raided SSD 캐시를 사용할 계획이 없다면.

  • 두 옵션 모두 상대적으로 성장 프로세스 시간에 영향을 미치지 않습니다. 하지만 회전 드라이브가 별도로 캐시되는 옵션은더 느리게버스 교통량이 많아졌기 때문이다.

SSD 드라이브를 교체해야 할 때 SSD 드라이브를 제거하도록 bcache를 구성하는 것은 빠르고 비교적 간단한 프로세스입니다. 덕분에블록공격대 설정을 양방향으로 마이그레이션할 수 있어야 합니다.

또한 현재 대부분의(모두?) 라이브 CD 배포판이 있다는 점을 기억해야 합니다.지원하지 않는다bcache, 따라서 선택한 레이아웃 옵션 bcache에 관계없이 이러한 도구를 사용하여 단순히 데이터에 액세스할 수는 없습니다 .mdraid

답변2

나는 정상적인 접근 방식이 결과 MD 장치를 캐시하는 것이라고 생각합니다.

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

각 장치를 개별적으로 캐시하는 경우 논리적으로 RAID 또는 제거된 MD로 스트라이핑되는 여러 장치는 bcache 관점에서 지속적으로 임의의 블록을 기록하게 됩니다.

캐시된 MD 볼륨은 정상적으로 보이지만 여러 장치에 임의의 블록을 쓰는 대신 파일을 볼륨에 씁니다.

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

이것은 정확하지 않을 수도 있습니다(bcache 개발자는 영리하고 그러한 상황을 설명할 수 있으므로). 그러나 논리적으로 최적의 작업은 장치를 차단하는 것보다 볼륨을 캐시하는 것입니다.

관련 정보