共享云硬盘笔记
共享云硬盘的数据共享原理
共享云硬盘本质上就是将同一块云硬盘挂载到多台云主机上。由于每一台云主机均可以在任意时刻对该云硬盘任意区域的数据进行读写,如果这些云主机之间没有相互约定读写数据的规则,将会导致这些云主机读写数据时相互干扰,以致出现不可预知的错误。想要确保云主机在访问过程中不互相干扰,确保读写次序和读写意义,必须通过一个集群来对读写进行集中管理与调度,因此用户在实际使用过程中务必确保自行部署集群系统,如企业应用中常见的Windows MSCS集群、Linux RHCS集群和CFS集群应用等。
如果使用共享云硬盘的过程中并没有通过集群进行管理,有可能导致以下问题:
- 读写冲突导致数据不一致
当两台弹性云主机同时挂载了同一块共享云硬盘却没有在一个集群系统中进行管理时,这两台云主机无法感知对方的具体存储空间是否已被使用,可能导致存储空间的重复分配,最终导致空间分配冲突使得数据出错的情况。 - 数据缓存导致数据不一致
当两台弹性云主机同时挂载了同一块共享云硬盘却没有在一个集群系统中进行管理时,其中一台假定为云主机A,另一台为云主机B,云主机A将读取来的数据记录在缓存区域中,云主机A上的其他进程读取数据时,可直接去读缓存区域的数据提高效率,而云主机B若修改了缓存区域的数据,云主机A是无法感知数据变化的,此时若继续读取缓存,则会导致读取的数据不一致情况。
除此之外,还可能会导致存储性能下降,读写速度变慢,响应时间延长等问题。