在 Azure Stack HCI 上将固定预配卷转换为精简预配卷
适用于:Azure Stack HCI 版本 22H2
重要
Azure Stack HCI 现在是 Azure 本地的一部分。 产品文档重命名正在进行中。 但是,旧版 Azure Stack HCI(例如 22H2)将继续引用 Azure Stack HCI,不会反映名称更改。 了解详细信息。
本文介绍如何使用 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
后续步骤
详细了解存储精简预配。