当前位置:网站首页>对象存储-分布式文件系统-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是原始区域的倍数即可。
边栏推荐
猜你喜欢
随机推荐
解决安装nbextensions后使用Jupyter Notebook时出现template_paths相关错误的问题
MySQL数据库(基础)
9、动态SQL
OpenCV获取和设置图像的平均亮度
处理List<Map<String, String>>类型
实际开发中左菜单自定义图标点击切换
Web Basics and Exercises for C1 Certification - My Study Notes
强制结束进程
C语言 -- 操作符详解
Swoole学习(二)
warning C4251: “std::vector&lt;_Ty&gt;”需要有 dll 接口由 class“Test”的客户端使用错误
EntityComponentSystemSamples学习笔记
7.16 Day22---MYSQL (Dao mode encapsulates JDBC)
php将多维数据保存进json文件
Several ways to heavy
通过&修改数组中的值
箭头函数的使用
Unity Visual Effect Graph入门与实践
8. Custom mapping resultMap
webrtc中的引用计框架