当前位置:网站首页>对象存储-分布式文件系统-MinIO-2:服务端部署
对象存储-分布式文件系统-MinIO-2:服务端部署
2022-08-04 05:26:00 【focus_lyh】
前置准备工作
关闭 Firewalld、SeLinux、NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
一、单机部署
1.1 传统部署
# 下载二进制软件包
wget https://dl.min.io/server/minio/release/darwin-amd64/minio
# 授权
chmod +x minio
# 配置凭证
export MINIO_ROOT_USER=admin
export MINIO_ROOT_PASSWORD=12345678
# 启动
./minio server --console-address ":50000" /data
1.2 容器化部署
mkdir -p ~/minio/data
docker run \
-p 9000:9000 \
-p 9001:9001 \
--name minio1 \
-v ~/minio/data:/data \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=12345678" \
quay.io/minio/minio server /data --console-address ":9001"
二、纠删码部署
2.1 传统部署
mkdir /data{
1..12}
minio server /data{
1...12}
2.2 容器化部署
mkdir /mnt/data{
1..8}
docker run \
-p 9000:9000 \
-p 9001:9001 \
--name minio \
-v /mnt/data1:/data1 \
-v /mnt/data2:/data2 \
-v /mnt/data3:/data3 \
-v /mnt/data4:/data4 \
-v /mnt/data5:/data5 \
-v /mnt/data6:/data6 \
-v /mnt/data7:/data7 \
-v /mnt/data8:/data8 \
quay.io/minio/minio server /data{
1...8} --console-address ":9001"
三、分布式集群部署
3.1 传统部署
实例1:8个节点,每节点1块盘,需要在8个节点上都运行下面的命令。
export MINIO_ACCESS_KEY=<ACCESS_KEY>
export MINIO_SECRET_KEY=<SECRET_KEY>
minio server http://192.168.1.11/export1 http://192.168.1.12/export2 \
http://192.168.1.13/export3 http://192.168.1.14/export4 \
http://192.168.1.15/export5 http://192.168.1.16/export6 \
http://192.168.1.17/export7 http://192.168.1.18/export8
实例2:4节点,每节点4块盘,需要在4个节点上都运行下面的命令。
export MINIO_ACCESS_KEY=<ACCESS_KEY>
export MINIO_SECRET_KEY=<SECRET_KEY>
minio server http://192.168.1.11/export1 http://192.168.1.11/export2 \
http://192.168.1.11/export3 http://192.168.1.11/export4 \
http://192.168.1.12/export1 http://192.168.1.12/export2 \
http://192.168.1.12/export3 http://192.168.1.12/export4 \
http://192.168.1.13/export1 http://192.168.1.13/export2 \
http://192.168.1.13/export3 http://192.168.1.13/export4 \
http://192.168.1.14/export1 http://192.168.1.14/export2 \
http://192.168.1.14/export3 http://192.168.1.14/export4
实例3:伪分布式集群,1节点,4块盘,4个进程。
export MINIO_ACCESS_KEY=admin
export MINIO_SECRET_KEY=[email protected]
minio server --address ":9001" --console-address ":50001" \
http://192.168.1.11:9001/mnt/data01 \
http://192.168.1.11:9002/mnt/data02 \
http://192.168.1.11:9003/mnt/data03 \
http://192.168.1.11:9004/mnt/data04
minio server --address ":9002" --console-address ":50002" \
http://192.168.1.11:9001/mnt/data01 \
http://192.168.1.11:9002/mnt/data02 \
http://192.168.1.11:9003/mnt/data03 \
http://192.168.1.11:9004/mnt/data04
minio server --address ":9003" --console-address ":50003" \
http://192.168.1.11:9001/mnt/data01 \
http://192.168.1.11:9002/mnt/data02 \
http://192.168.1.11:9003/mnt/data03 \
http://192.168.1.11:9004/mnt/data04
minio server --address ":9004" --console-address ":50004" \
http://192.168.1.11:9001/mnt/data01 \
http://192.168.1.11:9002/mnt/data02 \
http://192.168.1.11:9003/mnt/data03 \
http://192.168.1.11:9004/mnt/data04
3.2 扩展现有的分布式集群
例如我们是通过区的方式启动MinIO集群,命令行如下:
export MINIO_ACCESS_KEY=<ACCESS_KEY>
export MINIO_SECRET_KEY=<SECRET_KEY>
minio server http://host{
1...32}/export{
1...32}
MinIO支持通过命令,指定新的集群来扩展现有集群(纠删码模式),命令行如下:
export MINIO_ACCESS_KEY=<ACCESS_KEY>
export MINIO_SECRET_KEY=<SECRET_KEY>
minio server http://host{
1...32}/export{
1...32} http://host{
33...64}/export{
1...32}
现在整个集群就扩展了1024(=32*32)个磁盘,总磁盘变为2048个,新的对象上传请求会自动分配到最少使用的集群上。通过以上扩展策略,您就可以按需扩展您的集群。重新配置后重启集群,会立即在集群中生效,并对现有集群无影响。如上命令中,我们可以把原来的集群看做一个区,新增集群看做另一个区,新对象按每个区域中的可用空间比例放置在区域中。在每个区域内,基于确定性哈希算法确定位置。
说明: 您添加的每个区域必须具有与原始区域相同的磁盘数量(纠删码集)大小,以便维持相同的数据冗余SLA。 例如,第一个区有8个磁盘,您可以将集群扩展为16个、32个或1024个磁盘的区域,您只需确保部署的SLA是原始区域的倍数即可。
边栏推荐
猜你喜欢
随机推荐
再识关联容器
MySQL database (basic)
程序员也应了解的Unity粒子系统
Delphi-C端有趣的菜单操作界面设计
MySql数据恢复方法个人总结
代码重构:面向单元测试
Unity动画生成工具
力扣:96.不同的二叉搜索树
7.18 Day23----标记语言
4.2 Declarative Transaction Concept
es6 学习记录
关于C#的反射,你真的运用自如嘛?
编程Go:return、break、continue
EventBus源码分析
Programming hodgepodge (3)
12. Paging plugin
通过&修改数组中的值
Embedded system driver primary [3] - _IO model in character device driver foundation
C1认证之web基础知识及习题——我的学习笔记
webrtc中视频采集实现分析(一) 采集及图像处理接口封装