12. ClustrixDB 为容错和可用性分配磁盘空间
集群必须包含足够的空闲磁盘空间,以便从节点或区域故障中自动恢复。要计算在发生故障后仍然允许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 为容错和可用性分配磁盘空间的更多相关文章
- 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(三)重新分配磁盘空间(可选)
一.查看文件系统 [root@master ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_master-lv_ ...
- 无法为数据库 XXX 中的对象XXX 分配空间,因为 'PRIMARY' 文件组已满。请删除不需要的文件、删除文件组中的对象、将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘空间。
无法为数据库 XXX 中的对象XXX 分配空间,因为 'PRIMARY' 文件组已满.请删除不需要的文件.删除文件组中的对象.将其他文件添加到文件组或为文件组中的现有文件启用自动增长,以便增加可用磁盘 ...
- win7/win10 未分配磁盘怎样创建扩展分区 也就是逻辑分区(转截)
我们有时候用windows7的磁盘管理工具对windows7系统分区管理的时候,我们可能会不小心把我们的电脑硬盘扩展分区都删除了,扩展分区变为了未分配的空间,这时候如果我们新建分区的话,建立的都是主分 ...
- 2019.12.04 Java中的内存分配
Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识.一般 ...
- C++ primer plus读书笔记——第12章 类和动态内存分配
第12章 类和动态内存分配 1. 静态数据成员在类声明中声明,在包含类方法的文件中初始化.初始化时使用作用域运算符来指出静态成员所属的类.但如果静态成员是整形或枚举型const,则可以在类声明中初始化 ...
- SQL Server 磁盘空间告急(磁盘扩容)转载
一.背景 在线上系统中,如果我们发现存放数据库文件的磁盘空间不够,我们应该怎么办呢?新买一个硬盘挂载上去可以嘛?(linux下可以直接挂载硬盘进行扩容),但是我们的SQL Server是运行在Wind ...
- VMware扩展Linux根目录磁盘空间(Centos版本)
1.Centos 关机,选择编辑虚拟机设置,硬盘,在实用工具那里选择“扩展”,指定你需要的存储大小 2.启动客户机操作系统Centos,查看磁盘情况 输入指令 fdisk -l 显示结果如下 Disk ...
- Centos7扩展磁盘空间(LVM管理)
vmware或hyperv,扩容磁盘,本例中使用的是vmware,关闭系统,在vmware—>设置—>硬盘—>扩展—>输入数字大于当前系统内存—>点击扩展,如图: 1. ...
- Centos7 调整磁盘空间
1. 查看磁盘空间占用情况: df -h 可以看到 /home 有很多剩余空间, 而节点较少. 2. 备份 /home 下的内容: cp -r /home/ homebak/ 3. 关闭home进程 ...
随机推荐
- Unity中的动画系统和Timeline(4) AvatarMask和IK动画
AvatarMask(骨骼遮罩) 在前面角色动画的基础上,角色在奔跑过程中捡起一块木头,双手要抱着这块木头.如果使用前面的方法,直接切换动画,那么就只剩下抱木头的动画,其它动画就没了.这时我们要使用下 ...
- sklearn.preprocessing.StandardScaler数据标准化
原文链接:https://blog.csdn.net/weixin_39175124/article/details/79463993 数据在前处理的时候,经常会涉及到数据标准化.将现有的数据通过某种 ...
- 滚动翻页vue
<template> <div class="home"> <div style="height:100%; width:100%;&quo ...
- 解决SQLPLUS ??? 显示的临时办法
错误现象为: 解决命令 export NLS_LANG=american_america.zhs16gbk
- mybatis 批量操作 ------持续更新
mybatis 不存在则才进行添加 # 添加的 sql 语句insert into sys_link_post_user(post_id,user_id)# 进行批量添加 (若不需要可以取消 froe ...
- POJ - 2421 Constructing Roads(最小生成树&并查集
There are N villages, which are numbered from 1 to N, and you should build some roads such that ever ...
- chrome://inspect 白屏BUG解决方案
chrome://inspect 是前端常用的调试工具但是有时候会碰到PC端dev-tools白屏的问题 1.首先我们要处于[科][学]的网络环境 2.在 chrome 中输入chrome://app ...
- day16 常用模块 sys os json pickle
知识点 os:和操作系统相关sys:和解释器相关 json:和操作JSON(一种数据交换格式)相关pickle:序列化 hashlib:加密算法Collections:集合类型 ...
- 开发跨平台应用解决方案-uniapp 真心不错,支持一波
uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS.Android.微信小程序等多个平台. 用了mui,H5+一年多了,感觉dcloud 最近推出的 ...
- C#实现Web链接启动应用程序
C#实现Web链接启动应用程序 最近需要配合Web端实现用户点击链接来启动应用程序并且需要能够传参数给应用程序. 那么就可以使用注册表来实现这个功能 编写注册表可以在软件安装程序中加入,也可以在软件启 ...