1.如何删除ceph下的所有的快照文件

2.VM虚拟机自动异常关机问题

3.如何将windows物理机转换成hyper虚拟机

4.如何清除VMware Server快照文件?(下)

_windows server 2008vmdk镜像

随着云和容器技术的流行,不可否认现在的基础架构正在趋向虚拟化。基于不同平台市面上有很多的虚拟化架构:Xen,Vmware,KVM,VirtualBox各领风骚,各具特色,本文虫虫来讲讲Windows系统下常用的两种虚拟化解决方案VirtualBox和Hyper-V,注意本文不讨论Vmware,如果你是Vmware的拥趸请不要介意。

Hypervisor虚拟机监视器用来管理虚机机和虚拟化基础设备的特殊软件,通过Hypervisor可以在宿主机上虚拟化出虚拟机和基础架构设备出来。Hypervisor分为两种类型:

Hyper-V属于Type 1虚拟机管理程序,也称为裸机型虚拟机管理程序,可直接在计算机硬件上运行。当宿主机启动时,Hyper-V管理程序将从BIOS或UEFI获取控制权,启动Hyper-V管理操作系统包括Hyper-V Server,Windows或Windows Server。根据不同需求和设置,虚拟机VMs支持手动或者自动启动。VMware vSphere、思杰 XenServer也属于该类。

VirtualBox属于Type 2的虚拟机管理程序,也叫托管型虚拟机管理程序。Type 2管理程序是在宿主机操作系统上运行,为安装在宿主机上的应用程序。当物理计算机启动时,宿主机操作系统加载获得控制权。由用户启动虚拟机管理程序应用程序(比如VirtualBox),再启动虚拟机VMs,创建VMs托管进程。KVM和Vmware WorkStaion也属于该类。

宿主机启动后,Hyper-V作为服务会一直保持运行,VirtualBox可由用户按需启动和关闭。

Hyper-V支持硬件虚拟化。硬件虚拟化是一种使用虚拟机管理程序在软件和物理硬件之间创建抽象层以计算机虚拟技术。使用特殊软件模拟计算机正常功能所需的所有设备。

VirtualBox支持硬件和软件虚拟化。软件虚拟化只支持x86体系结构的32位客户机操作系统。64位客户系统,仅在硬件虚拟化中使用。软件虚拟化支持,可以极大的扩展VirtualBox可以不支持硬件虚拟化的老计算机上。

Hyper-V虚拟机的虚拟磁盘格式为VHD或VHDX文件。VHD是Hyper-V旧的虚拟磁盘格式。从Windows Server 2012开始,Hyper-V,虚拟磁盘格式更新为VHDX格式了。

VirtualBox支持更多格式的虚拟磁盘包括VDI,VMDK,VHD和DD:

VDI是VirtualBox自用格式

MDK是VMware虚拟磁盘格式

VHD是Hyper-V格式(VirtualBox暂不支持VHDX)

HDD是Parallels Desktop格式

Hyper-V和VirtualBox中都支持固定大小的磁盘和动态分配的磁盘形式。固定虚拟磁盘创建更耗时,占用的实体机磁盘空间更多,但是其性能更好。动态虚拟磁盘支持即时创建,磁盘空间按照实际使用增长,但其性能不如固定虚拟磁盘。

微软自家的软件Hyper-V和大多数微软应用一样,只支持Windows系列操作系统上运行。 Hyper-V开始在Windows 8中内置,支持Windows,Windows Server 2008到以及更新版本的服务器平台。

Virtual Box是一个跨平台软件,可以支持市面所有主流的操作系统包括Windows,Linux,Mac OS和Solaris等。

如果主要在Windows上跑虚拟架构,则可以优先使用Hyper-V。包括windows for Docker现在也是默认使用Hyper-V的。如果你是多平台环境,比如用Mac book,也用windows,那么使用跨平台的VirtualBox具有得天独厚的优势。

