Move-SCVirtualHardDisk

将虚拟硬盘文件从一个位置移动到同一主机上的另一个位置,或者与 Move-SCVirtualMachine 一起使用时,将另一个主机上的位置移动到另一个位置。

语法

Move-SCVirtualHardDisk
    [-VMMServer <ServerConnection>]
    -Bus <Byte>
    -LUN <Byte>
    [-SCSI]
    -JobGroup <Guid>
    -Path <String>
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [<CommonParameters>]
Move-SCVirtualHardDisk
    [-VMMServer <ServerConnection>]
    -Bus <Byte>
    -LUN <Byte>
    [-IDE]
    -JobGroup <Guid>
    -Path <String>
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [<CommonParameters>]
Move-SCVirtualHardDisk
    [-VirtualHardDisk] <StandaloneVirtualHardDisk>
    [-JobGroup <Guid>]
    -Path <String>
    [-RunAsynchronously]
    [-PROTipID <Guid>]
    [-JobVariable <String>]
    [<CommonParameters>]

说明

Move-SCVirtualHardDisk cmdlet 将基于 Windows 的虚拟硬盘文件(.vhd 文件)或基于 VMware 的虚拟硬盘文件(.vmdk 文件)从一个位置移到同一主机上的另一个位置。 还可以将 Move-SCVirtualHardDiskMove-SCVirtualMachine cmdlet 配合使用,将虚拟硬盘文件移动到其他主机上的位置。

可以使用此 cmdlet 执行以下任务:

  • 在正在运行的 VMware 虚拟机上移动虚拟硬盘,不会中断服务。

  • 在正在运行的 Windows Server 2008 R2、Windows Server 2012 或 Windows Server 2016 虚拟机上移动虚拟硬盘,但服务中断最少。 在本例中,将 Move-SCVirtualHardDiskmove-SCVirtualMachine配合使用。

  • 如果虚拟机处于停止状态或已保存状态,请在任何类型的主机上移动虚拟机上的虚拟硬盘。 在这种情况下,请将 move-SCVirtualHardDisk 与 Set-SCVirtualMachine 配合使用 。 如果以下任一条件为 true,则支持此选项:

-- 虚拟机位于使用 Windows Server 2008 R2、Windows Server 2012 或 Windows Server 2016 Hyper-V 技术或 VMware ESX 主机上的主机上,虚拟机处于保存状态或处于停止状态。

-- 虚拟机位于任何其他受支持的主机上,并且处于停止状态。

用法示例:

  • 如果主机具有多个物理磁盘驱动器,并且虚拟机有两个虚拟硬盘(一个磁盘可能包含操作系统,另一个磁盘可能包含数据),则可以使用此 cmdlet 将一个虚拟硬盘移动到另一个物理硬盘,以提高两个虚拟硬盘的性能。

  • 如果虚拟机有一个动态扩展的虚拟硬盘,并且你发现虚拟硬盘已扩展到了主机上当前物理硬盘上使用大部分空间的点,则可以使用此 cmdlet 将扩展的虚拟硬盘移动到更大的物理硬盘(如果主机上可用)。

示例

示例 1:将虚拟硬盘文件从一个位置移到同一主机上的另一个位置

PS C:\> $VM = Get-SCVirtualMachine -Name "VM01"
PS C:\> $VHD = $VM.VirtualHardDisks[0]
PS C:\> Move-SCVirtualHardDisk -VirtualHardDisk $VHD -Path "C:\VHDs"

第一个命令获取名为 VM01 的虚拟机对象,并将该对象存储在$VM变量中。

第二个命令将 VM01 上的第一个虚拟硬盘对象存储在 $VHD 变量中。

最后一个命令将存储在$VHD中的虚拟硬盘移动到现有文件夹“C:\VHD”。

参数

-Bus

指定要将虚拟磁盘驱动器或虚拟 DVD 驱动器附加到的 IDE 总线,或附加到虚拟磁盘驱动器的 SCSI 总线。

类型:Byte
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-IDE

将 IDE 指定为将虚拟磁盘驱动器对象或虚拟机或模板上配置的虚拟 DVD 驱动器对象附加到的总线类型。

示例格式:-IDE -Bus 0 -LUN 1

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-JobGroup

指定一系列命令的标识符,该命令将在包含相同作业组标识符的最终命令运行之前作为集运行。

类型:Guid
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-JobVariable

指定在此参数命名的变量中跟踪和存储作业进度。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-LUN

为虚拟磁盘驱动器对象或 IDE 总线上的虚拟 DVD 驱动器对象或 SCSI 总线上的虚拟磁盘驱动器对象指定逻辑单元号(LUN)。

  • 示例格式:-IDE -Bus 1 -LUN 0
  • 示例格式:-SCSI -Bus 0 -LUN 1
类型:Byte
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Path

指定操作的目标路径。

示例格式:

  • 本地路径:-Path "F:\"
  • UNC 路径:-Path "\\Library\Templates"
  • 卷 GUID 路径:-Path "\\?\Volume{4703c1ea-8ae7-11db-b473-00123f7603e3}\"
  • VMware ESX 路径:-Path "\[storage1\]\MyVMwareFolderForVMs\MyVM.vmx"
  • Citrix XenServer 路径:-Path "Local storage\[99b6212f-b63d-c676-25f9-d6c460992de7\]"
类型:String
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-PROTipID

指定触发此操作的性能和资源优化提示(PRO 提示)的 ID。 此参数允许你审核 PRO 提示。

类型:Guid
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RunAsynchronously

指示作业以异步方式运行,以便控件立即返回到命令行界面。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SCSI

将 SCSI 指定为将虚拟机或模板上配置的虚拟磁盘驱动器对象附加到的总线类型。

示例格式:-SCSI -Bus 0 -LUN 0

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-VirtualHardDisk

指定虚拟硬盘对象。

类型:StandaloneVirtualHardDisk
Position:0
默认值:None
必需:True
接受管道输入:True
接受通配符:False

-VMMServer

指定 VMM 服务器对象。

类型:ServerConnection
Position:Named
默认值:None
必需:False
接受管道输入:True
接受通配符:False

输出

VirtualHardDisk

此 cmdlet 返回 VirtualHardDisk 对象。