You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Azure环境下Windows Server 2019虚拟机Storage Spaces简单冗余虚拟磁盘扩展方法咨询

Azure环境下Windows Server 2019虚拟机Storage Spaces简单冗余虚拟磁盘扩展方法咨询

嗨,针对你在Azure上Windows Server 2019虚拟机里扩展简单冗余(NumberOfDataCopies=1)Storage Spaces虚拟磁盘的需求,我整理了一套不浪费物理存储的实操步骤,你可以参考下:

一、先确认当前存储池状态

首先得搞清楚你的存储池有没有剩余可用空间——如果有的话,直接扩展虚拟磁盘就行,不用额外加磁盘;如果没有,就得先给VM加新数据磁盘再扩容。

你可以用两种方式查看:

  • 图形化方式(Server Manager):打开Server Manager → 文件和存储服务 → 存储池,就能看到存储池的可用空间。
  • PowerShell方式:执行以下命令查看存储池和虚拟磁盘的详细信息:
    Get-StoragePool | Select-Object FriendlyName, Size, AvailableSize
    Get-VirtualDisk | Select-Object FriendlyName, ResiliencySettingName, Size, SizeRemaining
    

二、如果存储池有可用空间,直接扩展虚拟磁盘

因为是简单冗余(单副本),存储池里的可用空间可以1:1转化为虚拟磁盘的空间,完全不会浪费(不像镜像/奇偶校验需要额外冗余空间)。

方式1:用Server Manager操作

  1. 打开Server Manager → 文件和存储服务 → 存储池 → 找到目标虚拟磁盘。
  2. 右键点击虚拟磁盘,选择「扩展」。
  3. 在向导里指定你需要的新总容量(或者直接用全部可用空间),跟着提示完成操作即可。

方式2:用PowerShell操作

执行以下命令(替换成你的虚拟磁盘名称和目标大小):

# 按总大小扩展,比如扩展到2TB
Resize-VirtualDisk -FriendlyName "你的虚拟磁盘名称" -Size 2TB

# 或者用可用空间全部扩展
Resize-VirtualDisk -FriendlyName "你的虚拟磁盘名称" -Size (Get-VirtualDisk -FriendlyName "你的虚拟磁盘名称").Size + (Get-StoragePool -FriendlyName "你的存储池名称").AvailableSize

三、如果存储池没有可用空间,先加磁盘再扩容

步骤1:在Azure门户给VM添加新数据磁盘

  1. 登录Azure门户,找到目标虚拟机 → 「磁盘」→ 「添加数据磁盘」。
  2. 选择合适的磁盘SKU(建议和现有数据磁盘规格一致,避免性能差异),设置磁盘大小,然后保存配置,等待磁盘挂载完成。

步骤2:在Windows里初始化新磁盘并加入存储池

  1. 回到VM,打开Server Manager → 文件和存储服务 → 磁盘,找到新添加的磁盘(状态为「未初始化」)。
  2. 右键点击新磁盘,选择「初始化」,推荐选择GPT分区格式,确认初始化。
  3. 切换到「存储池」页面,右键你的存储池 → 「添加物理磁盘」,选中刚初始化的新磁盘,点击「确定」加入存储池。

用PowerShell的话,可以执行以下命令:

# 初始化新磁盘(替换磁盘编号,可通过Get-Disk查看)
Initialize-Disk -Number 2 -PartitionStyle GPT

# 将磁盘加入存储池
Add-PhysicalDisk -StoragePoolFriendlyName "你的存储池名称" -PhysicalDisks (Get-PhysicalDisk -FriendlyName "新磁盘的名称")

步骤3:扩展虚拟磁盘

现在存储池有了可用空间,按照上面「存储池有可用空间」的步骤扩展虚拟磁盘即可。

四、最后扩展对应的卷

虚拟磁盘扩展完成后,里面的分区/卷还需要跟着扩容才能使用新增的空间:

方式1:Server Manager操作

  1. 打开Server Manager → 文件和存储服务 → 卷,找到目标卷。
  2. 右键点击卷,选择「扩展卷」,向导里默认会使用全部可用空间,确认后完成扩展。

方式2:PowerShell操作

执行以下命令(替换成你的卷盘符):

# 获取卷的最大支持大小并扩展
$maxSize = (Get-PartitionSupportedSize -DriveLetter D).SizeMax
Resize-Partition -DriveLetter D -Size $maxSize

注意事项

  • 简单冗余模式下,所有扩展的空间都是直接用于存储数据,没有冗余损耗,完全不会浪费物理存储。
  • 添加新磁盘时,尽量选择和现有磁盘同规格的产品,避免出现性能瓶颈;如果只是单纯扩容,不同规格也可以正常使用,但读写性能可能有差异。
  • 操作前建议备份重要数据,或者在Azure门户给VM拍个快照,以防意外情况。

备注:内容来源于stack exchange,提问作者aledeniz

火山引擎 最新活动