md의 bcache 또는 bcache의 md

md의 bcache 또는 bcache의 md

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

내가 올바르게 이해했다면

  • SSD *를 할당하여 여러 백업 HDD를 캐시 할 수 있으며
    결과 캐시 장치는 mdadm 또는 mdadm을 사용하여 RAID화될 수 있습니다.
  • 여러 HDD를 단일 md 지원 장치로 RAID로 구성하고 SSD를 캐시에 할당할 수 있습니다.

어떤 접근 방식이 더 합리적인지 알고 싶습니다. 하나 또는 다른 기술을 사용하여 RAID5/6을 구축하는 것이 더 간단할 수도 있다는 생각이 들었지만 어느 것이 확실하지 않습니다!

VM 지원 파일을 포함하는 루트가 아닌 대규모 파일 시스템의 경우 다른 방법보다 한 가지 방법을 선택해야 하는 타당한 이유가 있습니까(예: 백업 스토리지 늘리기 또는 기타)?


* "SSD"는 두 개의 물리적 SSD의 RAID1과 같은 일종의 중복 SSD 장치를 나타냅니다.

답변1

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

bcache를 사용하여 전체 md 장치를 캐시하면 또 다른 단일 실패 지점이 발생하므로 전체 raid에 대한 아이디어가 희생됩니다.

  • SSD 디스크의 OTH 오류는 상대적으로 드물며 bcache 는 데이터가 캐시 장치에만 저장되지 않고 캐시 오류로 인해 이 RAID의 정보가 삭제되지 않는 writethrough/ writearound모드( mode 와 반대 ) 로 전환될 수 있습니다. writeback안전의 선택.

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

  • 분명히 각 회전 드라이브를 개별적으로 캐시하면 값비싼 SSD 공간을 희생하게 될 것입니다.- raid ssd 캐시를 사용할 계획이 없다면.

  • 캐싱을 위해 드라이브를 별도로 회전시키는 옵션이 성장 프로세스 시간에 영향을 미칠 수 있지만 이 두 가지 옵션은 성장 프로세스 시간에 상대적으로 거의 영향을 미치지 않습니다.느리게버스 정체로 인해.

SSD 드라이브를 교체해야 하는 경우 SSD 드라이브를 제거하도록 bcache를 구성하는 것은 빠르고 비교적 간단한 프로세스입니다. 고마워하는조각양방향으로 RAID 설정을 제자리로 마이그레이션하는 것이 가능해야 합니다.

요즘 대부분의 (모두?) 라이브 CD 릴리스가 있다는 점도 명심해야 합니다.지원하지 않음bcache, 따라서 어떤 레이아웃 옵션을 선택하더라도 bcache해당 도구를 사용하여 단순히 데이터에 액세스할 수는 없습니다.mdraid

답변2

생성된 MD 장치를 캐시하는 것이 현명한 접근 방식이라고 생각합니다.

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

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

bcache된 MD 볼륨은 정상적으로 보이지만 파일은 여러 장치에 무작위로 기록되는 대신 볼륨에 기록됩니다.

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

이는 정확하지 않을 수 있습니다(bcache 개발자는 영리하고 이 시나리오를 고려했기 때문에). 그러나 논리적 모범 사례는 블록 장치가 아닌 볼륨을 캐시하는 것입니다.

관련 정보