分享的是我们将网站从IDC机房迁移至云计算平台的实际经历,目前即将迁入阿里云,这次分享的是在正式迁移前两台云服务器出现的奇怪问题。
其中一台的故事是这样的:
找找看的后台服务(建索引,查找索引)很早就迁入阿里云的一台云服务器上,一直正常,Windows性能监视器中的Avg.Disk Read Queue Length在2左右。前几天,我们将它移到了另外一台云服务器上,找找看搜索速度变得很慢,在Windows性能监视器中监测到Avg.Disk Read Queue Length达到200多,竟然有百倍的差距。相同的程序,都是云服务器,却出现这么大的性能差距,而且速度慢的云服务器配置更好,我们拍脑袋就确定这台云服务器肯定有问题。
于是,我们向阿里云提交了工单,阿里云客服让我们停掉云服务器上面的应用,测试一下磁盘IO性能,如果磁盘确实存在问题,他们会把这台云服务器迁移至另外的集群上。而我们希望能先解决问题(把云服务器迁移至另外的集群),然后再测试磁盘IO性能;而阿里云客服希望先测试,确认有问题再迁移。于是,我们就用阿里云客服告诉我们的软件进行测试,开始的一个软件不支持云服务器(找不到硬盘);后来让我们用fio软件测试,由于对这个软件不熟悉,也没测试起来。我们准备另外安排时间研究一下这个软件,这个问题就这样搁置了。
另外一台的故事是这样的:
这台云服务器升级硬盘空间之后进行格式化时,一直显示正在格式化,等了很长时间也没反应,后来只能重启服务器,重新格式化,这次格式化成功。向阿里云反馈,得到的答复是当时这台云服务器的宿主机负载较大。之后,我们操作这台云服务器,总感觉反应有点迟钝,但也不知道问题出在哪。昨天,我们升级了这台云服务器的内存并进行重启(阿里云的云服务器升级内存或CPU都要重启,而且必须要通过管理控制台重启),竟然没启动起来,管理控制台显示状态为“启动中”,远程也连接不上。向阿里云提交工单,客服对这台云服务器进行了重启并成功启动起来。但操作时还是反应迟钝,出现两次这么大的问题,我们有些担心,不敢把它用于生产环境。于是,我们继续向阿里云提交工单,表示我们不敢继续使用这台云服务器;阿里云客服建议我们备份这台服务器上的数据,对系统盘和数据库进行重置。我们没听取这个建议。
两台加起来的故事:
我们冷静分析了一下这两台云服务器的故事。已经购买了13台云服务器,只有这2台出现了问题,而且这两台是最近购买的。又一查,这两台是同一天购买的,而且分配的IP很相近。很有可能是这两台云服务器在同一个集群上(云服务器是运行于集群上的虚拟机,而云服务商一般会有多个集群,这样可以分而治之),问题可能是因为这个集群的负载很高。
我们通过工单向阿里云提交了这个想法,然后接到阿里云客服的电话,说可以帮我们迁移到另一个集群上,需要我们先停运这两台云服务器。迁移大约15分钟。(我们猜测这个迁移也就是把虚拟机文件从一个地方复制到另一个地方,然后启动虚拟机)
我们停运这两台云服务器后,通知阿里云客服,5分钟不到就完成了迁移。迁移之后,那台反应迟钝的云服务器立即正常了。经过一段时间的观察,跑找找看后台服务的云服务器磁盘IO也正常了,Windows性能监视器中的Avg.Disk Read Queue Length保持在2左右。问题解决!
在迁移前遇到这样的问题的确让人担心,但是对于云计算如此复杂的平台,问题在所难免,只要弄清问题的真正原因并有相应的解决方法,就不是问题。另外,我们也希望出现问题时,云服务商首先应该考虑的是怎么让客户的服务器尽快恢复正常,然后再测试问题所在。