RAID 설계를위한 성능 특성 찾기


0

최적의 RAID 읽기 정책을 만들려고합니다 .

최근 1.5TB 드라이브에서 64K RAID 청크 크기를 사용하면 RAID1 설정에서 3 개의 기본 장치에서 지정된 데이터를 64K 청크로 라운드 로빈 방식으로 읽는 총 전송 속도가 약간 느립니다. 단일 디스크만으로 전송률 (세 개의 디스크를 모두 사용하는 것을 제외하고 전체 시스템 성능이 저하 될 수 있음).

성능 저하의 원인이 탐색 시간과 관련이있을 수 있습니까?

여러 드라이브의 성능이 불필요한 검색에 낭비되지 않도록 어떻게 영리한 청크 크기를 얻을 수 있습니까?


나는 시스템 소프트웨어 엔지니어링 관점 에서이 작업을 수행하고 있습니다 (사용하는 시스템에는 .c 커널 소스 파일을 편집하고 커널을 다시 컴파일하지 않고도이를 변경할 수있는 설정조차 없습니다). 나는 이것이 단순한 관리보다는 시스템 소프트웨어 / 임베디드 개발 및 알고리즘에 가깝다고 생각합니다.
cnst

답변:


0

이 1.5TB 드라이브의 평균 미디어 전송 속도는 약 100MB / s입니다. 즉, 3 개의 장치가있는 RAID1에서 순차적이지만 발견 된 64K 읽기를 사용하면 드라이브 당 초당 533 개의 검색이 수행되어야합니다 (100MB / s / 64K / seek / 3 드라이브) .

7200 rpm 드라이브는 회전에 8.3ms가 필요하지만 일부 HGST 사양에서는 트랙 간 탐색 시간이 1ms 미만일 수도 있다고 언급합니다.

기본적으로 질문은 64KB * (드라이브 수-1)를 건너 뛰는 탐색 시간이 얼마나됩니까? 아마도 1ms보다 약간 더?

초당 1/3 속도로 실제 읽기를 수행 한 결과, 우리는 533 개의 탐색을 수행하기 위해 667ms가 남았으며 이는 128KB를 건너 뛰는 각 탐색에 1.25ms가 소요될 수 있음을 나타냅니다.

이 숫자는 모두 일관된 것으로 보입니다.

이는 각 드라이브에서 라운드 로빈 64KB 읽기 및 128KB 건너 뛰기를 수행하면 실제로 검색에 많은 시간을 낭비하고 3 개의 디스크가있는 RAID1과 개별 디스크와 동일한 전체 읽기 속도를 갖는 RAID1을 나타냅니다.

RAID1 파티션이 수십 GB 이상인 경우 청크 크기를 64KB 대신 64MB와 4GB 사이로 설정해야합니까?

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