这些年来,云计算的概念非常火热,但是普通大众对云平台其实没有太清晰的概念,所以有很多厂商打着云计算的旗帜,对外提供所谓的云资源服务,其实说到底,就是用VMware或KVM等虚拟化技术虚拟出来的VPS(Virtual Private Server,虚拟专有服务器)。
从技术角度来看,云主机是分布式的。所以在稳定性、资源隔离、数据安全性方面都能得到保证。
我们以云硬盘举例,云硬盘通常采用三副本存储的方式,三副本之间采用数据强一致性原则,在三个副本都写入成功后才返回成功,从而保证无论从哪个副本读取的数据都是一致的。如果遇到硬件故障导致副本数据损坏,读取应用时会自动从其他副本中恢复数据来修复副本。
通常,云硬盘是在云主机实例与块存储集群之间通过内部网络连接和调度的。也就是说,云服务器本身的计算资源和存储资源是分离的,例如在计算资源因故损坏时,用户根本无需考虑过多,只需要云服务商为其更换计算资源即可。
然而VPS上的“云硬盘”通常是利用云主机虚拟资源池中附属的本地存储空间提供存储服务。这样一来,若由于虚拟母机的硬件(如CPU、硬盘、内存、网卡等)存在问题,则可能会导致这台母机上所有的虚拟机都遭殃。
发生在笔者身边的一个血淋淋的真实案例是,其公司在一个所谓“云平台”上购买了一台“云服务器”,由于机器硬盘存在问题,该“云厂商”在换硬盘时由于操作不当造成了所有数据丢失。
其实从这个案例中,我们可以看出,这就是单点问题。因为分布式的云平台一般采用三副本存储的方式,所以某台物理机硬件有问题根本不会造成用户数据丢失。