目前,国内主流的云厂商如阿里云已经提供了丰富的块存储产品,包括基于分布式存储架构的云盘以及基于物理机本地硬盘的本地盘产品。
那么,云盘和本地盘究竟有什么区别,我们如何区分选型,以便更好地适配业务需求呢?
简要来说,云盘采用分布式三副本机制,具有低时延、高性能、持久性、高可靠等性能,可以随时创建或释放,也可以随时扩容。并且支持在可用区内自动复制数据,防止意外硬件故障导致的数据不可用,保护业务免于组件故障的威胁。
然而,尽管云盘基于云的弹性能力是显而易见的,一些大数据、重型数据库应用依然会选择本地盘实例,这是因为在成本、存储访问时延上,带本地盘的实例(例如i2、d1等)着较大的优势。
不过本地盘虽好,却并不是一个“万物皆可盘”的百搭选手,它的稳定使用有着较高的应用架构门槛。作为挂载在ECS实例物理机上的本地硬盘设备,本地盘能够为ECS实例提供本地存储访问能力,因此具备低时延、高随机IOPS、高吞吐量和高性价比的优势。但是正是因为本地的数据存储方式,本地盘的数据可靠性取决于物理服务器的可靠性,因而存在单点故障的风险,从而造成数据不可用。
所以一般来说,只有应用层已经具备高可用架构,且对存储I/O性能有极高要求的场景,比如OLTP、高性能关系数据库等比较适合选择本地盘实例。否则,就需要针对现有应用,做一些调整和优化,以提高业务的稳定性。接下来介绍加强本地盘数据可用性的两个重要操作。
一、备份本地盘
如果已经使用了本地盘,并且应用层没有数据可靠性的架构设计,那么数据备份的工作将必不可少,一般有下列两种方法进行数据备份。
• 方式一:使用混合云备份服务HBR(Hybrid Backup Recovery)
HBR是一种高效、安全、低成本的全托管式云备份存储服务。您可以使用HBR将企业数据中心的数据、分支机构数据,或云上资源备份到HBR的云上备份仓库。详情请参见什么是混合云备份。
• 方式二:搭建冗余架构
搭建多节点冗余数据架构,降低本盘故障带来的影响。可以购买云盘,并将本盘数据实时拷贝到云盘;或者,在其他可用区或地域购买ECS实例并部署应用作为灾备。
二、使用部署集提高可用性
为保证数据的可用性,建议在应用层做数据冗余。可以使用部署集将业务涉及到的几台ECS实例分散部署在不同的物理服务器上,从而降低某一本地盘损坏带来的影响,保证业务的高可用性和底层容灾能力。详情请参见创建部署集。
如果应用没有高可用架构,也不考虑进行上述操作,还是建议使用其他实例。同时,如果已经购买了带本地盘的实例,可以将该实例变更为带云盘的实例。这时就需要使用服务器迁移中心SMC(Server Migration Center),将本地盘实例的数据完整备份。
SMC可将单台或多台本地盘实例整体数据一键迁移到阿里云,生成镜像备份。在这个过程中,阿里云SMC支持不停机迁移,简单轻量且配置灵活,不影响业务的持续运营,下面这张图可以帮助我们直观地了解迁移流程。目前阿里云SMC因为更了解服务器系统规范,因此迁移安全稳定且成功率高。详情请参见服务器迁移中心SMC介绍。
除此之外,如果本地盘发生损坏,阿里云会触发系统事件,并及时发送通知、应对措施和事件周期等信息,帮助用户根据场景来进行运维工作,如下图所示。具体操作请参见本地盘实例系统事件。
选择适合自身业务的数据存储方式,可以大幅减少后续的运维成本,现在你了解云盘和本地盘应该怎么选型了吗?更多精彩内容前往本地盘最佳实践。