什么是块存储?
分布式存储系统,为业务与数据在集群内漂移提供了自由保障,满足企业对于不受约束的系统环境要求。同时,平台仅保存迁移被改动的数据,而非整体增加数据量,实现增量备份。
魔方云块存储的功能:
什么是魔方云块存储?
魔方云块存储是供Kubernetes使用的分布式块存储系统。它轻量、可靠且使用方便。用户可以使用魔方云平台简单的部署,部署后将为平台提供持久卷的能力。
该块存储系统将为每个块存储设备卷创建一个存储控制器,并在集群内进行多副本备份。同时支持快照、备份。
该系统用CSI作为驱动程序给容器提供持久卷存储
原理
魔方云块存储通过storage-engine这一轻量级的块存储设备控制器(参考网络RAID控制器)将数据存到多个副本(由linux稀疏文件支持同时支持多磁盘的高效快照)
讲解:
1.每个块设备都有自己特定的控制器控制;
2.每个块设备都将映射在管理器容器下创建的特定路径/dev/bs/vol-name,并通过特定内核驱动(open-iscsi/tgt)将读写操作转换为特定的网络请求实现数据操作;
3.控制器接受到网络请求之后将会把操作同步到所有副本;
4.控制器还将负责维持一定健康数目的副本;
5.控制器同时负责操作快照和备份,包括创建删除;
功能
A.池化多个本地或网络存储,并供特定的服务使用;
B.将所有存储卷微服务化,同时配备各自的控制器;
C.控制器控制副本,健康、创建、删除、副本数;
D.可以创建快照及备份(NFS/S3/OSS);
E.备份计划及快照计划;
性能对比
测试环境说明
3)测试工具及配置
fio 是一个专业的磁盘性能测试工具,本次测试使用该工具版本为2.2.10。
主要配置项如下:
具体测试示例:sudo fio -direct=1 -thread -size=1G -runtime=100 -group_reporting -name=test -numjobs=1 -filename=/dev/vdb -bs=4k -rw=randrw –output=vdb-1_Rrw_1-4.txt
数据对比
魔方云块存储操作使用
一. 部署:
在块存储部署界面如下图,可以配置默认副本数、备份设置及存储空间预留相关。
二.动态申请使用:
部署成功之后,可以看见存储类下面有storagebs这个存储类,在创建有状态应用时可以选择该存储类,以下做为实例;
b)添加卷,如下选择存储类模版,选择存储类storagebs
三.静态申请使用:
c)部署服务,选择添加卷–>选择现有pvc–>选择之前创建的pvc
d)等待服务正常
四.备份恢复:
确认配置了备份路径OSS/NFS/S3/后可以点击特定卷,在特定卷下可以进入操作,添加备份计划(备份或快照):
五.故障恢复
现在以wordpress为例子,使用魔方云块存储作为存储,看下图:
1)首先确认测试时间一致;
2)再确认wordpress的服务正常;
3)此时删除wordpress的pod模拟pod意外退出的故障,可以看到服务出现以一段时间的停止;
4)待pod在节点被拉起后,wordpress又恢复了正常
六.魔方云块存储稳定性
使用魔方云块存储作为mysql的数据存储并进行稳定性测试;
测试环境如下:
三副本,每秒写入插入数据10条;
每一小时随机删除一副本控制器(会导致副本失效);
查询插入数据是否一致;
经过数十小时,几十次的删除测试三百多万条插入,未有一次失败。