Skip to content

Drop-in Binary Replacement: Migrate from MinIO to RustFS #2212

@loverustfs

Description

@loverustfs

Drop-in Binary Replacement: Migrate from MinIO to RustFS

ChatGPT Image Mar 18, 2026, 05_35_30 PM_compressed

We are releasing a key feature in our latest release (1.0.0-alpha.89): users can now migrate from existing MinIO instances to RustFS through a direct, in-place binary replacement.

MinIO has recently archived its open-source repository. However, there are still millions of instances worldwide running older open-source versions that no longer receive security updates. As time goes on, the security risks associated with these legacy instances continue to grow.

RustFS is an S3-compatible distributed object storage system written in Rust (Apache License 2.0) with over 23k stars. It is designed to serve as a high-performance, fully compatible replacement for MinIO.

Benefits of In-Place Migration

  • Cost Savings: You don't need to provision new infrastructure or migrate data over the network. Existing MinIO data directories can be reused directly, saving massive storage and bandwidth costs for users with hundreds of gigabytes or petabytes of data.
  • Security Assurance: RustFS is actively maintained. By migrating, your storage infrastructure will receive timely security patches and updates.
  • Seamless Integration: Fully S3-compatible. The conversion does not introduce breaking changes to existing client workflows or API calls.

How to Migrate

⚠️ WARNING: Although this is a direct replacement, we strongly recommend backing up your data and configurations before performing any migration on production environments.

1. For Binary Installations

If your MinIO instance was started with a command like this:
minio server /data/minio --console-address ":9001"

Step 1: Download the latest version

curl -O [https://github.com/rustfs/rustfs/releases/download/1.0.0-alpha.89/rustfs-linux-x86_64-gnu-latest.zip](https://github.com/rustfs/rustfs/releases/download/1.0.0-alpha.89/rustfs-linux-x86_64-gnu-latest.zip)

Step 2: Extract and prepare the binary

unzip rustfs-linux-x86_64-gnu-latest.zip
chmod +x rustfs

Step 3: Start the RustFS instance using the MinIO data directory

./rustfs /data/minio \
  --address ":9000" \
  --console-enable \
  --console-address ":9001" \
  --access-key "rustfsadmin" \
  --secret-key "rustfsadmin"

After booting, you can verify the migration by accessing the console at http://<your-ip>:9001.

2. For Docker Installations

If your instance is managed via docker-compose.yml, simply replace the image and update the environment variables to match RustFS.

Before (MinIO):

services:
  minio:
    image: minio/minio:RELEASE.2025-04-22T22-12-26Z
    command: server --console-address ":9001" /data{1...4}
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: password
    volumes:
      - data1:/data1
      - data2:/data2
      - data3:/data3
      - data4:/data4

After (Migrated to RustFS):

services:
  rustfs:
    image: rustfs/rustfs:1.0.0-alpha.89
    container_name: rustfs
    environment:
      - RUSTFS_VOLUMES=/data{1...4}
      - RUSTFS_ADDRESS=0.0.0.0:9000
      - RUSTFS_CONSOLE_ENABLE=true
      - RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001
      - RUSTFS_ACCESS_KEY=admin
      - RUSTFS_SECRET_KEY=password
    ports:
      - "9000:9000"  # API endpoint
      - "9001:9001"  # Console
    volumes:
      - data1:/data1
      - data2:/data2
      - data3:/data3
      - data4:/data4

Migration Compatibility

Due to differences in internal on-disk data formats, not all MinIO configurations can be migrated automatically yet.

Currently Supported:

  • Bucket metadata
  • Objects (including labels, object locks, and versioning)
  • Bucket replication configuration
  • IAM configuration
  • Lifecycle management
  • Layer management

Currently Not Supported:

  • Site replication
  • Event notifications
  • MinIO online configuration
  • LDAP and OIDC

If you encounter any issues during the migration, please reply directly in this thread with your logs.


RustFS Roadmap

Currently, RustFS is in Alpha. Our upcoming timeline:

  • Beta: Planned for April 2026.
  • GA (General Availability): Planned for July 2026.

Moving forward, our goal is to build RustFS as the foundational storage system for AI infrastructure, with native support for RDMA and DPUs.

Get Started:

Disclaimer: "MinIO" is a registered trademark of MinIO, Inc. Any references to MinIO in this post are strictly for comparative and compatibility-demonstration purposes. RustFS is an independent open-source project and has no affiliation, sponsorship, or endorsement from MinIO, Inc.

Metadata

Metadata

Assignees

Labels

ImprovementS-confirmingStatus: Awaiting confirmation for a resolved issue

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions