我先認輸了,暫時還沒辦法用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
結果是上傳成功:
再把它下載下傳下來看
mc cp 2.PNG mycloud/mycloud
下載下傳成功:
也可以把它删除
mc rm mycloud/mycloud/2.PNG
總結
minio多節點多盤(MultiNodesMulitDrives)部署通過minio程式直接運作比較簡單,而且可以嚴格控制權限,無需使用root權限執行,相對比較安全,其他使用起來跟單節點差不多。
下一步我們要實驗的是在docker上部署NextCloud雲盤,然後把雲盤放在minio上,敬請期待!