一个purge参数引发的惨案——从线上hbase数据被删事故说起
一个purge参数引发的惨案——从线上hbase数据被删事故说起 在写这篇blog前,我的心情久久不能平静,虽然明白运维工作如履薄冰,但没有料到这么一个细小的疏漏会带来如此严重的灾难。这是一起其他公司误用puppet参数引发的事故,但是这个参数我也曾被“坑过”。 先说说这起事故,在周二下午,安静了一天的某个技术交流群,突然有个惊慌失措的同学在群里说,他拿第三方的puppet hbase module来管理线上hbase集群,结果这个模块在管理数据文件夹时,使用了一个purge参数把几乎所有的线上数据都删完了。他已经和领导汇报了情 况,那边正在紧急讨论处理方案。他在做好打包走人的准备的同时,仍抱有一丝希望来询问我们有没有办法恢复数据,大家纷纷为他献计献策... 我就想起两年前,我第一次尝试使用puppet-apache模块管理apache服务,apache::init类中默认设置了purge_configs参数为True,导致我把apache目录下的所有vhost文件删掉了,万幸的是我是在开发环境发现了这个问题。 那么,我们来看看这个“邪恶”的purge参数是什么样子的: file {...