本文基于Windows Server2022,理论上也支持win10和win11,演示代码使用2个SSD+2个HDD组raid
windows存储池的空间利用率可以媲美群晖SHR,合理的配置甚至可以超越
Windows自带模式以及不推荐的原因
简单卷:就是平常用的一个盘一个卷
跨区卷:把多个空闲磁盘合并为一个盘
带区卷:就是raid0,raid的磁盘空间大小必须一致
镜像卷:就是raid1
RAID-5卷:和名字一样,raid5
不推荐理由:系统的异常重启之类会导致重新同步(我就因为组了镜像卷踩坑了),一直占满了磁盘IO
存储模式介绍
windows存储池有3种模式
Simple:简单,就是JBOD,比如2块10G的,最后合成一个20G的,没有容错空间
Parity:奇偶校验,3块盘起步,可自由指定n块硬盘的容错(比如raid5就是允许1块盘的容错)
Mirror:镜像,又分为双向镜像和三向镜像,硬盘大小不需要一致
·双向镜像:就是raid1,允许1个盘损坏而数据不丢失
·三向镜像:3个盘进行raid1,允许2个盘损坏而数据不丢失
三向镜像存储模式类似如图
创建存储池
windows存储池下有存储层,存储层可以创建为虚拟磁盘,虚拟磁盘可创建磁盘卷进行使用
创建一个名为NAS的存储池,名字支持中文,如果不想起名NAS,下面参数里所有的的-StoragePoolFriendlyName后的NAS都改为你的存储池名称
网上教程很多,怎么创建我就不写了
创建存储层+虚拟磁盘
指令都是在PowerShell里执行,存储层一旦创建好,后期就无法更改了(比如存储模式、列数,允许损坏数),所以一定要提前规划好
常用参数介绍
下方指令会用到的参数解释,可根据个人情况调整
-StoragePoolFriendlyName:存储池的名称
-PhysicalDiskRedundancy:硬盘允许损坏的个数,不能随便填,一般填1就行,除非磁盘很多,可以填更高
-ResiliencySettingName:存储模式,填上面的Simple、Mirror、Parity中的一个
-ProvisioningType:磁盘类型,Fixed为固定,还有个动态扩展
-FriendlyName:存储层名称?本文不建议更改
-NumberOfColumns(重要):阵列列数,默认3,这个参数的填写决定了存储池的空间利用率。
-Interleave:交织值,比如在填写128KB+单奇偶校验+磁盘数3/5/9盘+磁盘大小一致时?,NTFS格式化时设置分配单元大小=交织值x(n-1),也就是256/512/1024KB。可最大化空间利用+写入性能
GUI界面是无法设置阵列列数和交织值的!
阵列列数如何填写
注:下文的硬盘数不包括SSD的数量,仅为HDD的数量
1、在硬盘大小相同的情况下