客户机OS是在虚拟机上VMs运行的操作系统。关于虚拟机上两者都支持多平台的客户虚机机OS。 Hyper-V支持Windows,Linux和FreeBSD操作系统。

VirtualBox支持的OS类型则更多: Windows,Linux,FreeBSD,Solaris,Mac OS等。

Hyper-V Integration Services由基本驱动程序和实用工具组成,可以用来提高整体性能及主和客机操作OS间的交互。Integration Services安装客户机OS上。在Windows系统上,可以通过将虚拟光盘映像(ISO文件)附加到VM(包括安装程序)或通过Windows Update来安装。对Linux系统,主流的发行版内核都已内置对Integration Services支持。

类似的VirtualBox Guest Additions也包含驱动程序基本和系统应用工具,用来可优化来客户机OS,提高其性能和可用性。安装Guest Additions后,可以支持拖放,剪贴板共享,屏幕自动调整大小以及无缝模式。安装过程和Hyper-V Integration Services类似,将ISO光盘映像与安装程序附加到VM,然后在GUI或命令行安装Guest Additions。

Port Mirroring是Hyper-V的网络流量分析工具。此功能可以让我们将所有接收和发送的数据包的副本从一个端口发送到另一个端口,然后再进一步分析,相当于一个旁路网络包分析工具。我们可以创建一个虚拟机,其虚拟网络适配器连接到相应的虚拟交换机端口,在该虚拟机上安装数据包分析软件,通过他对整个集群多台虚拟机的网络数据包进行分析。

VirtualBox则自带网络跟踪功能,可以使用该功能启用网络数据包日志记录,然后通过日志分析网络行为。因此,VirtualBox利用内置功能将所有捕获的虚拟机网络接口流量写到PCAP文件中。之后就可以利用包分析工具(比如Wireshark)进行分析中。可以在需要时候使用命令行界面启动网络跟踪记录日志。

共享文件夹对于不同机器之间的文件交换很有用。可以使用该方法实现宿主机和虚拟机之间的文件共享。

Hyper-V本身不支持文件夹共享,可以通过Windows GUI或PowerShell在宿主机共享文件夹,并为虚拟机用户指或赋予访问权限访问。还可以使用Copy-VMFile PowerShell工具在宿主机和虚拟机之间进行文件复制。

VirtualBox内置文件夹共享功能,可以在VirtualBox用户界面轻松启用。使用共享文件夹在VirtualBox主机和客户机之间传输文件非常方便。可以通过打开"VM Setting",然后选择"Shared Folders。添加共享标签页:设置文件夹路径,输入将在客户机中要显示文件夹的名称。

注意,必须在客户机操作系统上安装VirtualBox Guest Additions才可以使用该功能。

文件拖放是,可以实现将文件或文件夹等对象从屏幕的一个部分移动到另一个部分。在虚拟化环境的中,通过拖放可以将文件或文件夹在宿主机和客户机之间拖动传输。 Hyper-V和VirtualBox产品都支持拖放功能,但是都需要在客户机上安装对应的Hyper-V Integration服务和VirtualBox Guest Additions。登录Hyper-V VM时使用增强会话模式。

Hyper-V Checkpoints可以支持对虚拟机当前运行状态的保存,然后停掉虚拟机,并在后面需要时候恢复到该运行状态。新版本的Hyper-V中有两种类型的Checkpoints:标准Checkpoints和生产Checkpoints。与标准Checkpoints不同,生产Checkpoints支持对Windows的虚拟机使用VSS卷影复制服务,支持对Linux的虚拟机使用文件系统冻结来冻结虚拟机以防止对虚拟磁盘执行写入操作。使用冻结可以避免由于标准Checkpoints保存时候导致的数据丢失问题造成数据不一致。创建Checkpoints时,会为虚拟机的每个VHD(或VHDX)虚拟磁盘创建差异虚拟磁盘(AVHD或AVHDX)。创建Checkpoints后,所有更改都会写入差异磁盘。差异虚拟磁盘与父虚拟磁盘一起存储在同一目录中。

