天翼云云硬盘的磁盘模式及共享盘
在创建天翼云云硬盘的时候,除了选择存储类型为普通 IO、高 IO 以及超高 IO 三种类型外(见如何选择天翼云云硬盘一文),还可以选择磁盘模式以及选择是否为共享盘。这到底又是什么意思呢,今天就来聊一聊这个问题。
一、共享盘
先来说说共享盘。
我们把一个云硬盘打比为一个有很多储物格的储物间,储物间装了锁需要有钥匙才能打开使用。把云硬盘挂载到一台云主机上使用,就好像给这台云主机配了一把钥匙,允许这台云主机使用钥匙打开储物间存放东西。如果有几个人都想用这个储物间存放东西,就需要配多把钥匙,就好像多台云主机都要读写同一块云硬盘。
允不允许多台云主机挂载这块云硬盘,就取决于云硬盘的共享属性。云硬盘的共享盘属性设置为不共享,则这块云硬盘只允许挂载给一台云主机使用,就好像这个储物间只允许配一把钥匙;云硬盘的共享盘属性设置为共享,则这块云硬盘允许挂载给多台云主机使用,就好像储物间允许配多把钥匙,给几个人共同使用。
一块共享盘挂载给多台云主机后,这几台云主机都会识别到这块云硬盘,但在使用上却不能像普通的云硬盘一样随心所欲想存就存。这是因为这几台云主机并不知道有其它云主机也挂载了这块云硬盘,就好像储物间配了几把钥匙,但有钥匙的人不知道还有其它人也在用这个储物间。如果其中一台云主机按传统的方式挂载文件系统往共享云硬盘上写了数据,其它云主机是不知道的,也看不到这部分数据,其它云主机再往共享云硬盘上读写数据,就会造成共享盘的混乱。就好像一个人往储物间某个格子已经存了东西,其它人以为这个格子还是空的,再往里放就会放不了,会造成云硬盘数据丢失。
既然共享盘按传统的方式使用可能会造成数据丢失,那怎么解决呢?
有两种解决方法:
1、在这几台服务器上安装配置主备集群软件(如 RHCS、MSCS、Veritas VCS),由集群软件来管理共享磁盘,同时只允许一台服务器挂载共享盘读写。这就好像在储物间增加一个看门人,同时只允许一个人进储物间存放东西。
2、在这几台服务器上安装配置集群软件(如 Veritas CFS),由集群软件来管理共享磁盘,允许多台服务器同时读写共享磁盘。这就好像在储物间增加一个看门人,由看门人安排每个人去储物间存取指定的格子。
二、磁盘模式
接下来说说 VBD 和 SCSI 两种磁盘模式。
云硬盘根据是否支持高级的 SCSI 命令可分为 VBD(虚拟块存储设备 , Virtual Block Device)类型和 SCSI (小型计算机系统接口, Small Computer System Interface) 类型。
云硬盘的磁盘模式默认为 VBD 类型。VBD 类型的云硬盘只支持简单的 SCSI 读写命令。SCSI 类型的云硬盘支持 SCSI 指令透传,允许云主机的操作系统直接访问底层存储介质。除了简单的 SCSI 读写命令,SCSI 类型的云硬盘还可以支持更高级的 SCSI 命令。这就好像 VBD 类型的云硬盘只是一个普通的储物间,储物间里所有的格子的存取都一视同仁。而 SCSI 类型的云硬盘就好像储物间的小格子支持更高级的功能,比如可以在小格子上贴个小纸条说这个柜子虽然是空的,但我已经占了,其它朋友请不要用。
有些集群软件要求存储设备必须支持某些高级 SCSI 指令,因此使用这类集群软件时就必须使用 SCSI 类型的云硬盘。
三、使用场景及限制
共享云硬盘主要应用于创建服务器集群的关键应用场景(关于服务器集群可参考“天翼云虚拟IP地址及其在高可用集群中的应用”一文),比如 Oracle RAC、Windows MSCS 集群等。所以对于非集群应用,都不需要设置云硬盘为共享盘。
当前天翼云物理机只能挂载 SCSI 类型的云硬盘。RHCS 等主备集群软件可支持 VBD 类型的云硬盘,而微软 MSCS、Veritas CFS、Oracle RAC 集群都要求使用 SCSI 类型的云硬盘。因此具体使用什么类型的云硬盘需要根据具体的应用场景来决定。
推荐的应用场景见下表
最后,多台云主机或物理机挂载共享云硬盘后,请务必搭配集群软件管理使用共享磁盘,否则存在数据丢失的风险。
版权声明: 本文为 InfoQ 作者【天翼云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/39ba0b7417c43e10a4905620e】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论