用备份玩死proxmox超融合私有云集群
作者:田逸(sery@163.com)
刚躺下,就收到proxmox虚拟机集群报警的邮件,顺便瞧了一眼,发现问题。
磁盘空间满了,导致备份失败。仔细一看,备份目录为/var/lib/vz/dump,这个是本地文件系统的目录,但我以前设定的备份目录是外挂的nfs,空间大得很啊!
担心proxmox集群因系统根分区被塞满而影响整个集群的服务,毕竟所有的业务都从阿里云回迁到该超融合私有云集群上。赶紧爬起来,***拨号,登录到四个物理节点。执行指令:
root@pve10:~# ceph osd tree
半天没反应,其它几个机器皆然。大概等待了数分钟,输出提示连接超时。再从proxmox集群web管理界面查看,crush map 没有输出。
继续点菜单“监视器”,quorum列的值全部为否。
再点击管理界面下部任务日志信息,确实是备份错误所引起。
再双击错误信息,可看到更详细而有用的信息。
幸运的是,虽然ceph异常,但运行的其上的虚拟机及应用,居然还能正常访问,只是速度慢了很多。还好,凌晨没什么访问量了。先尝试删掉所有物理节点所有的备份,不管它们是不是被成功的备份。
root@pve10:/var/lib/vz/dump#rm -rf
root@pve10:/var/lib/vz/dump#rm -rf |
释放空间,以便ceph相关的服务能向根分区写入日志。其中ceph日志的默认路径为/var/log/ceph ,如果资金预算许可,建议单独用一个物理磁盘来存放ceph日志。即创建一个分区,挂接到目录/var。
删除备份文件以后,磁盘空间得以释放,然后电话询问其它人,这几天有没有人到管理后台去操作,并强烈建议把集群的管理权限收回来(非系统管理的技术人员有所有权限)。
通知完以后,再切换到宿主机系统查看ceph日志,主要是ceph.log及ceph-osd.log,发现输出已经没有报错信息。由此判断,故障已经排除。Proxmox web管理界面,选中某个物理节点,强制启动监视器。
启动后,“quorum”列的值由“否“变成”是“。
再点左侧菜单OSD,磁盘都出来了!
切换到宿主机系统debian,查看osd,也能正常工作了。
root@pve10:/var/log/ceph# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 34.92139 root default -3 8.73035 host pve10 0 hdd 2.18259 osd.0 up 1.00000 1.00000 1 hdd 2.18259 osd.1 up 1.00000 1.00000 2 hdd 2.18259 osd.2 up 1.00000 1.00000 3 hdd 2.18259 osd.3 up 1.00000 1.00000 -5 8.73035 host pve20 4 hdd 2.18259 osd.4 up 1.00000 1.00000 5 hdd 2.18259 osd.5 up 1.00000 1.00000 6 hdd 2.18259 osd.6 up 1.00000 1.00000 7 hdd 2.18259 osd.7 up 1.00000 1.00000 -7 8.73035 host pve30 8 hdd 2.18259 osd.8 up 1.00000 1.00000 9 hdd 2.18259 osd.9 up 1.00000 1.00000 10 hdd 2.18259 osd.10 up 1.00000 1.00000 11 hdd 2.18259 osd.11 up 1.00000 1.00000 -9 8.73035 host pve40 12 hdd 2.18259 osd.12 up 1.00000 1.00000 13 hdd 2.18259 osd.13 up 1.00000 1.00000 14 hdd 2.18259 osd.14 up 1.00000 1.00000 15 hdd 2.18259 osd.15 up 1.00000 1.00000
root@pve10:/var/log/ceph# ceph osd tree ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF -1 34.92139 root default -3 8.73035 host pve10 0 hdd 2.18259 osd.0 up 1.00000 1.00000 1 hdd 2.18259 osd.1 up 1.00000 1.00000 2 hdd 2.18259 osd.2 up 1.00000 1.00000 3 hdd 2.18259 osd.3 up 1.00000 1.00000 -5 8.73035 host pve20 4 hdd 2.18259 osd.4 up 1.00000 1.00000 5 hdd 2.18259 osd.5 up 1.00000 1.00000 6 hdd 2.18259 osd.6 up 1.00000 1.00000 7 hdd 2.18259 osd.7 up 1.00000 1.00000 -7 8.73035 host pve30 8 hdd 2.18259 osd.8 up 1.00000 1.00000 9 hdd 2.18259 osd.9 up 1.00000 1.00000 10 hdd 2.18259 osd.10 up 1.00000 1.00000 11 hdd 2.18259 osd.11 up 1.00000 1.00000 -9 8.73035 host pve40 12 hdd 2.18259 osd.12 up 1.00000 1.00000 13 hdd 2.18259 osd.13 up 1.00000 1.00000 14 hdd 2.18259 osd.14 up 1.00000 1.00000 15 hdd 2.18259 osd.15 up 1.00000 1.00000 |
假如通过删除备份释放空间不能恢复服务,最坏的打算,就是重建集群,从nfs备份中恢复了。这不会丢失数据,因为数据库不在此集群中。
最后,记得把备份目录改成nfs共享村存储,收回系统权限,以绝后患!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
诡异的druid链接池链接断开故障经验总结
背景 症状 排查 修复 背景 最近在陆续做机房升级相关工作,配合DBA对产线数据库链接方式做个调整,将原来直接链接读库的地址切换到统一的读负载均衡的代理 haproxy 上,方便机柜和服务器的搬迁。切换之后线上时不时的会发生 discard connection 错误,导致程序报 500 错误,但不是每次都必现的。 开发框架: spring boot+mybatis+druid+shardingJDBC网络架构: appserver->mysql(master) 写appserver->haproxy->mysql(slave)/n 读 第一反应肯定是因为这次的读库地址的变动引起的问题,觉得问题应该是 druid 链接池中的 connection 保活策略没起作用,只要做下配置修改应该就可以了。结果这个问题让我们排查了好几天,我们竟然踩到了千年难遇的深坑。 这个问题排查的很坎坷,一次次的吐血,最终我们定位到问题并且优雅的修复了,我们一起来体验下这个一次一次让你绝望一次一次打脸的过程。 症状 先说故障症状,经常出现如下错误: discard connectioncom....
- 下一篇
使用Event Grid + Teams实现Azure VM创建提醒
Azure Event Grid是一个托管事件路由平台,使我们能够实时响应Azure中托管的应用程序或拥有的任何Azure资源中发生的更改。Event Grid处理来自Azure服务的内置Azure事件以及来自应用程序的自定义事件,并实时发布它们。它可以每秒动态扩展和处理数百万个事件,Azure为生产工作负载提供99.99 SLA Event Grid收到事件后,可通过事件处理程序(如Azure自动化,事件中心,Azure功能,Azure逻辑应用程序或自定义Web挂钩)促进程序操作的触发。 准备Azure Runbook账户: 点击“新建”—“管理工具”—“自动化”: 输入“自动化账户名称”及”资源组名称”,如下图所示,点击创建: 创建完成如下图所示: 点击“模块”—“更新Azure模块”: 点击“是”: 点击“模块库”,搜索“AzureRM.Tags”,点击搜索结果: 点击“导入”: 导入成功,如下图所示: 将Event Grid导入Runbook 选择我们刚刚创建自动化账户,点击”Runbook”—“浏览库”: 搜索“Event grid”,然后点击“Integrating Azu...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8编译安装MySQL8.0.19
- CentOS7安装Docker,走上虚拟化容器引擎之路