VirtualBox Snapshots相当于Hyper-V Checkpoints。可以使用Snapshots保存当前虚拟机运行状态,并在需要时还原。 VDI是VirtualBox中使用的虚拟磁盘文件格式。创建快照时,会将新的差异虚拟磁盘创建为新的VDI文件。

Hyper-V Live Migration可以实现将运行中的VM从一台Hyper-V宿主机无缝迁移到另一台宿主机,迁移过程不会导致长时间服务中断。该功能可以用于故障转移群集的转移和业务切换,从而提供虚拟架构的高可用性。建议为Hyper-V故障转移群集使用专用迁移网络,VM文件(如虚拟磁盘)必须位于共享存储上。

VirtualBox Teleporting也是一种虚拟机迁移功能和解决方案。通过Teleporting从网络中将虚拟机从一台VirtualBox宿主机移动到另一台VirtualBox宿主机,而不会影响虚机的运行,迁移要求两台宿主机使用同样的共享存储,宿主机可以是不同的操作系统。比如,可以将运行在Linux宿主机上的Windows虚拟机迁移到Solaris宿主机上。

Hyper-V VMConnect是用来远程访问虚拟机的GUI或控制台界面的工具。可以使用VMConnect来管理虚机,通过VMConnect的WMI(Windows Management Instrumentation)服务。可以实现键盘和鼠标与虚拟机OS的交互,支持链接本地虚拟机也可以连接远程的虚拟机。安装Hyper-V角色时,默认情况已经启用了VMConnect。如果未安装,可以通过"添加功能向导"中添加"Hyper-V工具"功能。 VMConnect 使用Microsoft远程桌面协议(RDP)进行连接和通讯。

VMConnect增强会话模式还允许将本地设备和重定向给虚拟机。支持对剪贴板,磁盘驱动器,USB闪存驱动器,音频,打印机和显示器进行重定向。

VirtualBox包含管理虚拟机的工具Remote Display,可以使用本地计算机上的VirtualBox GUI管理在本地计算机上运行的虚拟机。 VirtualBox Remote Desktop Extension(VRDE)是一般性的扩展接口,可为第三方开发的扩展包提供最大的灵活性。 VRDE可兼容Microsoft RDP。 VirtualBox Remote Display Protoco(VRDP)在VRDE扩展包提供,它向后兼容RDP,可以使用它,通过标准RDP客户端来远程控制虚拟机。

Hyper-V Manager是 Hyper-V提供的 GUI虚拟机管理工具,可帮助我们管理Hyper-V 虚拟机机集群。使用它执行虚拟机的创建,导入,配置,启动,停止和删除等操作。可以只用于管理虚拟机基础设备,比如虚拟交换机,虚拟硬盘,创建Checkpoints,使用VMConnect连接到客户操作系统界面等。也可以通过远程管理Hyper-V集群。

phpVirtualBox是一个开源工具的VirtualBox Web管理工具,该工具用PHP编写,通过他可以管理远程VirtualBox实例。phpVirtualBox提供了一个与VirtualBox GUI界面相同的界面,可以在浏览器中远程管理VirtualBox集群,如果不需要对客户机界面操作,则完全可以用他实现VirtualBox的管理。

Hyper-V可以通过PowerShell来管理,使用PowerShell可以编程自定义Hyper-V及其主机配置和管,对大型Hyper-V集群来说,这尤为方便。

VBoxManage是VirtualBox的命令行界面(CLI),通过VBoxManage可以实现VirtualBox GUI中的所有可用的功能以及更多非GUI的功能,支持多平台、自编程,自动化批量执行能的功能。

