사용 제한
1. S3 API 제한
다음 표준은 S3 프로토콜 표준을 엄격히 준수하여 규범화됩니다.
항목 | 규격 |
---|---|
최대 객체 크기 | 5 TiB |
최소 객체 크기 | 0 B |
단일 PUT 작업의 최대 객체 크기 | 비분할 업로드: 500 GiB; 분할 업로드: 5 TiB |
업로드당 최대 분할 수량 | 10,000 |
분할 크기 범위 | 5 MiB ~ 5 GiB; 마지막 분할은 0 B ~ 5 GiB 가능 |
분할 목록 요청당 반환되는 최대 분할 수량 | 10,000 |
객체 목록 요청당 반환되는 최대 객체 수량 | 1,000 |
분할 업로드 목록 요청당 반환되는 최대 분할 업로드 수량 | 1,000 |
버킷 이름 최대 길이 | 63자 |
객체 이름 최대 길이 | 1024자 |
/ 로 구분된 객체 이름 세그먼트의 최대 길이 | 255자 |
단일 객체의 최대 버전 수량 | 10,000 (설정 가능) |
2. 소거 코딩 제한
EC 매개변수는 리드-솔로몬 행렬 기반의 EC 알고리즘으로 구성됩니다. 실제 EC 매개변수 구성을 기준으로 합니다.
항목 | 규격 |
---|---|
클러스터당 최대 서버 수량 | 무제한 |
최소 서버 수량 | 1 |
서버 수량이 1일 때, 서버당 최소 드라이브 수량 | 1 (단일 노드 단일 드라이브 배포에 적용, 추가 신뢰성이나 가용성 제공 불가) |
서버 수량이 2 이상일 때, 서버당 최소 드라이브 수량 | 1 |
서버당 최대 드라이브 수량 | 무제한 |
읽기 정족수 | N/2 |
쓰기 정족수 | (N/2) + 1 |
3. 객체 명명 제한
파일 시스템 및 운영체제 제한
RustFS의 객체 이름은 주로 기본 운영체제와 파일 시스템의 제한을 받습니다. 예를 들어, Windows 및 기타 일부 운영체제는 ^
, *
, |
, \
, /
, &
, "
또는 ;
같은 특수 문자 사용을 제한합니다.
운영체제와 파일 시스템의 구체적인 상황에 따라 관련 문서를 참조하여 완전한 제한 목록을 확인하시기 바랍니다.
RustFS는 더 나은 성능과 호환성을 위해 프로덕션 환경에서 XFS 파일 시스템 기반의 Linux 운영체제 사용을 권장합니다.
명명 충돌 처리
RustFS에서 애플리케이션은 모든 객체에 대해 고유하고 충돌하지 않는 키를 할당해야 합니다. 여기에는 부모 객체나 동급 객체 이름과 충돌할 수 있는 이름의 객체 생성을 피하는 것이 포함됩니다. RustFS는 충돌이 발생한 위치에서 LIST 작업을 수행할 때 빈 집합을 반환합니다.
예를 들어, 다음 작업은 네임스페이스 충돌을 일으킵니다:
bash
PUT data/hello/2025/first/a.csv
PUT data/hello/2025/first # 기존 객체 접두사와 충돌
PUT data/hello/2025/first/
PUT data/hello/2025/first/vendors.csv # 기존 객체와 충돌
이러한 객체에 대해 GET 또는 HEAD 작업을 수행할 수는 있지만, 이름 충돌로 인해 hello/2025/first/
경로에서 LIST 작업을 실행할 때 빈 결과 집합이 반환됩니다.