수백만 개의 작은 파일이 폴더별로 분산되어 있는 경우 가장 좋은 파티션 형식은 무엇이며 이를 최대한 빨리 관리하기 위한 RAID 설정은 무엇입니까? 예를 들어 모든 파일을 검색하고 xMB보다 큰 파일을 찾는 등의 작업을 수행합니다.
이 경우 RAID에 4~5개의 SSD를 분산시키면 성능 향상에 도움이 될까요?
대부분의 파일이 1MB 미만이라는 점을 고려하면 이 경우 더 빠르게 수행될 수 있는 파티션 형식이 있습니까?
편집하다:쿼리를 위해 데이터를 여러 번 읽으므로 읽기 횟수는 쓰기 횟수의 두 배 이상입니다. 데이터는 중요하지 않습니다. 데이터 보호보다 속도가 더 중요합니다.
답변1
일반적으로 RAID를 사용하면 읽기에 대해 N(장치 수) * I(iops)를 얻을 수 있으며 RAID 수준에 따라 쓰기를 일부 분할할 수 있습니다. (N*I)/2는 미러링에 사용되고 /4는 raid5에 사용되고 /6은 raid6 등에 사용됩니다.
장치 오류로 인해 손실될 수 있고 처음부터 다시 생성해야 하거나 단순히 새 데이터를 생성해야 하는 중요하지 않은 데이터의 경우 RAID0이 가장 빠른 쓰기 속도를 갖습니다. 이는 여러 장치에 걸친 단순한 스트라이프이며, 쓰기 Iops를 소비하기 위한 패리티 읽기 또는 쓰기가 발생하지 않습니다. RAID0에서는 읽기 및 쓰기 성능이 N*I여야 합니다. (CPU와 선택한 파일 시스템의 캐싱 방법이 숫자에 약간 영향을 미칠 수 있지만 일반적으로 이 값에 매우 가까워야 합니다.
사용 가능한 드라이브 수와 필요한 용량에 따라 RAID10을 사용하면 읽기 성능이 N으로 유지됩니다.나의 글쓰기 성과와 당신의 글쓰기 성과는 (N)I)/2 왜냐하면 미러의 양쪽에 쓰기를 실행해야 하기 때문입니다.
EXT4를 사용하여 스트라이프로 구성된 4-5 SSD는 데이터 보호를 희생하면서 성능과 단순성의 최고의 교차점을 제공할 것입니다.
RAID10은 용량과 쓰기 성능을 절반으로 줄이고 읽기 성능을 유지하며(여전히 모든 드라이브에서 읽을 수 있음) 우수한 데이터 무결성을 제공합니다.
임시 데이터의 경우 필요에 따라 여러 폴더와 함께 단일 파티션에서 EXT4 및 RAID0을 사용합니다.