在Winodws平台,动态磁盘的支持起于Windows 2000。在一些本地IT环境或者自有机房,当业务增加而有了扩盘的需求时,没有办法像阿里云一样便捷扩容,可能会需要购置额外的存储、并将磁盘合并成一块跨区盘或者条带盘的场景来达到增加一个分区容量的目的,这种方式从Windows平台上是支持的,那么,在阿里云ECS上,我们是否需要使用Windows平台上的这种用法。
重要的事情说三遍,在进行扩容操作前,请对数据做好快照或者备份,请对数据做好快照或者备份,请对数据做好快照或者备份!
先做一些动态磁盘的讨论。跨区卷和条带卷的最大区别在于,跨区卷支持不同大小的数据盘进行合并,而条带卷只能支持相同大小的数据盘进行合并。对于条带卷,如果两块合并磁盘的大小不一,多于部分的磁盘会被划出磁盘并显示“未分配”状态。
条带卷
跨区卷
而且对于这种类型的动态磁盘,我们千万不能随意删除这整个动态磁盘的任意部分,因为这个操作会删除整块动态磁盘并初始为“未分配”状态。对于动态磁盘的更多描述可阅读下面的微软官方文档。
https://technet.microsoft.com/pt-pt/library/cc737048(v=ws.10).aspx
我们回到ECS上,这台Windows虚拟机拥有一块系统盘和两块数据盘。这两块数据盘,我们做了“跨区卷”,所以在Windows里,这两块盘组成了一块动态磁盘并以一个盘符E来显示。
接下来进行扩容操作,将第一块35GB的高效云盘扩容到40GB,步骤不赘述。重启实例之后,我们能看到多出来的5GB容量。
右键动态磁盘,选择“增加卷”。
在向导里我们能看到Disk 2多出来的5GB未分配空间,选择并添加,一路下一步结束。
至此动态磁盘扩容完毕。
最后的一些思考,
跨区卷或者条带卷在阿里云ECS上的可能问题
动态磁盘是由两块甚至多块云盘组成,而快照是基于云盘的。假设如果我们在ECS业务还在运行的状态,对两块云盘进行快照,由于一个文件很有可能是跨两块盘的,那么这个文件的备份会存在于两个快照,更可怕的是,这两个快照对这个文件备份的时间戳很有可能是不一样的。那么当我有需要业务回溯的需求,将两块磁盘进行回滚操作,文件的两个不同时间戳的部分组成了一起,就会导致文件损坏或者丢失。正确的做法是,关闭业务,停止实例,确保无任何写操作于这两块云盘,再进行快照,这个操作非常不方便也不是ECS云盘快照的常规操作。
是否推荐使用非“简单卷”的动态磁盘?
不推荐。一块普通云盘的容量能达到2TB,如果对于初期创建的小容量云盘有扩容需求,其最大容量基本能满足大部分业务的需求。如果有更大的业务需求,高效云盘或者SSD云盘能达到32TB的容量。而且ECS云盘的扩容非常方便,单块云盘的快照操作,不会带来数据一致性等各种麻烦问题。如果在现有服务器上部署了跨区卷或者条带卷,可以考虑将数据拷贝到单独的云盘之上,然后删除原有动态磁盘,再将新的单一磁盘重命名为原有盘符,可以保证业务运行不受盘符变更影响。