Hyper-V和VirtualBox非常好的虚拟化的解决方案,孰好孰坏,根据环境和需求可能不定论。Hyper-V是 type 1虚拟机管理程序,而VirtualBox 是type2型虚拟机管理程序。 Hyper-V只支持于Windows系统上,而VirtualBox支持跨平台。Hyper-V支持群集功能,例如故障转移群集和负载平衡。对于已经使用Windows基础环境,Hyper-V虚拟化解决方案是个不错的选择。Oracle VirtualBox开源免费的,具有最大宿主机和客户机OS支持的虚拟化架构,更适合于多平台环境。Hyper-V可以作为windows系统服务运行,开机就可以自动启动虚拟机,而VirtualBox要做到同样功能则比较费劲。

如何删除ceph下的所有的快照文件

转自 s://communities.vmware/thread/526805

compare the content of file "Windows XP Professional.vmdk" and "Windows XP Professional-000001.vmdk", the size info under "# Extent description" should be same.

Before you change the settings? in vmdk file, please backup the files first.

仅做翻译:

他的意思是子盘符和父盘符在"# Extent description"下的尺寸大小应该一致。

可以看到我ubuntu16.04.vmdk比ubuntu16.04-000002.vmdk多出来了3行。只要把这3行删除掉就可以了

VM虚拟机自动异常关机问题

这些步骤对于从运行在Windows XP SP2上的虚拟机删除快照是有效的,不过这些步骤可以应用在任何操作系统上,只要“dd”程序已经传输到这个操作系统上。 1.关闭子操作系统和虚拟机。 2.添加一个与之前硬盘驱动器大小相等的硬盘驱动器到虚拟机。在添加时,请不要将其加到与之前硬盘驱动器相同的位置(这将是包含虚拟机文件的目录)。在虚拟机目录里创建一个叫做“disk1”的子文件夹,将新硬盘驱动器添加到这里。这样做的话,以后区分这两个驱动会更容易些。在子操作系统里区分这两个硬盘驱动很容易,因为它们在Windows里分别是“Disk 0”与“Disk 1”,在UNIX或Linux里分别是“/dev/sda”与“/dev/sdb”。 3.启动虚拟机和子操作系统。 4.登录操作系统,使用与原始磁盘相同文件系统类型初始化和格式化新磁盘。 5.使用“dd”块级复制原始磁盘的内容到新磁盘。“dd”包含在UNIX 与Linux里,不在Windows里。Windows里一个叫做WinDD的程序有相同的功能。 6.关闭子操作系统和虚拟机。 7.从虚拟机移除这两个硬盘驱动器。 8.在虚拟机目录里创建一个叫做“disk0”的子文件夹,并将虚拟机目录里的所有VMDK文件移到这个子文件夹里。 9.使用命令行的vmware-vdiskmanager命令扩展新硬盘到理想的大小。句法是这样的:vmware-vdiskmanager -x SIZE VMDK_FILE_PATH。这个命令位于Windows的“C:Program FilesVMwareVMware Servervmware-vdiskmanager.exe”和Linux的“/usr/bin/vmware-vdiskmanager”。 尽管VMware警告这个命令不应该用于扩展Windows系统磁盘,不过还是很好用。并且就算出现问题,原始硬盘文件也不会被删除。 10.将新硬盘驱动器添加回虚拟机(现在使用驱动自身的目录)。 11.如果虚拟机子操作系统是Windows,挂载Windows XP/Vista ISO镜像;如果子操作系统是Linux或Windows,挂载Linux Live CD。 12.开启虚拟机,确保在启动期间按下“ESC”键,以便出现提示,允许选择启动设备。从挂载的ISO镜像启动。 13.Windows XP和Windows Vista安装程序都有退出命令提示符的功能。Linux Live CD都能访问一个终端。在命令行使用像Windows的“diskpart”或Linux的“parted”磁盘工具程序在虚拟机新硬盘上进行第一次分区。用“diskpart”进行第一次分区的句法是: diskpart

