bcache 는 플래시 기반과 같은 하나 이상의 빠른 디스크 드라이브를 허용합니다. 하나 이상의 느린 하드 디스크 드라이브의 캐시 역할을하는 SSD (솔리드 스테이트 드라이브) .
올바르게 이해하면
- SSD * 를 여러 백업 HDD를 캐시하도록 할당 한 다음 결과로 캐시 된 장치를 mdadm
또는 - 여러 HDD를 단일 백업 md 장치로 RAID 할 수 있습니다. 캐시에 할당 된 SSD
어떤 것이 더 안전한 방법인지 궁금합니다. RAID5 / 6을 확장하는 것이 하나 또는 다른 기술을 사용하면 더 간단 할 수 있지만 저는 그렇지 않습니다. 확실합니다!
하나의 접근 방식을 다른 방식 (VM 백업 파일이 포함 된 루트가 아닌 대규모 파일 시스템의 경우)을 선택하는 데 필요한 이유 (예 : 백업 스토리지 늘리기 등)가 있습니까?
* “SSD”란 일종의 중복 SSD 장치를 의미합니다. 예를 들어 두 개의 물리적 인 RAID1 모든 SSD
설명
답변
전체 md 장치를 캐싱하는 것이 가장 합리적이라고 생각합니다.
bcache를 사용하여 전체 md 장치는 또 다른 단일 장애 지점을 도입하기 때문에 raid에 대한 전체 아이디어를 희생합니다.
-
SSD 디스크의 OTH 장애는 상대적으로 드물며 bcache는
writethrough
/writearound
모드 (writeback
모드와 달리) 캐시 장치에만 저장되며 캐시 실패는 “레이드의 정보를 죽이지 않으므로 상대적으로 안전한 옵션입니다. -
다른 사실은 상당한 계산이 있다는 것입니다. 소프트 RAID-5의 오버 헤드; 회전하는 각 RAID 구성원을 개별적으로 캐싱 할 때 컴퓨터는 여전히 캐시 적중시에도 모든 패리티를 다시 계산합니다.
-
각 회전 드라이브를 개별적으로 캐시하는 경우 비용이 많이 드는 SSD 공간을 희생해야합니다.-raided ssd 캐시를 사용할 계획이 아니라면. -
두 옵션 모두 성장 프로세스 시간에 상대적으로 영향을주지 않습니다. 회전 드라이브가 별도로 캐시되는 옵션은 다음과 같은 이유로 느려질 가능성이 있습니다. 더 많은 버스 트래픽.
ssd 드라이브를 교체해야 할 때 제거하도록 bcache를 구성하는 것은 빠르고 비교적 간단한 프로세스입니다. 블록 은 공격대 설정을 현장에서 양방향으로 마이그레이션 할 수 있어야합니다.
또한 현재 대부분 (모두?) 라이브- CD 배포는 bcache
를 지원하지 않으므로 bcache
–mdraid
레이아웃 옵션을 선택했습니다.
댓글
- I ' 나는 중복되지 않는 SSD 캐시를 가질 계획이 아니라 ' 명확하게 질문을 업데이트했습니다. 두 번째 글 머리 기호 포인트는 훌륭한 포이입니다 nt, 감사합니다. 공간에 대한 세 번째 글 머리 기호 : SSD에 패리티를 저장하기 때문에 ' 의미합니까? 마지막으로, 저는 ' F20을 사용하고 있지만 결국에는 RHEL / CentOS7 또는 Debian Jessie를 사용할 것입니다 (bcache-tools가 잘라낸 경우).
- @JackDouglas Ad 세 번째 글 머리 기호 : 예, 맞습니다. 하지만 RAID가 적용된 SSD 드라이브를 사용할 계획이므로 ' 적용되지 않습니다.
- 그 이유는 '는 미러링 될뿐만 아니라 백업 드라이브에 대한 RAID 패리티도 저장해야합니다. 이것은 ' 내가 요점이라고 생각했던 bcache 아래에서 RAID가 수행되는 경우가 아닙니다.
- 반대를 의미한다고 생각합니다. ssd 매트릭스는 ' 회전 디스크 ' 패리티가 전체 mdraid 드라이브에 공급되는 경우 저장할 필요가 없습니다.
- 예, 그렇습니다 ' 정확히 의미합니다!
답변
I ” d 정상적인 접근 방식은 결과 MD 장치를 캐시하는 것이라고 생각합니다.
bcache는 순차적 읽기 및 쓰기를 통과하도록 설계되었습니다.
각 장치를 개별적으로, 논리적으로 여러 장치를 b 캐시하는 경우 raided 또는 stripped MD로 스트라이핑하면 bcache 관점에서 지속적으로 임의 블록을 작성합니다.
bcached MD 볼륨은 정상적으로 보이지만 볼륨에 파일을 작성하는 대신 여러 블록에 임의 블록을 작성합니다.
하드 및 소프트웨어 레이드의 전체 요점은 백엔드에서 데이터 스트라이핑을 수행하여 결과 파일 시스템이 tem은 정상적인 볼륨처럼 보입니다.
이것은 정확하지 않을 수 있지만 (bcache 개발자는 영리하고 이러한 상황을 설명 할 수 있기 때문에) 논리적으로 최적의 작업은 볼륨을 캐시하는 것입니다.
설명
- 또한 매우 좋은 점
- RAID5 / 6에 대한 대규모 순차적 쓰기는 다음에 대한 순차적 쓰기를 생성합니다. 모든 구성 장치. 각 구성 요소 장치는 모든 N-1 데이터 블록 (또는 패리티)을 가져 오지만 가져 오는 데이터는 순차적입니다. 하지만 ' 일이 왜곡된다는 것은 맞습니다. 부분 스트라이프 쓰기가 자주 발생하는 일부 청크가있어 패리티 스트라이프 (일부)의 읽기-수정-쓰기가 발생하면 bcache에 의해 캐시 될 수 있습니다. 부분 스트라이프 쓰기가 MD 장치에 도달하기 전에 더 높은 곳에 캐싱하는 것이 훨씬 좋습니다.
bcache
뒷면은bcache
형식이어야합니다. 따라서 'md
배열, 단일 결과 디스크를bcache
백업 파티션으로 완전히 포맷하거나, 캐시 드라이브에 연결하고 거기에서 이동하거나, , 캐시 드라이브에 연결 한 다음 여러 디스크를 하나의 어레이로 포맷합니다. 두 경우 모두 실패의 가능성이 여러 지점이 있으며, 모두 최종 fs는 말할 것도없고 두 파일 시스템 간의 상호 운용성에 의존합니다. 여기 : 아래로 스크롤 을 참조하세요.