分享

从阿里云故障看如何搭建测试环境

 昵称57425964 2018-07-03


这个世界因为充满了各种意外才变得更加有趣,今天凌晨豪华的德国战车竟然被韩国拌翻了,2:0,这是一个让所有人跌破眼镜的比分。这也是足球让这么多人喜欢的一个重要原因吧。


同样让人感到意外的,还是一向以安全稳健著称的阿里云竟然宕机了。




宕机发生在昨天下午16:21分左右。今天早上0:54分,阿里发布了这次事故的报告。


以下为阿里云故障说明原文:

6 月 27 日下午,我们在运维上的一个操作失误,导致一些客户访问阿里云官网控制台和使用部分产品功能出现问题,引发了大量吐槽。故障于北京时间 2018 年 6 月 27 日16: 21 左右开始,16: 50 分开始陆续恢复。

经过紧急技术复盘,故障原因如下:

当天下午,工程师团队在上线一个自动化运维新功能中,执行了一项变更验证操作。这一功能在测试环境验证中并未发生问题,上线到自动化运维系统后,触发了一个未知代码bug,错误代码禁用了部分内部IP,导致部分产品访问链路不通。后续人工介入后,工程师团队快速定位问题进行了恢复。

受影响方位包括阿里云官网控制台,以及MQ、NAS、OSS等产品功能。对于这次故障,没有借口,我们不能也不该出现这样的失误!我们将认真复盘改进自动化运维技术和发布验证流程,敬畏每一行代码,敬畏每一份托付。



事故原因基本已经清楚,因为执行一个变更验证操作,该功能在测试环境中验证没有发生问题,上线后触发了一个未知代码bug,导致后续的问题出现。早上看到一篇文章说《阿里云的工程师要被祭天了?》,不可否认,出现这样的问题技术人员难辞其咎,或许真的会有技术人员被开除祭天。虽然做为一个技术人员我们都知道,这些意外很难避免,每天战战兢兢如履薄冰,但意外总是还会不期而至。


这件事情给我们的启示:


1、意外总会不期而至,这个并不是会不会发生的问题,而是什么时候发生的问题。

2、没有绝对的安全,做的再好的措施也难以避免意外的发生。

3、做好各种事件的应急预案和灾难恢复演练非常必要。

4、搭建一个靠谱的测试平台也很重要。


如何搭建一个靠谱的测试平台


就说更新测试这件事吧,我相信很多单位都遇到过,我去一些单位的时候经常跟信息中心的管理人员聊天,他们说他们的服务器很多时候是不打补丁的,就是因为担心因为打补丁导致系统崩溃,但不打又不安全,如何做好更新验证和测试验证是摆在管理人员面前一个比较头疼的问题。


搭建良好的测试环境是执行测试安全的前提,也是完成测试任务顺利完成的保证。测试环境大体可分为硬件环境和软件环境,硬件环境包括测试必须的PC机,服务器,设备,网线,分配器等硬件设备;软件环境包括数据库,操作系统,被测试软件,共存软件等;特殊条件下还要考虑网络环境,比如网络带宽,IP地址设置等。


1.搭建测试环境前,确定测试目的


 即是功能测试,稳定性测试,还是性能测试,测试目的不同,搭建测试环境时应注意的点也不同。

如果要进行软件功能测试,那么我们就不需要大量的数据,需要覆盖率高,测试数据要求尽量真实,这对硬件环境配置的好坏要求不是太苛刻,为提高覆盖率,就要配置不同的硬件环境。

如要进行性能测试,就需要大量的数据,测试数据应尽可能的达到符合实际的数据分配,这时可能需要大量的设备来给测试对象施加压力,要提前准备大量设备。

如果是进行补丁更新等系统级别的测试,那就要确保硬件和系统环境与之的要保持一致、操作系统版本、硬件平台、原有补丁情况、策略设置等。这个时候就要求搭建一个和原平台一模一样的测试平台。


2、选择合适的工具

如果是软件性能测试和功能测试,并不要求测试环境与原环境高度一致,我们可以参照原业务平台的操作系统和应用软件进行搭建即可,如果是进行系统补丁一类的测试,则要求与原平台保持高度一致,不然环境不一致很难保证实际上线的安全性。

一般我们建议在系统上线后进行镜像级备份,之后定时进行增量备份,因为如果只是单纯的文件级备份是无法还原和模拟原运行环境的。这样一则以确保运行环境的安全性,当原系统出现故障时可以快速恢复;二则也可以将镜像备份恢复到虚拟化或者别的硬件平台,然后在其中进行更新测试。如果测试无误再针其部署到正式系统中,即使正式部署出现问题也可以通过镜像快速还原到最近一次备份的状态,

在前几天我发的一篇文章《等保中对灾难恢复的要求》中也提到:系统部署完毕并正常运行后,做好所有服务器的灾难镜像及恢复演练工作。



镜像级备份往往要用到如Acronis、ghost、Drive Image等磁盘备份工具软件;这些工具软件,主要实现对磁盘文件的备份和还原功能。这些软件功能不同,有收费的、有免费的,有的可以支持增量级备份,有的只能做完整备份,有的可以在线备份,有的要求必须关机冷备,有的可以异机还原到不同的硬件平台,有的只能还原到本机或者同品牌同型号的机器。具体的差异我在这里就不方便多说了,以免有广告嫌疑,大家可以去下载测试一下。也可以私聊沟通。


3、测试流程

 


最后的话

做为一名网络管理人员要始终抱有一颗敬畏之心。

怀疑是一个安全人员优良品质,怀疑一切设备的安全可靠性,怀疑一切人员的身份真实性,怀疑一切手段的安全可用性,怀疑一切操作的意外可能性。

做最好的努力,做最坏的打算。

做为一名管理人员,要始终提高安全意识,多想一些万一,及时向领导汇报各种可能的网络风险(批不批是他的问题,但报不报就是你的问题了)。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多