MinIO是一款高性能、分布式对象存储系统,专为云原生和容器化环境设计,兼容Amazon S3 API,支持海量数据存储与管理。其核心优势包括:采用纠删码技术实现数据冗余(读写速度可达数百GB/秒)、轻量级部署(单二进制文件即可运行)、支持Kubernetes/Docker等云原生环境。
sudo或root账户操作。安装wget、curl等基础工具(以Ubuntu为例):
sudo apt update && sudo apt install -y wget curl
wget下载:wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
/usr/local/bin/(全局可用):sudo mv minio /usr/local/bin/
minio --version # 输出版本信息即表示成功
wget -qO - https://dl.min.io/server/minio/release/linux/amd64/minio-release.key | sudo apt-key add -
sudo add-apt-repository 'deb https://dl.min.io/server/minio/release/linux/amd64/ /'
sudo apt update && sudo apt install minio
sudo tee /etc/yum.repos.d/minio.repo <<EOF
[minio-stable]
name=MinIO stable release (RPM)
baseurl=https://dl.min.io/server/minio/release/linux/amd64/
enabled=1
gpgcheck=1
gpgkey=https://dl.min.io/server/minio/release/linux/amd64/minio-release.key
EOF
sudo yum install minio
MinIO需要独立目录存储数据(建议使用专用磁盘或分区):
sudo mkdir -p /data/minio
sudo chown -R $USER:$USER /data/minio # 设置目录所属权
创建/etc/systemd/system/minio.service文件,内容如下:
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
[Service]
Environment="MINIO_ROOT_USER=admin" # 控制台访问账号(自定义)
Environment="MINIO_ROOT_PASSWORD=your_strong_password" # 控制台访问密码(自定义,建议12位以上)
ExecStart=/usr/local/bin/minio server /data/minio --console-address ":9001" # 数据目录、控制台端口
Restart=always
LimitNOFILE=65536
User=$USER
[Install]
WantedBy=multi-user.target
说明:
MINIO_ROOT_USER/MINIO_ROOT_PASSWORD:控制台登录凭证(必填);--console-address ":9001":控制台访问端口(默认9001,可修改);--address :9000:API访问端口(默认9000,可在ExecStart中添加)。sudo systemctl daemon-reload # 重新加载systemd配置
sudo systemctl start minio # 启动服务
sudo systemctl enable minio # 设置开机自启
sudo systemctl status minio # 检查服务状态(显示"active (running)"即成功)
MinIO Client(mc)是命令行管理工具,用于操作存储桶、上传/下载文件等。
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/
为MinIO Server设置别名(方便后续操作):
mc alias set myminio http://localhost:9000 admin your_strong_password
说明:
myminio:别名(自定义,用于后续命令);http://localhost:9000:MinIO API地址(远程服务器需替换为IP);admin/your_strong_password:与MINIO_ROOT_USER/MINIO_ROOT_PASSWORD一致。mc ls myminio/ # 列出MinIO根目录(显示"myminio/"即成功)
开放MinIO API(9000)和控制台(9001)端口(以Ubuntu ufw为例):
sudo ufw allow 9000/tcp # API端口
sudo ufw allow 9001/tcp # 控制台端口
sudo ufw reload # 重新加载防火墙规则
生成自签名证书(或使用CA颁发的证书):
sudo mkdir -p /etc/ssl/minio
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/ssl/minio/minio-key.pem \
-out /etc/ssl/minio/minio-cert.pem
修改MinIO启动参数(在ExecStart中添加证书路径):
ExecStart=/usr/local/bin/minio server /data/minio --console-address ":9001" \
--certs-dir /etc/ssl/minio
重启服务使配置生效:
sudo systemctl daemon-reload && sudo systemctl restart minio
说明:自签名证书需在客户端信任(如浏览器导入),生产环境建议使用CA证书。
http://<服务器IP>:9001,输入admin/your_strong_password登录,即可看到MinIO控制台界面。mc ls myminio/ # 查看存储桶列表
mc mb myminio/mybucket # 创建存储桶
mc cp /path/to/local/file myminio/mybucket/ # 上传文件
--address或--console-address端口(如--address :9002),确保端口未被占用。通过以上步骤,即可在Linux系统上完成MinIO的安装与配置,满足对象存储需求。生产环境中,建议结合Kubernetes、分布式部署等方式提升可用性和扩展性。