天天看点

Linux命令行部署管理minio多节点服务器

作者:Sys浆糊

我先认输了,暂时还没办法用docker部署minio多节点,先用命令行部署先。

首先,部署minio多节点服务

因为我用我的虚拟机做实验环境,所以没有配置域名和硬盘,直接建目录测试。

虚拟机IP:

  • 192.168.3.28
  • 192.168.3.166
  • 192.168.3.221

每台服务器上建2目录:

  • /data/data1
  • /data/data2

然后运行minio程序

export MINIO_ROOT_USER=minio_admin
export MINIO_ROOT_PASSWORD=minio_admin_password
./minio server \
        http://192.168.3.28:9000/data/data1 \
        http://192.168.3.28:9000/data/data2 \
        http://192.168.3.166:9000/data/data1 \
        http://192.168.3.166:9000/data/data2 \
        http://192.168.3.221:9000/data/data1 \
        http://192.168.3.221:9000/data/data2 \
   --console-address ":9001" \
   --address ":9000"           

在每一台服务器上执行以上命令后,日志开始有报错。

配置mc连接

mc config host add nodes http://192.168.3.28:9000           

输入用户密码后连接成功。

然后可以执行以下命令看最终结果:

mc admin info nodes           

192.168.3.166:9000

Uptime: 31 minutes

Version: 2023-03-24T21:41:23Z

Network: 3/3 OK

Drives: 2/2 OK

Pool: 1

● 192.168.3.221:9000

Uptime: 33 minutes

Version: 2023-03-24T21:41:23Z

Network: 3/3 OK

Drives: 2/2 OK

Pool: 1

● 192.168.3.28:9000

Uptime: 33 minutes

Version: 2023-03-24T21:41:23Z

Network: 3/3 OK

Drives: 2/2 OK

Pool: 1

Pools:

1st, Erasure sets: 1, Drives per erasure set: 6

6 drives online, 0 drives offline

从以上信息可以看到部署成功,网络和硬盘都ok。

在集群上创建Bucket

上一步已经创建了主机连接,然后我们通过这个主机连接创建一个桶Bucket

mc mb nodes/mycloud           

创建成功后创建用户

mc admin user add nodes
 mc admin user info nodes mycloud
        AccessKey: mycloud
        Status: enabled
        PolicyName:
        MemberOf:           

为这个用户创建策略可以连接桶mycloud

mc admin policy create nodes mycloud ./mycloud.json           

mycloud.json就是让用户对桶mycloud有增删改的权限,内容如下:

{
  "Version": "2012-10-17",
  "Statement": [
   {
    "Effect": "Allow",
    "Action": [
     "s3:GetObject",
     "s3:GetBucketLocation",
     "s3:ListBucket",
     "s3:PutObject",
     "s3:DeleteObject"
    ],
    "Resource": [
     "arn:aws:s3:::mycloud/*"
    ]
   }
  ]
 }
           

将权限mycloud授权给用户mycloud:

mc admin policy attach nodes mycloud --user mycloud
Policy `mycloud` successfully attached to user `mycloud`           

授权成功后配置mycloud的主机连接

mc config host create mycloud http://192.168.3.28:9000           

测试往mycloud上传下载文件:

mc cp 2.PNG mycloud/mycloud
mc ls mycloud/mycloud           

结果是上传成功:

Linux命令行部署管理minio多节点服务器

再把它下载下来看

mc cp 2.PNG mycloud/mycloud           

下载成功:

Linux命令行部署管理minio多节点服务器

也可以把它删除

mc rm mycloud/mycloud/2.PNG           

总结

minio多节点多盘(MultiNodesMulitDrives)部署通过minio程序直接运行比较简单,而且可以严格控制权限,无需使用root权限执行,相对比较安全,其他使用起来跟单节点差不多。

下一步我们要实验的是在docker上部署NextCloud云盘,然后把云盘放在minio上,敬请期待!

继续阅读