select disk 0

select partition 1

active 使用“parted”进行第一次分区的句法是: parted

set 1 boot on 请记住,这些命令定硬盘有一个分区,并且这个分区是活动/引导分区。这些步骤背后的想法仍然是健全其他分区,不过实际的命令必须被修改,以便反映在使用的分区。 14.卸载ISO镜像并重新启动虚拟机。 15.虚拟机现在应该从新硬盘启动子操作系统。如果没有启动的话,那么关闭虚拟机并移除新硬盘驱动。添加原始硬盘驱动并启动虚拟机。子操作系统启动原始硬盘驱动应该没有问题。 16.如果虚拟机成功启动,请继续关闭子操作系统和虚拟机。 17.从虚拟机移除新硬盘驱动器。从“disk1”子文件夹移动新硬盘驱动的文件到虚拟机根级别的文件夹。删除“disk1”目录。将新硬件驱动添加回虚拟机。 18.这时候通过删除“disk0”目录来删除原始硬盘驱动的VMDK文件是很安全的。将这些文件备份到外部硬盘驱动是个好方法,并把这些文件保留几周,防止这个操作万一出现任何问题可以恢复。 19.启动虚拟机,并启动子操作系统

如何将windows物理机转换成hyper虚拟机

虚机状态无法改变,任务停止在启动过程中、比如还有删除快照的时候感觉好像进程 是死在那里,任务列表显示 Power on virtual machine:in progress 一直不结束,虚拟机的各种按钮都是灰色的,仅有电源按钮处于按下的状态,无法对此虚拟机进行任何操作。

以及出现Vcenter 自动断开的情况。

一般原因是由于ESX上与VC/VIC通讯的服务有故障,VM状态混乱.

如果是服务有故障

那么尝试重启hostd和vpxa服务。

Hostd服务负责管理ESX上的大部分操作,vpxa服务是管理代理,用于处理主机和客户端之间的通讯,客户端包括vCenter Server和任何连接到ESX的VI client。

重启hostd服务,service mgmt-vmware restart。

重启vpxa服务,service vmware-vpxa restart。

VM状态混乱:

vmware-cmd vmfs/volume/vmfslabel/vmname/vmname.vmx stop

vmware-cmd vmfs/volume/vmfslabel/vmname/vmname.vmx start

如果命令无法执行, 强制关闭该VM的进程.

ps -ef | grep <vmname> (注意确定VM的PID)

kill -9 pid

然后按正常方法启动VM

载入如果出现VC的通信故障或者VC无法连接,登录到VC主机

重启VC服务

这里再提一个技巧,如果你是SERVER2008的系统,将上述服务设置延时启动(自动)可以解决有时候VC无法连接到数据库的问题,特别是VC和SQL装在一台服务器上的情况,建议安装VC时候将VC和SQL分开安装。

虚拟机与物理服务器的差别突出了解决虚拟机问题的特殊挑战。在物理服务器重新启动之前,你可以切断电源作为最后的手段解决问题。不过这个策略不适合虚拟机,因为它只有虚拟电源开关。有一些工具包可以帮助预防问题或使检修过程更容易。在这篇文章中,TechTarget中国的特约虚拟化专家Eric Siebert将讨论这些工具包,并逐步解释怎么样修理各种常见的问题。

VMware工具

你自己所熟悉的第一套工具是VMware的工具。VMware工具是一套增强型驱动和应用程序,安装在虚拟机操作系统上。最好的做法是要养成一个习惯——随时安装VMware工具以确保虚拟机的最佳性能和稳定性。并且安装任何升级补丁到ESX后(一些ESX补丁偶尔也需要更新到VMware工具),要反复查看以确信你运行的是最新版本的VMware工具。在VMware Infrastructure客户端的虚拟机窗口上有一栏,这一栏显示了每台虚拟机VMware工具的状况——是否运行正常、是否过期或未安装。

