Hyper-V是微软提出的一种虚拟化技术,早在2008年10月1日与Windows Server 2008同时发布。目前最新的版本是Hyper-V 3.0,是随着Windows Server 2012发布,同时也推出Windows Hyper-V Server 2012。不管是功能或是硬件支持上都有很大的提升,架构也变的比较完美。Hyper-V3.0目前已经不是服务器专有的功能,在最新的Windows 8桌面级操作系统中也提供了虚拟化技术,这样一来,就可以在Windows8中也可以使用Hyper-V安装虚拟机,但是win8中的Hyper-V取消了一些Windows Server虚拟化的功能,比如说虚拟机副本、动态迁移等功能。所以Win8中的Hyper-v的功能就像VMware Workstation。
    Hyper-V包括两种类型:一种是独立的产品,另一种则是Windows server中的角色,通过服务器管理器进行角色的安装。而在Windows Server 2012的不同版本中,Hyper-V功能中的虚拟机数量有着很大的不同。Windows Server 2012有四个版本:Foundation,Essentials, Standard和Datacenter。Essentials版本是面向中小企业,用户限定在25位以内,该版本简化了界面,预先配置云服务连接,不支持虚拟化;标准版提供完整的Windows Server功能,限制使用两台虚拟主机;数据中心版提供完整的Windows Server功能,不限制虚拟主机数量; Foundation版本仅提供给OEM厂商,限定用户15位,提供通用服务器功能,不支持虚拟化。而在win2012中,没有Enterprise企业版本。
    而独立的Hyper-V Server就没有那么多的版本,因为它是免费的产品。Hyper-V Server是不需要一个现有的Windows安装,所以它没有Windows Server 的图形界面,但是他包含了完整的Hyper-V功能的核心安装,通过命令行(CLI)来进行管理。可以支持远程Hyper-V管理器、MMC控制台和Powershell管理。如果Windows Server 2012在安装时,选择了Server Core的模式,那么他的操作界面与Hyper-V Server基本一样。它没有Windows Server 的图形界面,但是他包含了完整的Windows Server功能的核心安装。
    Windows Server 2012 中的 Hyper-V 在许多方面都做了改进。下表列出了此版本 Hyper-V 中最明显的功能变化。
特性/功能
新功能或更新功能
摘要
客户端 Hyper-V(Windows; 8 Release Preview 中的 Hyper-V)
新功能
通过使用 Windows 桌面操作系统创建和运行 Hyper-V 虚拟机。
Windows PowerShell 的 Hyper-V 模块
新功能
使用 Windows PowerShell cmdlet 可创建和管理 Hyper-V 环境。
Hyper-V 副本
新功能
在存储系统、群集和数据中心之间复制虚拟机可提供业务连续性和灾难恢复的功能。
实时迁移
更新功能
在非群集和群集的虚拟机上执行实时迁移,并且同时执行一个以上的实时迁移。
显著提高了规模和改进了复原能力
更新功能
使用比以前可能使用的明显更大的计算和存储资源。处理硬件错误能力的改进,增加了虚拟化环境的复原能力和稳定性。
存储迁移
新功能
在不停机的情况下将运行中的虚拟机虚拟硬盘移到其他存储位置。
虚拟光纤通道
新功能
从来宾操作系统内连接到光纤通道存储。
虚拟硬盘格式
更新功能
创建高达 64 TB 的稳定、高性能的虚拟硬盘。
虚拟交换机
更新功能
如网络虚拟化这样的新功能将支持多用户管理,以及 Microsoft 伙伴可提供的扩展,从而添加监视、转发和筛选数据包的功能。
                                                                   Hyper-V 3.0 新功能
    主流虚拟化产品对比
    Windows Server 2012上市后,不断的和VMware vSphere5.0进行比较,VMware也随之推出5.1的版本来应对,但是有点仓促,相对于5.0,硬件支持上并没有多大的提升。虽然在硬件支持和虚拟机支持上Hyper-V都略胜一筹,但是有些功能,还是VMware vSphere比较领先。在目前的小企业中,Hyper-V可以说是比较有优势,即使在数据中心,使用Hyper-V技术还是比较多的。主要就是1个原因,使用Windows Hyper-V Server 2012来做虚拟化,“0”成本。
