温馨提示×

如何迁移linux minio

小樊
33
2026-09-13 16:14:39
栏目: 智能运维

迁移 Linux 上的 MinIO 通常分为几种场景,取决于你是换机器、换目录、还是升级版本。下面我按最常见的 “整库迁移(数据 + 配置)” 来说明,最稳妥、最常用。


一、迁移前准备

1. 确认 MinIO 运行方式

先确认你是哪种方式部署的:

  • 二进制直接运行
  • systemd 服务
  • Docker
  • Kubernetes

本文以 Linux 二进制 + systemd 为例(最常见)。

2. 停止 MinIO 服务

systemctl stop minio

⚠️ 一定要停服务,否则数据可能不一致


二、迁移数据目录(核心)

1. 查找数据目录

通常启动参数里会有:

minio server /data/minio

MINIO_VOLUMES="/data/minio"

假设原目录是:

/data/minio

2. 拷贝数据(推荐 rsync)

在新机器或新目录执行:

rsync -avz --delete /data/minio/ /new/data/minio/

示例(远程迁移):

rsync -avz /data/minio/ user@new-server:/data/minio/

不要只拷部分文件,MinIO 是对象存储,目录结构必须完整


三、迁移配置文件

1. 环境变量文件

常见位置:

/etc/default/minio
# 或
/etc/minio/minio.conf

内容示例:

MINIO_ROOT_USER=admin
MINIO_ROOT_PASSWORD=password
MINIO_VOLUMES="/data/minio"
MINIO_OPTS="--address :9000 --console-address :9001"

把该文件一并迁移。


四、在新机器部署 MinIO

1. 安装 MinIO

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
mv minio /usr/local/bin/

2. 创建 systemd 服务

vim /etc/systemd/system/minio.service

示例:

[Unit]
Description=MinIO
After=network.target

[Service]
User=minio
Group=minio
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_VOLUMES $MINIO_OPTS
Restart=always

[Install]
WantedBy=multi-user.target

3. 启动服务

systemctl daemon-reload
systemctl start minio
systemctl enable minio

五、验证迁移是否成功

1. 查看服务状态

systemctl status minio

2. 登录控制台

http://IP:9001

3. 校验数据

  • Buckets 是否完整
  • 文件数量和大小是否一致
  • mc 对比(高级)

六、Docker 方式迁移(简要)

如果是 Docker:

docker cp minio:/data /backup/minio-data

或挂载卷直接拷贝:

rsync -avz /var/lib/docker/volumes/minio-data /new/path

七、常见坑提醒 ⚠️

❌ 不要中途重启 MinIO
❌ 不要只拷 .minio.sys 以外的文件
❌ 权限不对会导致启动失败

chown -R minio:minio /data/minio

八、如果你愿意,我可以更精准帮你

你可以告诉我:

  1. MinIO 版本
  2. 是否 Docker / systemd
  3. 是同机换目录,还是跨服务器
  4. 数据量大小

我可以直接给你可复制的命令方案

0