一、场景背景

最近公司需要将部署在 Windows 服务器上的 MinIO 单机版迁移到 Linux 环境,以提升稳定性和性能。本文将结合实际操作场景,完整记录从Windows(D:\minio)迁移到 Linux的全过程,包含配置对齐、数据迁移、服务启动与验证,所有步骤均可直接复用。

二、核心配置对齐

从 Windows 启动脚本中提取关键配置,确保 Linux 端完全一致:

配置项 Windows 端值 Linux 端对应值
根账号(MINIO_ROOT_USER) itl itl
根密码(MINIO_ROOT_PASSWORD) itl@123456 itl@123456
API 端口(–address) 9101 9101
控制台端口(–console-address) 9100 9100
数据存储目录 D:\minio\data /opt/minio/data

三、Windows 端操作:停服务 + 打包数据

1. 停止 MinIO 服务
直接关闭运行启动脚本的 CMD/PowerShell 窗口即可,确保服务完全停止,避免数据写入冲突。
2. 打包核心数据
MinIO 的所有桶和文件都存储在D:\minio\data目录中,只需对该目录进行打包:
使用 7-Zip/WinRAR 将data文件夹压缩为minio-data.zip,保留原始目录结构。
通过 SCP 或可视化工具(如 WinSCP)将压缩包传输到 Linux 服务器的/root目录:

# Windows PowerShell执行SCP传输
scp D:\minio\minio-data.zip root@你的Linux服务器IP:/root/

四、Linux 端操作:安装 + 解压 + 启动

  1. 安装 MinIO 二进制包
    推荐使用二进制包进行原生部署,轻量且无需依赖容器:
# 下载MinIO二进制包(最新稳定版,兼容Windows端版本)
wget https://dl.min.io/server/minio/release/linux-amd64/minio -O /usr/local/bin/minio

# 赋予执行权限
chmod +x /usr/local/bin/minio

# 验证安装
minio --version
  1. 解压数据到指定目录
# 创建对应的数据目录
mkdir -p /opt/minio/data

# 解压压缩包到目标目录
unzip /root/minio-data.zip -d /opt/minio/

# 赋予目录读写权限
chmod -R 755 /opt/minio/data
  1. 启动 MinIO 服务
    提供三种启动方式,可根据场景选择:

方式 1:临时启动(测试用)

MINIO_ROOT_USER=itl MINIO_ROOT_PASSWORD=itl@123456 minio server --address :9101 --console-address :9100 /opt/minio/data

方式 2:后台持久化启动(生产推荐)

# 后台启动并输出日志到minio.log
MINIO_ROOT_USER=itl MINIO_ROOT_PASSWORD=itl@123456 nohup minio server --address :9101 --console-address :9100 /opt/minio/data > /opt/minio/minio.log 2>&1 &

方式 3:Docker 启动(容器化部署)

docker run -d \
  --name minio-server \
  -p 9101:9101 -p 9100:9100 \
  -v /opt/minio/data:/data \
  -e "MINIO_ROOT_USER=itl" \
  -e "MINIO_ROOT_PASSWORD=itl@123456" \
  --restart=always \
  minio/minio server --address :9101 --console-address :9100 /data

五、迁移结果验证

  1. 访问控制台:在浏览器输入http://你的Linux服务器IP:9100,使用账号tydt、密码tydt@123456登录,能正常登录则配置生效。
  2. 检查数据完整性:登录后查看桶列表、文件数量 / 大小,确保与 Windows 端完全一致。
  3. 业务对接测试:将业务代码中的 MinIO 地址从WindowsIP:9101修改为LinuxIP:9101,验证文件上传 / 下载功能正常。

六、可选:配置 Linux 开机自启

  1. 对于原生部署方式,可通过 systemd 配置开机自启:
    创建 systemd 服务文件:
vi /etc/systemd/system/minio.service
  1. 写入以下内容(替换为你的实际配置):
[Unit]
Description=MinIO Service
Documentation=https://docs.min.io
After=network.target

[Service]
User=root
Group=root
Environment="MINIO_ROOT_USER=itl"
Environment="MINIO_ROOT_PASSWORD=itl@123456"
ExecStart=/usr/local/bin/minio server --address :9101 --console-address :9100 /opt/minio/data
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
  1. 启动并设置开机自启:
systemctl daemon-reload
systemctl start minio
systemctl enable minio

七、常见问题 & 避坑指南

  1. 账号密码错误:确保 Linux 端启动时的MINIO_ROOT_USER和MINIO_ROOT_PASSWORD与 Windows 端完全一致,注意区分大小写。
  2. 目录权限不足:执行chmod -R 755 /opt/minio/data赋予目录读写权限,或使用拥有权限的用户启动 MinIO。
  3. 版本不兼容:Linux 端安装的 MinIO 版本需≥Windows 端版本,建议安装同版本以避免解析错误。
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