clip_p_w_picpath002
    Hyper-V2012和vSphere5.1的对比
    安装Microsoft Hyper-V Server 是一件极简单的事,简单到序列号都不用输入。但是要注意自己的CPU参数。Hyper-V 需要一个 64 位处理器,支持虚拟化技术,包括Intel 虚拟化技术 (Intel VT) 或 AMD 虚拟化 (AMD-V) 技术)的处理器,硬件强制实施的数据执行保护 (DEP) 必须可用且已启用。具体地说就是,你必须启用 Intel XD 位(执行禁用位)或 AMD NX 位(无执行位)。目前,大部分的CPU都支持以上技术。
    安装完成后它会出一个基础的配置界面,如果您不小心关闭了这个配置界面,在提示符下输入Sconfig.cmd就可以打开了,如果你连cmd也不小心关掉了,可以采用Ctrl+Alt+Delete组合键,启动资源管理器-文件-运行新任务。之后在启动Sconfig.cmd。Sconfig.cmd是一个可以对这台服务器加入工作组或域、计算机名、网络、允许远程管理等做一个简单的配置。当然,也可以关机和重启。必须是管理员组的成员才能使用此工具。在CMD下,我们也可以用命令行做,但要复杂一些。
clip_p_w_picpath004
    Windows Hyper-V Server 2012操作界面
    本章节中,我们就主要对Hyper-V主机进行简单的设置,除了使用Sconfig.cmd来设置外,我们同样也采用命令行和Powershell来进行设置。
    首先我们先来更改计算机的名称,可以通过从主菜单访问“计算机名称”设置页面并按照说明进行操作,来更改计算机名称,更改后需要重启服务器,以便将更改应用到域或工作组成员。不过,你还可以进行其他更改,并在所有更改完成之后再重启服务器,以免需要多次重启服务器。默认情况下,重启 Hyper-V 服务器之前,正在运行的虚拟机会自动保存。
clip_p_w_picpath005
    通过Sconfig.cmd更改计算机名称
    同样,使用在使用命令提示符下,输入 hostname 命令查看计算机名称,然后通过输入 netdom renamecomputer WIN-E0FR29UVUGF /newname:Hyper-v02 更改计算机名称为Hyper-v02,同样的更改后需要重新启动。PowerShell我们要字符模式下输入:PowerShell 就进入PowerShell 模式,输入:Exit就退出PowerShell 模式。在PowerShell 模式下,重新命名服务器需要使用 hostname 或 ipconfig 命令确定服务器的当前名称,然后运行 Rename-Computer,重新启动计算机。
clip_p_w_picpath006
                                             通过命令行模式更改计算机名称
clip_p_w_picpath008
                                      通过Powershell模式更改计算机名称
   接下来设置Hyper-v服务器的网络设置,可以将 IP 地址配置为由 DHCP 服务器自动分配,或者你可以手动分配静态 IP 地址,配置 DNS 服务器设置。首先选择8网络设置,然后会列出可用的网络适配器。选择需要修改的网卡索引编号,回车。
clip_p_w_picpath009
                                                                           可用的网络适配器
    当我们选择了某一个需要修改的网卡时,就会列出网卡的详细信息,然后通过选项来修改网卡的属性。
clip_p_w_picpath010
                                                                        网络配置设置
    然后根据提示来输入选定网卡的IP地址。
clip_p_w_picpath011
                                                                                配置网卡信息
    修改完成后会返回上一菜单,这是我们在设置网卡的DNS,根据提示输入,最终完成设置首选DNS设置。
clip_p_w_picpath012
                                                                完成设置首选DNS设置
    通过命令行来进行设置IP地址,那是比较相对简单了,首先要显示网卡信息Netsh interface ipv4 show interfaces。通过这条命令,可以显示当前计算机的网卡的连接状态、IDX号和名称等信息。设置网卡的ipv4静态地址netsh interface ipv4 set address name= source=static address= mask= gateway= NAME=可以是从上一步命令得到的网卡的IDX号,也可以是网卡名称。StaticIP为网卡的静态IPV4地址,SubnetMask为子网码,DefaultGateway为网关地址。对于网卡设置,还有些常用的命令,比如设置网卡自动获得IP地址 Netsh interface ipv4 set address name=”idx” source=DHCP;重命名网络适配器 netsh interface set interface name=”oldname” newname=”newname”;禁用网络适配器: netsh interface set interface name=”name” admin=DISABLED等等。
clip_p_w_picpath013
                                                                             查看网卡信息
clip_p_w_picpath014
                                                                                        设置IP地址
    之后设置网卡的静态DNS服务器地址netsh interface ipv4 add dnsserver name=”” address= index=1。当有多个DNS服务器地址,必须重复使用此条命令,同时 index后的值必须跟着增加。设置动态指定DNS服务器地址 netsh interface ipv4 set dnsserver name=”” dhcp。
