生产环境部署建议

部署环境要求

服务 规格 测试环境 生产环境
udbto-master CPU >=4C >=8C
内存 >=4G >=16G
操作系统 Centos 7 或 Kylin 10 Centos 7 或 Kylin 10
硬件平台 X86 64位 或 ARM 64位 X86 64位 或 ARM 64位
数量 3 3
udbto-datanode CPU >=4C >=4C
内存 >=4G >=8G
操作系统 Centos 7 或 Kylin 10 Centos 7 或 Kylin 10
硬件平台 X86 64位 或 ARM 64位 X86 64位 或 ARM 64位
硬盘容量 >=1TB >=2TB
硬盘类型 sata或ssd sata或ssd
文件系统 依赖内核的Punch Hole功能,xfs >=2.6.28 或 etx4 >=3.0 依赖内核的Punch Hole功能,xfs >=2.6.28 或 etx4 >=3.0
数量 >=3 3-1000
udbto-metanode CPU >=4C >=8C
内存 >=8G >=16G
操作系统 Centos 7 或 Kylin 10 Centos 7 或 Kylin 10
硬件平台 X86 64位 或 ARM 64位 X86 64位 或 ARM 64位
数量 >=3 3-1000

容量规划

用户需要预估在未来相当长的一段时间内,最高预期文件数量和存储容量。

其次还要对目前拥有的机器资源有清晰地了解。知道每台机器的内存大小、CPU核心数、磁盘容量。

如果您对以上数据了解清楚了,可以通过给出的经验参考值来看看自己的当前环境属于哪一种规模,能承载怎样的文件体量,或者需要针对当前文件体量需求应该准备多少资源,以防止频繁扩充机器资源。

文件总数量 文件总储量 集群总内存 集群总磁盘空间
10亿 10PB 2048 GB 10PB

提示:大文件占比越高,MetaNode 压力会越大。

为了加快元数据读取速度,元数据都放在内存中,而DataNode数据主要占用磁盘资源,如果希望最大化利用节点资源,可以采用DataNode和MetaNode在同一节点混合部署的方式。大文件占比越高,MetaNode压力会越大。

当然,如果目前的资源足够使用,不需要一次性满足容量增长需求。那么可以及时关注MetaNode/ DataNode的容量预警信息。

当内存或者磁盘即将使用完时,动态增加MetaNode/DataNode进行容量的调整。也就是说,如果发现磁盘空间不够了,可以增加磁盘或者增加DataNode,如果发现全部MetaNode内存过满,可以增加MetaNode来缓解内存压力。

多机房部署

如果希望集群支持机房容错性,可以部署跨机房的 UDBTO 集群。

同时需要注意以下几点:

  • 由于机房之间的通信延迟高于单机房,所以如果对于高可用的要求大于低延迟,可以选择跨机房部署方案。

  • 如果对性能要求更高,则建议单机房部署集群。

配置方案:在DataNode/MetaNode配置文件中修改zoneName参数,指定为所在机房名称,然后启动DataNode/MetaNode进程,则该机房会随着DataNode/MetaNode的注册而被Master存储并记录。

创建单机房volume:

udbto-cli volume create {name} --zone-name={zone}

为了防止单机房volume初始化失败,请保证单个机房的DataNode/MetaNode不少于3。

创建跨机房volume:

udbto-cli volume create {name} --cross-zone=true