虚拟机文件类型

作为检修过程的一部分,你需要了解所有不同的文件类型。我们来看看这些与虚拟机相关的文件:

.nvram file——这个文件包含了虚拟机的CMOS/BIOS。

.vmdk files——这些是磁盘文件,为虚拟机里的每个虚拟硬驱动创建的。使用vmdk扩展名的文件有以下三种类型:

*–flat.vmdk file——这是为每个虚拟硬驱动创建的真实的原始文件。

*.vmdk file——这是磁盘描述文件,描述了虚拟磁盘文件的大小和形状。

*–delta.vmdk file——这是一个特定的文件,当你对虚拟机进行快照时创建的(也是REDO重做日志)。

.vmx file——这个文件是虚拟机最初配置文件。当你创建一台虚拟机并进行硬件配置时,这些信息存储在这个文件里。

.vswp file——这是虚拟机swap交换文件(早期的ESX版本在每台主机上都有SWAP文件),这个文件允许ESX服务器增加新的虚拟swap空间。

.vmss file——这个文件创建于虚拟机暂停模式下,用于保存暂停时的状态。

.log file——这是记录虚拟机活动日志的文件,用于检修虚拟机故障。

.vmxf file——这是文本格式的附加配置文件,为同一组虚拟机创建。

.vmsd file——这个文件用于存储关于快照的元数据和信息。

.vmsn file——这个是快照状态文件,存储了使用快照时虚拟机当时运行状态的信息。

日志文件

了解了虚拟机文件类型,我们来看看日志文件。日志文件是解决虚拟机问题的最好途径。当问题发生时,这是你首先需要检查的。

最重要的文件是Vmware.log file。这是ESX服务器上的虚拟机主要的日志文件,位于工作目录。Vmware.log通常是目前的工作日志,旧的日志文件以数字上的增加来表示,例如,vmware-1.log。

在ESX主机上,你也需要检查/var/log/vmkernel和 /var/log/vmware/hostd日志,以查看是否与虚拟机故障有关。有时,重新启动ESX主机上的主机服务将解决棘手的虚拟机问题。对于更多的常见问题,有很多技术可以解决。下面讲到一些这样的问题。

问题一:不能关闭虚拟机

其实是不能用虚拟电源控制器关闭虚拟机。你可以用命令行的方法试着手动地注销虚拟机。下面列举了好几种方法。在决定用重新启动ESX主机之前,试试这些方法。

1.通常尝试的第一种方法是使用vmware-cmd命令行。

登陆服务控制台

键入逗vmware-cmd –l地得到所有虚拟机及其路径的列表

键入逗vmware-cmd //.vmx getstate地查看虚拟机状态

强制关闭逗vmware-cmd //.vmx stop hard地

再次检查虚拟机状态,现在应该是关闭着的

键入逗vmware-cmd //.vmx start地启动虚拟机

2.第二种选择是手动注销虚拟机,通过找到虚拟机进程标识符(pid)并使用注销命令终止它。

登陆服务控制台

键入逗vmware-cmd –l地得到所有虚拟机及其路径的列表

键入逗vmware-cmd //.vmx getstate地查看虚拟机状态

键入逗ps -ef | grep地

第二栏显示虚拟机vmkload_的进程标识符pid,你也可以输入逗ps –eaf地查看所有的运行进程

键入逗kill -9 pid地

重新查看虚拟机状态,现在应该是关着的

键入逗vmware-cmd //.vmx start地启动虚拟机

3.最后一种方法是使用vm-support命令强制关闭虚拟机

登陆服务器控制台

