试验目的:理解Mirror如何在线扩容,初步学会使用存储空间功能
实验环境:虚拟机安装Windows 2012,额外加载 4个5GB 虚拟磁盘,2个11GB 虚拟磁盘
流程:
- 2个5GB组Mirror,建立磁盘,测试;
- 再加入2个5GB 在线扩容,再检查;
- 加入1个11GB,删除一个5GB,检查;
- 再加入1个11GB,删除一个5GB,在线扩容,检查。
为了介绍手动在线扩容,我没有选择精简模式(Thin),而是使用固定模式(Fixed)。 固定模式就是建立虚拟磁盘的时候在物理磁盘上划分同样大小的空间,精简模式就是预先设定一个超越现有可用容量的大容量值,而实际有写入才算,用多少算多少,物理磁盘不够用的时候会提示你,你加入新硬盘后他自动就扩容了,省去了一步。不过难以在实验中体现轻松扩容这个特点。
开始,
新建存储池pool,建完之后可以看到消耗了约2G空间,其中0.75G为每磁盘本身格式化消耗,再0.5G为保留空间。
在此基础上建立虚拟磁盘vdisk,mirror模式,即raid1,建完后可用空间3GB,保留空间1.5GB
将此虚拟磁盘格式化为大小为2.97GB的卷,分配驱动器号E:\
测试E盘性能,由于虚拟机环境,单一磁盘上做双写入,较低是可以理解的,如果两块物理磁盘,应该读写差距不大。
第一步完成后开始第二步加入新磁盘和扩容
在存储池中看到pool中的物理磁盘只有两个,右键再添加两个5GB磁盘,存储池可用空间增加。
给虚拟磁盘vdisk扩容,右键扩展虚拟磁盘,新大小多少呢?6GB?可以,3GB raid1 + 3GB raid1。但是,这里还能更多,可用空间为7GB+1.5GB保留 ,是的,Storage Space不是简单的ZFS那种raid10扩容,而是更加复杂的方式,类似LVM,要考虑前面的保留空间,他不再是简单的单盘镜像,而是4盘双向mirror,他是这样存储的。
那么如果是三向镜像,最少5盘Mirror,就会是下面这样
所以,Mirror是直接冗余的,没有校验数据。Parity才是传统的raid5,6。
扩展vdisk之后,再扩展分配的E:\ 盘
接下来就要想用大容量新盘替换旧盘扩容了。
再次给pool添加一个11GB硬盘,同时删除一个5GB硬盘,这时vdisk会报警
修复vdisk后,暂时没有做扩容,此时扩容容易产生逻辑误导,增加理解难度。
只有再做一次新盘替换旧盘,11GB的替换5GB的,最后在线扩容
能扩容最大空间为13GB + 1.50GB保留空间,为何会保留这么多,保留的1.5GB可用空间并不可用,搜索了很多次暂时没看到文章介绍底层机制,前面的7GB也是手动测试得出的结果,希望有识之士能提供资料解释这一问题。
以上操作时基于旧raid系统的使用经验来的,没有问题,同时这一切操作起来都很简单,mirror下性能也非常优秀,就是冗余空间消耗很多,保留空间的作用也没办法测试,底层结构不如ZFS清晰明了。高级管理看起来麻烦,真正使用时可以考虑用精简模式,让系统管理自动扩容。
灵活与安全,低成本与低使用门槛,也许是在硬盘容量持续加大、单位存储成本降低、但可靠性逐渐降低的时代,势必引入的一种手段了吧。Good Job!
如何用好Storage Space?
What are the best uses of simple, mirror, and parity spaces?
Storage Spaces offers simple spaces, mirror spaces, and parity spaces, each with unique characteristics.
- Simple spaces are designed for increased performance without increased resiliency. They are best suited for temporary data, such as video rendering files, image editor scratch files, and intermediary compiler object files.
- Mirror spaces are designed for increased performance and increased resiliency. Two-way mirror spaces can tolerate one disk failure and three-way mirror spaces can tolerate two disk failures. They are well suited to storing a broad range of data, from a general-purpose file share to a VHD library. When a mirror space is formatted with the Resilient File System (ReFS), Windows offers automatic data integrity maintenance. This is a layer of resiliency is above and beyond the resiliency achieved from maintaining multiple data copies to tolerate drive failure.
- Parity spaces are designed for capacity efficiency and increased resiliency. Parity spaces are best suited for archival data and streaming media, such as music and videos.
http://social.technet.microsoft.com/wiki/contents/articles/11382.storage-spaces-frequently-asked-questions-faq.aspx
最后是微软给的使用Storage Space的建议,重要数据选择Mirror,读写性能较好,支持ReFS格式等多种高级功能。视频音乐等多读少写的文件用Parity,保证可用性和提高可用容量。所以能区分冷热数据的时候,热数据放Mirror上,冷数据放Parity上能降低成本,而最为独特的功能就是,Storage Space的存储池是相互隔离,底层引入相互仲裁机制,可以在同一堆物理磁盘上使用多个不同的存储池,数据互不影响,离散分布在所有硬盘上,也就是说,你可以在新买了windows 8 PC或windows server 2012后,立刻对这堆硬盘建立两个存储池,一个mirror的存储池放常常修改注重写入性能的应用程序,一个parity的存储池放不常修改只看重读取性能的视频音频文件,容量不够用了就添加新硬盘,同时加入到这两个存储池,并在线扩容。PC性能落后了,CPU主板升级了你只需要将这堆硬盘接入新的windows PC系统,用Storage Space自动导入这两个存储池,数据就回来了。