![작은 파일을 위한 Ceph?](https://linux55.com/image/136429/%EC%9E%91%EC%9D%80%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%9C%84%ED%95%9C%20Ceph%3F.png)
현재 내 데이터 센터에는 6개의 전용 서버가 있습니다. 두 서버는 exim과 dovecot(Maildir)을 실행하는 메일 서버와 4개의 웹 서버입니다. 각 서버에는 2개의 3TB 하드 드라이브가 있습니다.
현재 문제는 이제 비디오 제작 팀이 있고 스토리지가 필요하다는 것입니다. 확장 가능한 저장 공간이 있을 수 있습니다. 현재 그들은 어떤 서버에 충분한 여유 공간이 있는지 확인해야 합니다. 이것이 제가 해결하고 싶은 문제입니다.
그래서 내 생각은 Ceph를 사용하여 두 가지 작업을 수행하는 것입니다. 먼저 메일 및 웹 서버에 대한 장애 조치 솔루션을 만듭니다. 따라서 서버에 장애가 발생하면 로드 밸런서는 파일도 사용할 수 있는 다른 서버로 간단히 전환합니다.
두 번째는 확장 가능한 비디오 파일 저장 공간을 확보하고 비디오 팀이 파일 크기에 대해 걱정할 필요가 없다는 것입니다. 해당 파일 구조는 하나의 시스템에 상주하며 해당 파일은 이 "시스템"에서 처리될 수 있습니다. 더 많은 스토리지가 필요하면 다른 전용 서버를 임대하여 "클러스터"에 추가하면 됩니다.
그래서 Ceph가 좋은 아이디어인지 묻고 싶었습니다. 아니면 다른 더 좋은 제안이 있으신가요?
답변1
일반적으로 Ceph는 귀하의 사용 사례에 적합합니다. 나는 "대용량 비디오 파일" 상황을 확실히 잘 처리할 수 있습니다.
그러나 당신은 얼마나 많은 작은 파일을 가지고 있는지, 얼마나 작은지는 말하지 않았습니다.
파일이 수백만 개만 있으면 모든 것이 정상입니다.
하지만너무 적은 수의 대형 회전 디스크에 작은 파일이 너무 많으면 운영상의 어려움이 발생할 수 있습니다., 정기적인 무결성 검사를 수행하는 Ceph 및 대부분의 스토리지 시스템에 적합합니다.
회전식 디스크 HDD에서 Ceph를 사용할 때 다음 사항을 이해하는 것이 중요합니다.
- CephFS는 각 파일을 1개 이상의 개체("RADOS 개체")로 저장합니다.
- 이러한 개체에 대한 작업에는 디스크 검색이 필요합니다. 이러한 작업에는 다음이 포함됩니다.
- 미사일 발사 중지: 비트 로트(Bit Rot)를 방지하고 장애가 발생한 디스크를 감지하기 위한 자동 주기적 체크섬 검사
- 다시 덮다: 디스크에 장애가 발생한 경우
- 균형: 클러스터에 더 많은 디스크를 추가하는 경우
- HDD는 초당 약 100개의 검색만 수행할 수 있습니다.
- 따라서 작은 파일(예: 5억 개)이 많은 경우 이러한 작업(일부 디스크 손실 복구 등)에 대략 다음이 소요됩니다
500000000 objects / 100 seeks-per-second / 3600 s / 24 h
.60일가서 끝내세요. 시간이 너무 오래 걸리면 다른 디스크에 다시 오류가 발생할 수 있습니다. - Ceph에는 현재 작은 파일을 보다 효율적으로 처리할 수 있는 기능이 없습니다. 일부 다른 파일 시스템에도 다음과 같은 기능이 있습니다.
- ZFS(비분산 파일 시스템)에는 비순차적 정리 및 재동기화 기능이 있습니다. 내 의견을 참조하세요.이 블로그, 그리고 이 OpenZFS구현하다이것으로범죄. 나는Ceph는 동일한 기능 요청을 지원합니다..
- SeaweedFS(Ceph와 같은 분산형)는 여러 개의 작은 파일을 더 큰 "볼륨" 파일로 묶습니다. 결과적으로 파일을 즉시 삭제할 수는 없습니다. 대신 대용량 파일의 영역을 삭제된 것으로 표시하고 나중에 가비지 수집을 통해 해당 영역을 정리하여 전체 대용량 파일을 다시 작성합니다. 또한 Ceph만큼 전투 테스트 및 문서화되지 않았습니다. 내 게시물을 참조하세요.여기.
Ceph의 경우 파일을 분할할 수 있는 경우(예: 한 디렉터리의 큰 파일, 다른 디렉터리의 작은 파일) 서버에 일부 SSD를 추가하면 다음을 수행할 수 있습니다.CephFS에게 알려주기어떤 디렉토리에 어떤 장치 유형이 사용됩니까?