键入逗vm-support –x地或逗cat /proc/vmware/vm/*/names地,选择你要关闭的虚拟机标识符

键入逗vm-support –X地注销虚拟机及生成内核转储(core dumps)

提示你是否保存虚拟机屏幕截图,发送NMI到虚拟机并发送终止命令。你需要点击确定按纽来注销虚拟机。整个过程需要5到10分钟运行。这将在目录里创建一个报告存档(tar archive)。

问题二:不能启动虚拟机

另一个常见问题可能是不能启动虚拟机。这种情况发生在主机服务器没有虚拟机要使用的足够。例如,如果虚拟机有一个内存预留设置(memory reservation),ESX主机没有足够的物理内存来满足要求,虚拟机就不能启动。如果发生这样的情况,你可以选择删除虚拟机的内存预留,把虚拟机迁移到另一台有更多剩余物理内存的主机上,或者选择把现有主机上的物理内存空出来。

同样,当虚拟机启动时,需要在ESX主机上的虚拟机工作目录里创建一个vswp文件,这个文件与分配给虚拟机的RAM(减去任何内存预留)大小一样。如果你的ESX主机没有足够硬盘空间的话,也不能启动虚拟机。工作区设置的内存预留大小与分配给RAM大小一样,所以vswp文件尺寸将是0字节。不过,你要注意在VMFS(虚拟机文件系统)卷上预留额外的磁盘空间给日志、swap交换文件和快照等,这一点很重要。

问题三:虚拟机由于操作系统损坏遇到启动错误

如果虚拟机由于操作系统损坏或错误配置在启动时出现问题,解决这个问题的方法是添加它的虚拟磁盘到另一个运行着的虚拟机,因此,你能访问驱动并作出必要的修理。为了修理有问题的虚拟机,你要确保这台虚拟机是关闭着的。下一步是添加额外的驱动到工作着的其他虚拟机并浏览有问题的虚拟机的磁盘文件。启动工作着的虚拟机。现在,你能访问有问题的虚拟机的驱动以作出任何改变和改正。从工作着的虚拟机移除驱动,添加到有问题的虚拟机,然后试着重新启动。

问题四:普遍的虚拟机操作系统问题

为了检修虚拟机操作系统的问题,我创建了一个ISO文件工具包,包含有用的检修应用程序,它能很快地启动虚拟机的CD-ROM并能用来修理(或启动)虚拟机。我使用的一些ISO文件包括下面几种:

Sysinternals工具——检修Windows服务器问题的好工具。

Gparted——基于Linux的磁盘分区编辑器。

Knoppix——基于Linux的CD盘,包罗许多工具很应用程序。

Ultimate Boot CD——包含许多系统修理和测试工具的CD盘。

UBCD4Win——基于Windows的CD盘,包罗许多系统修理和测试工具。

如何清除VMware Server快照文件?(下)

你好,

1、一台安装好Windows Server 2008 的服务器,装好HYPER-V组件,这台服务器就是HYPER-V服务器了。

2、在HYPER-V服务器上安装VMWare convertor(不需要安装agent)。

3、下载VMDK to VHD Convertor并解压到HYPER-V服务器的本地某个目录。

4、在HYPER-V服务器上创建一个网络共享以便目标服务器能访问到。

5、运行VMware convertor,目标为你需要转换为虚拟机的物理机。

6、转换成功后,生产的是VMDK文件,这时就需要用到VMDK to VHD Convertor来讲VMDK转换为VHD了。

7、新建一台HYPER-V虚拟机,并加载上一步转换出来的VHD文件,注意,此时先不要启用这台虚拟机的网络连接。

8、启动该虚拟机,登录并让发现新硬件向导运行,此时主要先不要插入integration services的镜像。重启。

9、再次登陆后,插入integration services镜像,安装好后,重启。

10、第三次登录后,让integration services继续安装,直至完成,再次重启。

11、登录后查看网络连接,如果没有,需要将虚拟机关掉后,添加legacy network adapter。

12、把在虚拟机上用不到的软件或其他东西整理一下,比如一些硬件管理的软件。

13、如果一切正常的话,关掉原来的物理机,连通虚拟机的网络,搞定。

这些步骤对于从运行在Windows

XP

SP2上的虚拟机删除快照是有效的,不过这些步骤可以应用在任何操作系统上,只要“dd”程序已经传输到这个操作系统上。

1.关闭子操作系统和虚拟机。

2.添加一个与之前硬盘驱动器大小相等的硬盘驱动器到虚拟机。在添加时,请不要将其加到与之前硬盘驱动器相同的位置(这将是包含虚拟机文件的目录)。在虚拟机目录里创建一个叫做“disk1”的子文件夹,将新硬盘驱动器添加到这里。这样做的话,以后区分这两个驱动会更容易些。在子操作系统里区分这两个硬盘驱动很容易,因为它们在Windows里分别是“Disk

0”与“Disk

1”,在UNIX或Linux里分别是“/dev/sda”与“/dev/sdb”。

3.启动虚拟机和子操作系统。

4.登录操作系统,使用与原始磁盘相同文件系统类型初始化和格式化新磁盘。

5.使用“dd”块级复制原始磁盘的内容到新磁盘。“dd”包含在UNIX

与Linux里,不在Windows里。Windows里一个叫做WinDD的程序有相同的功能。

6.关闭子操作系统和虚拟机。

7.从虚拟机移除这两个硬盘驱动器。

8.在虚拟机目录里创建一个叫做“disk0”的子文件夹,并将虚拟机目录里的所有VMDK文件移到这个子文件夹里。

9.使用命令行的vmware-vdiskmanager命令扩展新硬盘到理想的大小。句法是这样的:vmware-vdiskmanager

-x

SIZE

VMDK_FILE_PATH。这个命令位于Windows的“C:Program

FilesVMwareVMware

Servervmware-vdiskmanager.exe”和Linux的“/usr/bin/vmware-vdiskmanager”。

尽管VMware警告这个命令不应该用于扩展Windows系统磁盘,不过还是很好用。并且就算出现问题,原始硬盘文件也不会被删除。

10.将新硬盘驱动器添加回虚拟机(现在使用驱动自身的目录)。

11.如果虚拟机子操作系统是Windows,挂载Windows

XP/Vista

ISO镜像;如果子操作系统是Linux或Windows,挂载Linux

Live

CD。

12.开启虚拟机,确保在启动期间按下“ESC”键,以便出现提示,允许选择启动设备。从挂载的ISO镜像启动。

13.Windows

XP和Windows

Vista安装程序都有退出命令提示符的功能。Linux

Live

CD都能访问一个终端。在命令行使用像Windows的“diskpart”或Linux的“parted”磁盘工具程序在虚拟机新硬盘上进行第一次分区。用“diskpart”进行第一次分区的句法是:

diskpart

select

disk

0

select

partition

1

active

使用“parted”进行第一次分区的句法是:

parted

set

1

boot

on

请记住,这些命令定硬盘有一个分区,并且这个分区是活动/引导分区。这些步骤背后的想法仍然是健全其他分区,不过实际的命令必须被修改,以便反映在使用的分区。

14.卸载ISO镜像并重新启动虚拟机。

15.虚拟机现在应该从新硬盘启动子操作系统。如果没有启动的话,那么关闭虚拟机并移除新硬盘驱动。添加原始硬盘驱动并启动虚拟机。子操作系统启动原始硬盘驱动应该没有问题。

16.如果虚拟机成功启动,请继续关闭子操作系统和虚拟机。

17.从虚拟机移除新硬盘驱动器。从“disk1”子文件夹移动新硬盘驱动的文件到虚拟机根级别的文件夹。删除“disk1”目录。将新硬件驱动添加回虚拟机。

18.这时候通过删除“disk0”目录来删除原始硬盘驱动的VMDK文件是很安全的。将这些文件备份到外部硬盘驱动是个好方法,并把这些文件保留几周,防止这个操作万一出现任何问题可以恢复。

19.启动虚拟机,并启动子操作系统。