在Ubuntu上部署MinIO是一个相对简单的过程,以下是一些有用的技巧和步骤:
sudo apt update && sudo apt upgrade -y
sudo apt install -y wget curl
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mkdir -p /data/minio
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=yourpassword
为了使环境变量永久生效,可以将这些命令添加到/etc/profile
文件的末尾,并使用以下命令使其生效:
source /etc/profile
./minio server /data/minio
sudo nano /opt/minio/start.sh
添加以下内容(假设数据目录为/data/minio
,控制台端口为9000):
#!/bin/bash
nohup /opt/minio/minio server /data/minio --console-address :9000 > /opt/minio/minio.log 2>&1 &
保存并关闭文件。
赋予脚本执行权限:
chmod +x /opt/minio/start.sh
创建systemd服务文件:
sudo nano /etc/systemd/system/minio.service
添加以下内容:
[Unit]
Description=MinIO Server
After=network.target
[Service]
Type=forking
ExecStart=/opt/minio/start.sh
Restart=on-fail
[Install]
WantedBy=multi-user.target
启用并启动MinIO服务:
sudo systemctl enable minio
sudo systemctl start minio
minio admin user add <ACCESS_KEY><SECRET_KEY>
其中,<ACCESS_KEY>
是访问密钥,<SECRET_KEY>
是对应的私钥。
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ~/minio.key -out ~/minio.crt
minio server --secure ~/minio-data
/etc/default/minio
):sudo nano /etc/default/minio
在文件中写入如下内容(根据实际需求修改):
MINIO_VOLUMES="/data"
MINIO_OPTS="--address :9099 --console-address :9099"
MINIO_ACCESS_KEY="minioadmin"
MINIO_SECRET_KEY="minioadmin"
MINIO_ROOT_USER="minioadmin"
MINIO_ROOT_PASSWORD="minioadmin666"
MINIO_REGION="cn-north-1"
MINIO_DOMAIN=minio.your_domain.com
编辑服务文件 /usr/lib/systemd/system/minio.service
:
sudo nano /usr/lib/systemd/system/minio.service
将以下信息写入该文件:
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local/minio
ProtectProc=invisible
EnvironmentFile=/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
LimitNOFILE=1048576
TasksMax=infinity
DisableTimeout
[Install]
WantedBy=multi-user.target
重新加载systemd配置并启动MinIO服务:
sudo systemctl daemon-reload
sudo systemctl start minio
sudo systemctl enable minio
访问MinIO控制台:
打开Web浏览器,访问 http://your-server-ip:9000
(如果配置了HTTPS,替换为服务器IP地址)。
使用MinIO客户端:
你可以使用MinIO提供的客户端工具 mc
来管理你的存储桶和对象。
mc alias set myminio http://your-server-ip:9000 your-access-key your-secret-key
mc ls myminio/
硬件优化:
软件优化:
minio.conf
),例如调整 disk
、network
和 server
部分的相关参数。系统级优化:
sudo sysctl -w net.core.rmem_max=16777216
sudo sysctl -w net.core.wmem_max=16777216
sudo sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sudo sysctl -w net.ipv4.tcp_wmem="4096 65536 16777216"
sudo sysctl -w fs.aio-max-nr=1048576
sudo sysctl -w fs.file-max=65536
监控和日志:
iostat
、vmstat
、pidstat
等来监控系统资源使用情况。通过以上步骤和技巧,你可以在Ubuntu上成功部署、配置和优化MinIO对象存储服务。如果有任何问题,请参考MinIO的官方文档或社区支持。