linux

如何在Linux装MinIO服务器

小樊
48
2025-05-30 04:35:32
栏目: 云计算

在Linux上安装MinIO服务器可以分为单节点单硬盘(SNSD)和多节点多磁盘(分布式)两种部署方式。以下是详细的安装步骤:

单节点单硬盘(SNSD)部署

  1. 下载MinIO服务器文件

    使用以下命令下载安装最新版本的稳定MinIO二进制包,并设置 $PATH

    wget https://dl.min.io/server/minio/release/linux-amd64/minio
    chmod +x minio
    mv minio /usr/local/bin/
    
  2. 创建Systemd系统启动服务文件

    创建 /usr/lib/systemd/system/minio.service 文件:

    sudo vim /usr/lib/systemd/system/minio.service
    

    内容如下:

    [Unit]
    Description=MinIO
    Documentation=https://min.io/docs/minio/linux/index.html
    Wants=network-online.target
    After=network-online.target
    AssertFileIsExecutable=/usr/local/bin/minio
    
    [Service]
    WorkingDirectory=/usr/local
    User=minio-user
    Group=minio-user
    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
    
    # MinIO RELEASE.2023-05-04T21-44-30Z adds support for Type=notify 
    # (https://www.freedesktop.org/software/systemd/man/systemd.service.html#Type=)
    # This may improve systemctl setups where other services use `After=minio.server`
    # Uncomment the line to enable the functionality
    # Type=notify
    # Let systemd restart this service always
    Restart=always
    # Specifies the maximum file descriptor number that can be opened by this process
    LimitNOFILE=65536
    # Specifies the maximum number of threads this process can create
    TasksMax=infinity
    # Disable timeout logic and wait until process is stopped
    TimeoutStopSec=infinity
    SendSIGKILL=no
    
    [Install]
    WantedBy=multi-user.target
    

    默认情况下,minio.service 文件以 minio-user 用户和组的身份运行。您可以使用 groupadduseradd 创建用户和组。例如:

    sudo groupadd -r minio-user
    sudo useradd -M -r -g minio-user minio-user
    sudo mkdir /data/minio
    sudo chown minio-user:minio-user /data/minio
    

    本例中的驱动器路径由 MINIO_VOLUMES 环境变量指定。更改此处和环境变量文件中的值,使其与 MinIO 配置一致。

  3. 启动MinIO服务

    启动 MinIO 服务并设置为开机自启:

    sudo systemctl daemon-reload
    sudo systemctl enable --now minio
    
  4. 验证MinIO服务状态

    使用以下命令验证 MinIO 服务是否正常运行:

    curl http://localhost:9000/minio/cluster/nodes
    

多节点多磁盘(分布式)部署

  1. 环境准备

    • 创建存储目录(每个节点需相同路径):

      sudo mkdir -p /data/minio{1..4}
      
    • 假设每节点4块磁盘:

      sudo chmod -R 755 /data/minio{1..4}
      
    • 配置主机名解析(/etc/hosts):

      echo "192.168.1.101 minio-node1" | sudo tee -a /etc/hosts
      echo "192.168.1.102 minio-node2" | sudo tee -a /etc/hosts
      echo "192.168.1.103 minio-node3" | sudo tee -a /etc/hosts
      echo "192.168.1.104 minio-node4" | sudo tee -a /etc/hosts
      
  2. 安装MinIO

    在所有节点上执行以下命令:

    wget https://dl.min.io/server/minio/release/linux-amd64/minio
    chmod +x minio
    sudo mv minio /usr/local/bin/
    
  3. 配置集群参数

    创建 /etc/default/minio 文件,设置集群参数:

    sudo bash -c 'cat <<EOF > /etc/default/minio
    MINIO_ROOT_USER="admin"
    MINIO_ROOT_PASSWORD="ClusterSecurePass@123"
    MINIO_OPTS="--address :9000 --console-address :9001"
    MINIO_VOLUMES="http://minio-node{1..4}/data/minio{1..4}"
    EOF'
    
  4. 创建Systemd服务

    在所有节点上创建相同的 Systemd 服务文件:

    sudo bash -c 'cat <<EOF > /etc/systemd/system/minio.service
    [Unit]
    Description=MinIO Cluster Node
    After=network.target
    
    [Service]
    User=root
    Group=root
    EnvironmentFile=/etc/default/minio
    ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
    Restart=always
    RestartSec=5s
    LimitNOFILE=65536
    
    [Install]
    WantedBy=multi-user.target
    EOF'
    
  5. 启动集群

    在所有节点上依次执行以下命令:

    sudo systemctl daemon-reload
    sudo systemctl enable --now minio
    
  6. 验证节点状态

    在任意一个节点上执行以下命令查看集群健康状态:

    curl http://localhost:9000/minio/cluster/nodes
    

    输出示例:

    ● 4 Online, 0 Offline.
    ┌─────┬──────────────────────┬──────────────────────────────────────┐
    │ # │ Endpoint │ Status │
    ├─────┼──────────────────────┼──────────────────────────────────────┤
    │ 1 │ http://minio-node1 │ Online (4 drives, 16 TB each) │
    │ 2 │ http://minio-node2 │ Online (4 drives, 16 TB each) │
    │ 3 │ http://minio-node3 │ Online (4 drives, 16 TB each) │
    │ 4 │ http://minio-node4 │ Online (4 drives, 16 TB each) │
    └─────┴──────────────────────┴──────────────────────────────────────┘
    
  7. 上传测试文件

    创建存储桶并上传大文件验证分片:

    mc mb myminio/cluster-bucket
    mc cp 10GB-file.bin myminio/cluster-bucket
    

通过以上步骤,您可以在Linux上成功安装并运行MinIO服务器。根据您的需求选择单节点单硬盘或多节点多磁盘的部署方式。

0
看了该问题的人还看了