什么是共享云硬盘?
共享云硬盘允许多个云主机并发访问同一个云硬盘,实现多个实例之间的数据共享和协作。对云硬盘的共享访问通常应用于数据集群应用系统、分布式文件系统和高可用性架构等场景。
一块共享云硬盘支持同时挂载到最多16台云主机,其中云主机包括弹性云主机和物理机两种,目前共享云硬盘只支持共享数据盘,不支持共享系统盘。
注意云硬盘的共享是需要建立在集群管理系统之上的,将云硬盘直接挂载至多台云主机或物理机是无法共享协作的,且存在数据覆盖风险。常见的集群管理系统如Windows MSCS集群和Veritas VCS集群等。
具体架构见图:
共享云硬盘的优点
- 多挂载点:单个共享云硬盘最多可同时挂载给16台云主机,既可以挂载至天翼云云主机,也可以挂载至天翼云物理机,灵活部署不同类型的工作负载。
- 高性能:高IOPS (Input/Output Operations Per Second),低时延,满足现代应用的需求。
共享云硬盘的规格性能
共享云硬盘的规格性能与普通云硬盘规格性能一致,详情请参见产品规格。
共享云硬盘的数据共享原理
共享云硬盘本质上就是将同一块云硬盘挂载到多台云主机上。由于每一台云主机均可以在任意时刻对该云硬盘任意区域的数据进行读写,如果这些云主机之间没有相互约定读写数据的规则,将会导致这些云主机读写数据时相互干扰,以致出现不可预知的错误。想要确保云主机在访问过程中不互相干扰,确保读写次序和读写意义,必须通过一个集群来对读写进行集中管理与调度,因此用户在实际使用过程中务必确保自行部署集群系统,如企业应用中常见的Windows MSCS集群、Linux RHCS集群和CFS集群应用等。
如果使用共享云硬盘的过程中并没有通过集群进行管理,有可能导致以下问题:
- 读写冲突导致数据不一致
当两台弹性云主机同时挂载了同一块共享云硬盘却没有在一个集群系统中进行管理时,这两台云主机无法感知对方的具体存储空间是否已被使用,可能导致存储空间的重复分配,最终导致空间分配冲突使得数据出错的情况。 - 数据缓存导致数据不一致
当两台弹性云主机同时挂载了同一块共享云硬盘却没有在一个集群系统中进行管理时,其中一台假定为云主机A,另一台为云主机B,云主机A将读取来的数据记录在缓存区域中,云主机A上的其他进程读取数据时,可直接去读缓存区域的数据提高效率,而云主机B若修改了缓存区域的数据,云主机A是无法感知数据变化的,此时若继续读取缓存,则会导致读取的数据不一致情况。
除此之外,还可能会导致存储性能下降,读写速度变慢,响应时间延长等问题。
共享云硬盘的使用方法
- 登录天翼云云硬盘控制台,进行创建云硬盘的操作,直接在“创建云硬盘”页面中创建。
- 在“创建云硬盘”窗口中,在高级配置中,勾选共享盘勾选框,来创建支持共享的云硬盘。
- 创建成功后,在云硬盘列表中为刚创建的共享盘来选择弹性云主机实例或物理机实例并单击挂载,可将该云硬盘挂载至同一可用区的多台弹性云主机或物理机。
- 在多台云主机或物理机实例上构建共享文件系统或其他集群系统实现数据共享。