在 Azure Stack HCI 上将固定预配卷转换为精简预配卷
适用于:Azure Stack HCI 版本 22H2
本文介绍如何使用 Windows PowerShell 将现有的固定预配卷转换为 Azure Stack HCI 群集上内联的精简预配卷。
固定预配与精简预配
固定预配会在创建卷时从存储池中为该卷分配完整大小。 此方法效率不高,因为尽管卷是空的,但仍会消耗一部分存储池资源。
从固定预配卷转换为精简预配卷可将任何未使用的存储归还到池中,供其他卷使用。 在卷中添加或删除数据时,存储分配会相应地增大和减小。
使用 PowerShell 转换卷
使用 PowerShell 从固定预配转换为精简预配,如下所示:
以管理员身份运行 PowerShell。
检查卷的分配大小、大小和预配类型。
对于非分层卷,请运行以下命令:
Get-VirtualDisk -FriendlyName <volume_name> | FL AllocatedSize, Size, ProvisioningType
下面是上述命令的示例输出:
PS C:\> New-Volume -FriendlyName NonTierVol -Size 5TB -ProvisioningType Fixed DriveLetter FriendlyName FileSystemType DriveType HealthStatus OperationalStatus ----------- ------------ -------------- --------- ------------ ----------------- NonTierVol CSVFS_ReFS Fixed Healthy OK PS C:\> Get-VirtualDisk -FriendlyName NonTierVol | FL AllocatedSize, Size, ProvisioningType Allocated Size : 5497558138880 Size : 5497558138880 ProvisioningType : Fixed
对于分层卷,请运行以下命令:
Get-StorageTier -FriendlyName <volume_name*> | FL AllocatedSize, Size, ProvisioningType
下面是上述命令的示例输出:
PS C:\> Get-StorageTier -FriendlyName TierVol* | FL AllocatedSize, Size, ProvisioningType AllocatedSize : 80530636800 Size : 80530636800 ProvisioningType : Fixed AllocatedSize : 26843545600 Size : 26843545600 ProvisioningType : Fixed
从固定预配卷转换为精简预配卷,如下所示:
对于非分层卷,请运行以下命令:
Set-VirtualDisk -FriendlyName <volume_name> -ProvisioningType Thin
对于分层卷,请运行以下命令:
Get-StorageTier <volume_name*> | Set-StorageTier -ProvisioningType Thin
重新装载卷,使更改生效。 之所以需要重新装载,是因为复原文件系统 (ReFS) 仅在装载时识别预配类型。
对于单一服务器群集,请完成以下步骤。 工作负荷可能会遇到轻微的中断,建议在维护期间执行此操作。
获取群集共享卷 (CSV) 名称:
Get-ClusterSharedVolume
接下来,使卷脱机:
Stop-ClusterResource -Name <name>
下面是上述命令的示例输出:
PS C:\> Stop-ClusterResource -Name "Cluster Virtual Disk (TierVol)" Name State Node ---- ----- ---- Cluster Virtual Disk (TierVol) Offline NodeA
然后使卷重新联机:
Start-ClusterResource -Name <name>
对于双节点和更大的群集,请执行以下操作:
获取 CSV 名称和节点名称:
Get-ClusterSharedVolume
接下来,将 CSV 移动到另一个节点以重新装载卷:
Move-ClusterSharedVolume -Name <name> -Node <new_node>
下面是上述命令的示例输出:
PS C:\> Get-ClusterSharedVolume Name State Node ---- ----- ---- Cluster Virtual Disk (NonTierVol) Online NodeA Cluster Virtual Disk (TierVol) Online NodeB PS C:\> Move-ClusterSharedVolume -Name "Cluster Virtual Disk (TierVol)" -Node NodeA Name State Node ---- ----- ---- Cluster Virtual Disk (TierVol) Online NodeA
然后将 CSV 移回其原始节点:
Move-ClusterSharedVolume -Name <name> -Node <original_node>
(可选)从固定预配卷转换为精简预配卷后,会自然而然地不断回收空间。 若要加快此过程,请使用以下命令从该卷所在的节点运行 slab 合并:
Get-Volume -FriendlyName <name> | Optimize-Volume -SlabConsolidate
注意
默认情况下,slab 合并的运行优先级较低。 若要更快地完成 slab 合并,同时只对前台 I/O 造成轻微的影响,请结合
-NormalPriority
参数运行上述命令。确认
ProvisioningType
设置为Thin
,并且AllocatedSize
小于卷大小 (Size
):对于非分层卷,请运行以下命令:
Get-VirtualDisk -FriendlyName <volume_name> | FL AllocatedSize, Size, ProvisioningType
对于分层卷,请运行以下命令:
Get-StorageTier -FriendlyName <volume_name*> | FL AllocatedSize, Size, ProvisioningType
后续步骤
详细了解存储精简预配。