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 지원.
백업/아카이브 버킷 복제, 버전 관리 및 불변 스토리지를 위한 객체 잠금 지원.

시작하기 (빠른 시작 옵션)

  1. 원클릭 스크립트 – curl -O https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh
  2. Docker – 공식 이미지 실행(비루트 사용자 rustfs UID/GID 10001: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:latest
    
    필요한 경우 latest를 특정 버전 태그로 바꾸십시오.
  3. Docker Compose – 즉시 사용 가능한 docker-compose-simple.yml에는 RustFS와 함께 Prometheus, Grafana, Jaeger가 포함되어 관찰 가능성을 제공합니다.
  4. Helm 차트 – https://charts.rustfs.com/의 차트를 통해 Kubernetes 클러스터에 설치.
  5. 소스에서 빌드 – 제공된 docker-buildx.sh 스크립트 또는 make 대상을 사용하여 멀티 아키텍처 Docker 이미지를 빌드하거나 Cargo로 바이너리를 직접 컴파일.
  6. 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 – 허용적이고 상업적으로 친화적이며 "바이럴" 조항 없음.

더 알아보기


TL;DR

RustFS는 Rust 기반 Apache-2.0 라이선스 객체 스토리지 시스템으로, 전체 S3 호환성, 분산 내결함성 운영 및 웹 콘솔을 제공합니다. 고처리량 AI/ML 데이터 레이크 워크로드를 대상으로 하면서 엣지 친화적인 배포 옵션(Docker, Helm, Nix 등)과 강력한 보안/규정 준수 보장을 제공합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트