集群必须包含足够的空闲磁盘空间,以便从节点或区域故障中自动恢复。要计算在发生故障后仍然允许ClustrixDB完全重新保护数据的情况下可以使用的最大磁盘空间量,可以使用以下公式:

最大磁盘利用率% = (总节点- k) *  / 总节点

在上式中,k表示下列任意一种(以较大的为准):

  • max_failure全局变量的值(默认值为1)
  • 区域中的节点总数(如果整个区域失败)。有关ClustrixDB如何在专区中工作的更多信息,请参阅专区。

如果在节点或区域发生故障后,集群中没有足够的空闲空间来重新保护数据,那么如果另一个节点或区域发生故障,集群将面临数据丢失或集群故障的风险。

80是databasefull_user_warn_percentage阈值的默认值。如果您的应用程序以一个充满集群的速率写入数据,那么在您的计算中使用一个小于80%的值。这将确保在等待替换节点加入集群并完成数据重分发时,可以继续写入数据

要配置databasefull_user_warn_percentage阈值和其他与数据库空间利用率相关的阈值,请参阅管理文件空间和数据库容量。

例子

使用这个预计算阈值的示例图,max_failure = 1的9节点集群(未部署在区域中)将要求数据库不超过71.11%的容量,以确保在节点故障时成功完成重新保护操作。

一个类似的9节点集群被部署在3个区域(每个区域有3个节点),需要不超过53.33%的集群空间来确保在区域故障时成功完成重新保护操作。

k

Total Cluster Nodes

 

3

6

9

16

32

1

53.33%

66.67%

71.11%

75.00%

77.50%

2

*

53.33%

62.22%

70.00%

75.00%

3

* *

53.33%

65.00%

72.50%

4 * * 44.44% 60.00% 70.00%
5 * * * 55.00% 67.50%
 

* = 不适用,因为剩余的节点数不构成仲裁。

空间的警报

如果集群中的空闲空间低于在节点或区域故障时完全重新保护它所需的空间量,ClustrixDB将向数据库警报中配置的用户列表发送电子邮件警报。电子邮件将包括[警告]没有足够的空间进行重新保护,并提供所需空间的详细信息。

在clustrix.log中,同样的消息也会作为错误出现。

ERROR  (HY000): [] Not enough space to reprotect if another node is lost: 94.4255% usage (without softfailed nodes) is greater than max 80.0000%

您还可能在软故障或删除节点时遇到此消息。

12. ClustrixDB 为容错和可用性分配磁盘空间的更多相关文章

  1. 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(三)重新分配磁盘空间(可选)

    一.查看文件系统 [root@master ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_master-lv_ ...

  2. 无法为数据库 XXX 中的对象XXX 分配空间,因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。

    无法为数据库 XXX 中的对象XXX 分配空间,因为 'PRIMARY' 文件组已满.请删除不需要的文件.删除文件组中的对象.将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘 ...

  3. win7/win10 未分配磁盘怎样创建扩展分区 也就是逻辑分区(转截)

    我们有时候用windows7的磁盘管理工具对windows7系统分区管理的时候,我们可能会不小心把我们的电脑硬盘扩展分区都删除了,扩展分区变为了未分配的空间,这时候如果我们新建分区的话,建立的都是主分 ...

  4. 2019.12.04 Java中的内存分配

    Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识.一般 ...

  5. C++ primer plus读书笔记——第12章 类和动态内存分配

    第12章 类和动态内存分配 1. 静态数据成员在类声明中声明,在包含类方法的文件中初始化.初始化时使用作用域运算符来指出静态成员所属的类.但如果静态成员是整形或枚举型const,则可以在类声明中初始化 ...

  6. SQL Server 磁盘空间告急(磁盘扩容)转载

    一.背景 在线上系统中,如果我们发现存放数据库文件的磁盘空间不够,我们应该怎么办呢?新买一个硬盘挂载上去可以嘛?(linux下可以直接挂载硬盘进行扩容),但是我们的SQL Server是运行在Wind ...

  7. VMware扩展Linux根目录磁盘空间(Centos版本)

    1.Centos 关机,选择编辑虚拟机设置,硬盘,在实用工具那里选择“扩展”,指定你需要的存储大小 2.启动客户机操作系统Centos,查看磁盘情况 输入指令 fdisk -l 显示结果如下 Disk ...

  8. Centos7扩展磁盘空间(LVM管理)

    vmware或hyperv,扩容磁盘,本例中使用的是vmware,关闭系统,在vmware—>设置—>硬盘—>扩展—>输入数字大于当前系统内存—>点击扩展,如图: 1.  ...

  9. Centos7 调整磁盘空间

    1. 查看磁盘空间占用情况:  df -h 可以看到 /home 有很多剩余空间, 而节点较少. 2. 备份 /home 下的内容: cp -r /home/ homebak/ 3. 关闭home进程 ...

随机推荐

  1. 常用ARM指令

    常用ARM指令1:数据处理指令   mov mvn MOV(MOVE)指令可完成从另一个寄存器.被移位的寄存器或将一个立即数加载到目的寄存器 MOV R0,R1;R1的值传到R0 MOV R3,#3 ...

  2. http状态码 超详细

    100 Continue 这个临时响应表明,迄今为止的所有内容都是可行的,客户端应该继续请求,如果已经完成,则忽略它. 101 Switching Protocol 该代码是响应客户端的 Upgrad ...

  3. [ASP.NET] 数据绑定以及Container.DataItem的具体分析 [转]

    灵活的运用数据绑定操作        绑定到简单属性:<%#UserName%>        绑定到集合:<asp:ListBox id="ListBox1" ...

  4. /etc/sysctl.conf 控制内核相关配置文件

    /etc/sysctl.conf 用于控制内核相关的配置参数,而且它的内容全部是对应于 /proc/sys/ 这个目录的子目录及文件 [root@MongoDB ~]# ll /proc/sys to ...

  5. 2019JAVA第八次实验报告

    班级 计科二班 学号 20188442 姓名 吴怡君 完成时间 2019.11.1 评分等级 课程作业: 将奇数位小写字母改写为大写字母(用文件输出) 实验代码: package Domon7; im ...

  6. java期末考试

    水仙花数 package txt; public class shuixianhua { public static void main(String[] args) { // TODO Auto-g ...

  7. 【Linux 网络编程】数据在网络中传输过程(以ping命令为例)

    (1)应用程序ping会判断发送的是主机名还是IP地址,调用函数gethostbyname()解析主机B,将主机转换为一个32位的    IP地址.这个过程叫做DNS域名解析. (2)ping程序向目 ...

  8. ORACLE 使用通配符进行字符串截取

    ORACLE 使用通配符进行字符串截取 select regexp_substr('aa--a(1-23),b---b(32---1)','[^(,)]+',1,1) as col1, regexp_ ...

  9. 084、Prometheus 到底NB在哪里?(2019-05-06 周一)

    参考https://www.cnblogs.com/CloudMan6/p/7709970.html   本节学习Prometheus的核心,多维数据模型   比如要监控容器 webapp1 的内存使 ...

  10. Input常用的输入框验证(正则)

    1.只是不能输入空格 <input type="text" οnkeyup="this.value=this.value.replace(/^ +| +$/g,'' ...