MDC和ZK问题汇总
MDC和ZK问题汇总
1、 Zk盘是可以选择的?几个场景下如何选择?即选择的原则是什么?有什么要求?
A:虚拟化基础设施场景下必须使用ZK盘,ZK盘默认配置为12槽,数据库基础设施场景主存用SSD卡时只能使用ZK分区,云平台场景可以用zk盘也可以用zk分区(节点数量必须比小于5),zk盘的槽位号是可以选择的,但选择时需注意zk盘不能切断数据盘的槽位,即zk盘应该选择除操作系统盘/管理虚拟机的数据盘外的第一个槽位或最后一个槽位的盘。
2、 Q:什么场景下配置zk磁盘,什么场景下配置zk分区?
A:基础设施虚拟化场景下,均配置单独的ZK磁盘
数据库场景下ZK和操作系统盘合布,配置zk分区
FusionSphere+FusionStorage场景下,3台做管理时,配置zk磁盘,与E9000场景相同;5台做管理集群时配置zk分区,2台安装管理虚拟机,另外3台安装zk
使用ZK分区时的注意事项:使用ZK分区时是在用于安装操作系统的RAID盘上起一个分区给ZK使用,而管理虚拟机使用的本地存储同样是在这个RAID盘上起一个分区使用,而且本地存储的分区会将RAID盘上剩余的空间全部占用完,zk的分区会和本地存储的分区冲突,因此已经部署了管理虚拟机的MCNA节点是不可以起zk分区的,如果想要使用分区的方式部署zk,需要将ZK部署在非MCNA节点上。而且部署了ZK的节点上禁止再创建本地存储,用本地存储创建虚拟机。
3、 Q:ZK和MDC的作用?Zk盘的作用是什么?ZK进程的作用?
ZK的全称为Zookeeper,是个开源软件, 3个zk和3个MDC构成了FusionStorage中的管理集群,管理VBS和OSD的心跳、视图信息,并将视图信息保存在zk盘/分区中。
Zk盘/分区是用来存放FusionStorage的管理进程的元数据的,所有的OSD view,IO view,partition view等信息都存放在这里,且在其他模块的视图和ZK中保存的视图不一致的情况下以zk盘存放的元数据的内容为准。ZK是MDC的server端,MDC的抢主机制是通过ZK来实现的,另外ZK还保存MDC的元数据信息,且MDC启动时读取元数据也是通过zk来读取的。

4、 为什么MDC需要三个?zk磁盘需要三个?目前就支持有几种?
A: MDC是ZK的client端,和zk一一对应,是部署在OS上的两个进程,zk的机制决定了zk的个数是奇数个时性能最优,一般为3个或5个,由集群的大小决定(即管理的OSD的数量),就目前FusionStorage的集群来看,3个MDC已经足够,因此除非特殊场景,一般都配置3个mdc和zk。
5、 Q:FusionStorage集群,每个存储集群是否规划单独的MDC和ZK盘?
A:每个FusionStorage的集群都是独立存在的,都需要有自己的MDC集群,和对应的ZK盘或ZK分区。
6、 Q:FusionStorage MDC集群在一个MDC节点故障、两个MDC节点故障及三个MDC节点都故障的情况下,分别对系统及数据读写有何影响,是否会丢失数据?
A:超过半数以上的zk挂掉时,zk集群不能正常工作,那么MDC集群也不能正常工作
Zk集群正常工作的情况下,只要有一个MDC是好的,并能和ZK集群正常通信,集群就能够正常工作
MDC和zk集群不在I/O流程内,所以没有OSD发生故障时,不影响I/O;但是MDC负责管理I/O View,MDC集群如果不能正常工作,那么就不能处理视图变更,因此如果在MDC集群故障期间有新的OSD发生故障,I/O就会因为不知道那些OSD已故障而继续往这些OSD里面写数据,此时I/O就会卡死,MDC集群恢复后I/O就可以恢复,数据也不会丢失。

浙公网安备 33010602011771号