clip_p_w_picpath015
                                                                                       设置DNS
    在 Windows PowerShell 中,运行 Get-NetIPInterface。查看当前的网卡信息,然后记下IP 接口输出的 IfIndex 栏中显示的编号或者 InterfaceDescription 字符串。如果服务器拥有一个以上的网络适配器,记下你要设置静态 IP 地址的接口对应的编号或者字符串。在 Windows PowerShell 中,运行 New-NetIPAddress –InterfaceIndex 20 –IPAddress -192.168.1.199 –PrefixLength。
clip_p_w_picpath017
clip_p_w_picpath018
    在 Windows PowerShell 中设置DNS,则运行 Set-DNSClientServerAddress –InterfaceIndex 20 -ServerAddresses 192.168.1.100。若要添加多个 DNS 服务器,请运行 Set-DNSClientServerAddress –InterfaceIndex 12 -ServerAddresses 192.168.1.100,192.168.1.101如果需要转换成使用 DHCP,使用 Windows PowerShell 命令 Set-DnsClientServerAddress –InterfaceIndex 20 –ResetServerAddresses。
clip_p_w_picpath019
    当设置好网络和计算机名称后,我们可以将Hyper-V服务器加入的域环境中,也可以不加域,但是一般都加域。如果两台hyper-v主机做群集,必须加域,管理hyperv主机群集的SCVMM也是对域内的主机支持比较好,很多功能都是要受信任的域内的主机才支持。比如你的hyperv主机是工作组,用SCVMM做V2V时将不受支持。在服务器配置工具屏幕中显示中。可以通过从主菜单访问域/工作组设置页面,并按照下面页面上的说明(提供所需的信息)执行操作,加入某个域或工作组。在加入域的过程中需要加入域的权限帐号,输入密码不显示任何字符。成功加入域后,需要重新启动服务器。
clip_p_w_picpath020
                                                                  将Hyper-V加到域环境
clip_p_w_picpath022
                                                                                 输入域用户密码
    在命令行中将计算机加入到域,只要输入netdom join ComputerName /domain:DomainName /userd:UserName /passwordd:*。这里的ComputerName 是服务器机器名,DomainName 是加入域的域名,UserName是有权限加入域的域用户名。回车键入域用户的密码,操作成功后重启计算机即可加入到域。
    如果是从域中删除计算机,则输入 netdom remove ComputerName /domain:DomainName /userd:UserName /passwordd:*
clip_p_w_picpath023
    在 Windows PowerShell 中,运行 Add-Computer。系统会提示你加入域和域名的凭据。完成后重新启动计算机。可以使用命令 Restart-Computer行此操作。
clip_p_w_picpath025
    若要将其他用户添加到本地管理员组,请使用主菜单上的“添加本地管理员”选项。在加入域的计算机上,以下面的格式输入用户:域\用户名。在非加入域的计算机(工作组计算机)上,仅输入用户名。更改会立即生效。
clip_p_w_picpath026
    在命令控制行下,将用户添加到本地管理员组 net localgroup Administrators /add \。如果 将用户从本地管理员组中删除,则输入net localgroup Administrators /delete。
clip_p_w_picpath027
    当前 Windows 更新设置在默认服务器配置工具屏幕中显示。可以在主菜单的“Windows 更新设置”配置选项中将服务器配置为使用自动或手动更新。选中“自动更新”时,系统会在每天上午 3 点整查看和安装更新。设置会立即生效。选中“手动更新”时,系统不会自动查看更新。可以随时从主菜单的“下载和安装更新”选项下载和安装适用的更新。
clip_p_w_picpath029
clip_p_w_picpath031
clip_p_w_picpath033
    为了方便管理Hyper-V,我们可以使用图形化界面的Hyper-V管理器,他被集成到最新的Windows 8和Windows server 2012中,hyper-v功能只存在于Windows 8专业版和企业版中,并且默认未开启。Hyper-V 角色的管理工具包括基于 GUI 的管理工具,Hyper-V 管理器、Microsoft 管理控制台 (MMC) 管理单元以及虚拟机连接。Windows Server 2012 和Windows 8中的 Hyper-V 管理工具设计用来仅管理Hyper-V 3.0。无法用于管理早期版本的 Hyper-V。同样,Windows 7中管理器也无法管理Windows 8和2012中的Hyper-V。
    打开控制面板-程序-打开或关闭windows功能,勾选 hyper-v 点击,然后就显示正在配置 数秒后配置完成提示重新启动,点击确定,重新启动两次后成功后就能打开虚拟机功能。
clip_p_w_picpath034
clip_p_w_picpath036
clip_p_w_picpath038
    这样,就成功连接到了我们的Hyper-V Server 2012了,通过Hyper-V管理器可以实现可视化的管理,在下一节中可以进行虚拟机的建立和Hyper-V的设置。