rustfs/rustfs
RustFS is an open-source, S3-compatible high-performance object storage system supporting migration and coexistence with other S3-compatible platforms such as MinIO and Ceph.
RustFS – 고성능 분산 객체 스토리지 (Rust)
개요 – RustFS는 Rust로 작성된 오픈소스 Apache-2.0 라이선스 객체 스토리지 시스템입니다. MinIO의 사용 편의성과 Rust가 제공하는 메모리 안전성 및 원시 속도를 결합하는 것을 목표로 합니다. 이 서비스는 S3 API(핵심 기능, 버전 관리, 암호화, 수명 주기 등)를 지원하며 OpenStack Swift, SFTP/FTPS/WebDAV 및 웹 콘솔도 지원합니다.
AI/ML에 중요한 이유 – 현대 AI 파이프라인은 훈련 데이터, 모델 아티팩트 및 추론 결과를 위해 빠르고 안정적인 객체 스토어가 필요합니다. RustFS는 "데이터 레이크 지원"과 "고처리량 빅데이터 및 AI 워크로드에 최적화"를 광고하여 데이터 집약적 ML 워크로드의 스토리지 계층 후보가 됩니다.
주요 기능 (README에 나열된 대로)
- 고성능 – 낮은 오버헤드와 메모리 안전 실행을 위해 Rust로 구축.
- 분산 및 내결함성 아키텍처 – 이레이저 코딩 풀을 사용하여 단일 노드 또는 다중 노드 클러스터로 실행 가능.
- 광범위한 S3 호환성 – 핵심 S3 작업, 버전 관리, 객체 잠금(WORM), 서버 측 암호화, 수명 주기/ILM, 버킷 복제, 이벤트 알림 등.
- OpenStack Swift API 및 Keystone 인증 – Swift 및 해당 인증 모델에 대한 기본 지원.
- 추가 프로토콜 – FTPS, WebDAV, SFTP(선택적 Cargo 기능).
- KMS 통합 – Vault(KV2/Transit) 및 AWS KMS 백엔드, 테스트용 로컬/정적 백엔드.
- 관찰 가능성 – 기본 제공 로깅, Prometheus 메트릭, Grafana 대시보드, Jaeger 추적.
- 웹 콘솔 – 버킷 및 객체 관리를 위한 그래픽 UI.
- Helm 차트, Docker 이미지, Nix 플레이크 및 x-cmd 설치 프로그램 – 다양한 배포 옵션.
- 허용적인 Apache-2.0 라이선스 – "바이럴" AGPL 제한 없음.
일반적인 사용 사례
| 사용 사례 | RustFS가 도움이 되는 방법 |
|---|---|
| AI/ML 데이터 레이크 | 대규모 훈련 데이터 세트 및 모델 체크포인트를 위한 S3 호환 고처리량 스토리지. |
| 엣지/IoT 게이트웨이 | 작은 풋프린트의 Rust 바이너리, 텔레메트리 없음, 온프레미스 또는 엣지 배포에 적합. |
| 하이브리드 클라우드 | 온프레미스 또는 컨테이너/Kubernetes에서 실행 가능, 기존 클라우드 도구와 작동하는 프라이빗 S3 엔드포인트 제공. |
| 엔터프라이즈 규정 준수 | Apache-2.0 라이선스, GDPR/CCPA/APPI 친화적, 숨겨진 텔레메트리 없음, 세분화된 IAM을 위한 OIDC/SSO 지원. |
| 백업/아카이브 | 버킷 복제, 버전 관리 및 불변 스토리지를 위한 객체 잠금 지원. |
시작하기 (빠른 시작 옵션)
- 원클릭 스크립트 –
curl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh - Docker – 공식 이미지 실행(비루트 사용자
rustfsUID/GID10001:10001). 예:
필요한 경우mkdir -p data logs && chown -R 10001:10001 data logs docker run -d -p 9000:9000 -p 9001:9001 \ -v $(pwd)/data:/data -v $(pwd)/logs:/logs rustfs/rustfs:latestlatest를 특정 버전 태그로 바꾸십시오. - Docker Compose – 즉시 사용 가능한
docker-compose-simple.yml에는 RustFS와 함께 Prometheus, Grafana, Jaeger가 포함되어 관찰 가능성을 제공합니다. - Helm 차트 –
https://charts.rustfs.com/의 차트를 통해 Kubernetes 클러스터에 설치. - 소스에서 빌드 – 제공된
docker-buildx.sh스크립트 또는make대상을 사용하여 멀티 아키텍처 Docker 이미지를 빌드하거나 Cargo로 바이너리를 직접 컴파일. - Nix 플레이크 / x-cmd – NixOS 사용자 또는
x-cmd설치 프로그램을 선호하는 사용자용.
관리 하이라이트
- 콘솔 –
http://localhost:9001에서 접근 가능(기본 자격 증명rustfsadmin / rustfsadmin). - TLS – 인증서 디렉토리를 마운트하고
RUSTFS_TLS_PATH를 설정하여 활성화. - 알림 –
RUSTFS_NOTIFY_*환경 변수를 통한 웹훅 지원. 외부 연결은RUSTFS_OUTBOUND_ALLOW_ORIGINS를 통해 화이트리스트에 등록해야 합니다. - 풀 확장 – 단일 노드 단일 디스크 배포는 제자리에서 확장할 수 없습니다. 다중 드라이브 풀은 풀 레이아웃 호환성 문서를 참조하여 신중한 지오메트리가 필요합니다.
- OIDC – Microsoft Entra ID에 대한 선택적 역할 클레임 매핑.
RUSTFS_IDENTITY_OPENID_*환경 변수로 구성.
라이선스
- Apache License 2.0 – 허용적이고 상업적으로 친화적이며 "바이럴" 조항 없음.
더 알아보기
- 문서 및 설치 가이드 – https://docs.rustfs.com/en/installation
- GitHub 저장소 – https://github.com/rustfs/rustfs (CI 배지, 이슈 트래커, 토론)
- 커뮤니티 – README의 Discord 링크 및 다국어 README 링크.
TL;DR
RustFS는 Rust 기반 Apache-2.0 라이선스 객체 스토리지 시스템으로, 전체 S3 호환성, 분산 내결함성 운영 및 웹 콘솔을 제공합니다. 고처리량 AI/ML 데이터 레이크 워크로드를 대상으로 하면서 엣지 친화적인 배포 옵션(Docker, Helm, Nix 등)과 강력한 보안/규정 준수 보장을 제공합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트