cubefs/docs-zh/source/deploy/env.md
tangzhixiang 03599b67bd docs: refator website docs
Signed-off-by: tangzhixiang <tangzhixiang@oppo.com>
2023-08-09 19:27:04 +08:00

2.8 KiB
Raw Blame History

生产环境部署建议

环境要求

下面的表格列举了性能测试环境和生产环境的系统及硬件要求,您也可以参考容量规划章节,根据您的集群实际容量规划来精确订制部署方案。

::: warning 注意 由于DataNode使用了Linux内核的Punch Hole功能因此需要根据DataNode的文件系统选择对应的内核版本 :::

文件系统 内核版本要求
XFS >=2.6.38
ext4 >=3.0
Btrfs >=3.7
tmpfs(5) >=3.5
gfs2(5) >=4.16

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

容量规划

首先你要预估集群在未来相当长的一段时间内,最高预期文件数量和存储容量。

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

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

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

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

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

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

多机房部署

如果你希望集群需要支持机房容错性可以部署跨机房的CubeFS集群。

同时需要注意一下几点:

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

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

创建单机房volume

$ cfs-cli volume create {name} --zone-name={zone}

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

创建跨机房volume

$ cfs-cli volume create {name} --cross-zone=true