|
双向镜像基础上创建嵌套复原卷
只适合2台服务器组成的直通存储,
为什么要使用嵌套复原卷
与经典的双向镜像复原不同,即使同时发生多个硬件故障,使用嵌套弹性的卷也可以保持联机和可访问状态。 例如,如果两个驱动器同时发生故障,或者如果一个服务器关闭而一个驱动器发生故障,则使用嵌套复原的卷将保持联机和可访问状态。 对于超聚合基础结构,这会增加应用和虚拟机的运行时间;对于文件服务器工作负载,这意味着用户可以不间断地访问其文件。
-------------------------------------------------------------
性能:
嵌套双向镜像卷等于是一个数据写入4份,所以写入时间增加,但数据更多一层保障,如果注重数据安全的,写入数据不是特别频繁的,可考虑此种方式
嵌套镜像加速奇偶校验 类似于raid5+raid1的方式,可用容量比嵌套双向镜像卷会更多,对于注重写入数据速度的,这个方式写入速度更好一点。
---------------------------------------------------------------------------------------------------------------
数据安全:
系统默认创建的双向镜像卷,只要单节点故障1个硬盘,该故障节点将无法使用。如果双节点同时各坏1个硬盘,数据无法还原。
---------------------------------------------------------------------------------------------------------------
使用嵌套复原,单节点故障1个硬盘或者双节点各故障1个硬盘,节点仅仅提示降级,节点能继续使用。但注意,如果单节点同时故障2个硬盘,不管什么方式,该故障节点服务器将停止不可使用。如果出现2个节点同时各坏2个硬盘,数据将会丢失无法复原!!
---------------------------------------------------------------------------------------------------------------
嵌套复原卷最大仅支持双节点各故障1个硬盘,极限故障是单节点硬盘全部损坏,剩余1个节点仅故障1个盘,如果超过这个值,数据将会丢失!!!
---------------------------------------------------------------------------------------------------------------
存储池尽量保持一个硬盘以上的容量不要分配,这样出现单硬盘故障的时候,s2d系统会自动启用未分配的容量用作数据平衡恢复,多一层数据安全的保障,冗余未分配的容量类似于传统的raid中的热备盘的,在这个过程中,未分配的容量或预留的冗余空间将被占用,导致可用容量减少。但存储池的总容量(即所有物理硬盘的总容量减去任何已知的固定预留空间)在故障最初阶段不会改变。一旦数据恢复完成,S2D会开始重新平衡数据分布,以优化性能和冗余。这可能包括从其他硬盘迁移数据到新加入的硬盘(如果更换了故障硬盘),以恢复初始的冗余水平和性能。
在S2D(Storage Spaces Direct)的场景下,当一个硬盘发生故障时,存储池的报告总容量通常不会立即减少,但可用容量会受到影响。这是因为S2D的设计允许它在遇到硬盘故障时自动利用冗余数据恢复受损的信息,从而保持数据的完整性和可用性。然而,这一过程会消耗存储池中的未分配空间或预留的冗余空间。
故障检测:S2D会检测到硬盘故障,并标记该磁盘为不可用。
数据恢复:S2D会开始从存储池中其他健康的硬盘上读取数据副本,将数据恢复到未分配的或预留的冗余空间中。
容量调整:在这个过程中,未分配的容量或预留的冗余空间将被占用,导致可用容量减少。但存储池的总容量(即所有物理硬盘的总容量减去任何已知的固定预留空间)在故障最初阶段不会改变。
重新平衡:一旦数据恢复完成,S2D会开始重新平衡数据分布,以优化性能和冗余。这可能包括从其他硬盘迁移数据到新加入的硬盘(如果更换了故障硬盘),以恢复初始的冗余水平和性能。
修复或替换故障硬盘:为了恢复存储池的全部容量和冗余,管理员应尽快更换故障硬盘。一旦新的硬盘被添加并初始化,S2D会自动将数据副本迁移到新硬盘上,从而恢复存储池的完整容量和冗余。
创建嵌套复原卷的方法
使用 New-Volume
cmdlet 创建新卷。
嵌套双向镜像
容量:
嵌套双向镜像写入所有内容的四个副本。 这意味着要存储 1 TB 的数据,需要 4 TB 的物理存储容量。 尽管其简单性很吸引人,但嵌套双向镜像的容量效率为 25%,是存储空间直通的 所有复原选项中最低的。
------------------------------------------------------------------------
若要使用嵌套双向镜像,请运行:
New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume01 -StorageTierFriendlyNames NestedMirrorOnHDD -StorageTierSizes 500GB
此处的500G根据自身的实际S2D容量进行选择,如果你存储池里是30T的可用虚拟硬盘,这里可设置为30000GB,
如果容量驱动器是固态硬盘 (SSD),则请将 -StorageTierFriendlyNames
更改为 *OnSSD
。
嵌套镜像加速奇偶校验
容量:
嵌套镜像加速奇偶校验可实现更高的容量效率,大约 35%-40%,这取决于两个因素:每个服务器中的容量驱动器数,以及为卷指定的镜像和奇偶校验组合。 此表提供了常见配置的查找:
每个服务器的容量驱动器数 | 10% 镜像 | 20% 镜像 | 30% 镜像 |
---|---|---|---|
4 | 35.7% | 34.1% | 32.6% |
5 | 37.7% | 35.7% | 33.9% |
6 | 39.1% | 36.8% | 34.7% |
7+ | 40.0% | 37.5% | 35.3% |
以下是完整数学示例。 假设我们在两个服务器中各有六个容量驱动器,并且我们要创建一个 100 GB 的卷,其中包含 10 GB 的镜像和 90 GB 的奇偶校验。 服务器本地双向镜像的效率为 50.0%,这意味着 10 GB 的镜像数据存储在每个服务器上需要 20 GB 空间。 镜像到两个服务器,其总占用空间为 40 GB。 在这种情况下,服务器本地单一奇偶校验的效率为 5/6 = 83.3%,这意味着 90 GB 的奇偶校验数据存储在每个服务器上需要 108 GB 空间。 镜像到两个服务器,其总占用空间为 216 GB。 因此,总占用空间为 [(10 GB / 50.0%) + (90 GB / 83.3%)] × 2 = 256 GB,总容量效率为 39.1%。
请注意,经典双向镜像(约 50%)和嵌套镜像加速奇偶校验(最高 40%)的容量效率差别不大。 根据要求,选择稍低的容量效率来显著提高存储可用性是非常值得的。 可以选择每个卷的复原,以便在同一群集中混合嵌套复原卷和经典双向镜像卷。
------------------------------------------------------------------------
若要使用嵌套镜像加速奇偶校验,请同时引用 NestedMirror
和 NestedParity
层模板并指定两个大小,分别用于卷的每个部分(镜像第一个,奇偶校验第二个)。 例如,若要创建 一个 500 GB 的卷,该卷是 20% 的嵌套双向镜像和 80% 嵌套奇偶校验,请运行:
New-Volume -StoragePoolFriendlyName S2D* -FriendlyName Volume02 -StorageTierFriendlyNames NestedMirrorOnHDD, NestedParityOnHDD -StorageTierSizes 100GB, 400GB
如果容量驱动器是固态硬盘 (SSD),则请将 -StorageTierFriendlyNames
更改为 *OnSSD
。
关于嵌套复原的详细说明的微软官方文档:
https://learn.microsoft.com/zh-cn/azure-stack/hci/concepts/nested-resiliency?toc=%2Fwindows-server%2Fstorage%2Ftoc.json