使用Hyper-V Server创建Linux虚拟机

简介:

通过 Hyper-V 及 Windows Azure 供应 Linux,这是微软改善对开源软件支持情况的一大举措。作为该倡议的一部分,微软的 Linux 集成服务(LIS)团队持续开发着先进的 Linux 驱动,并直接由 Linux 的内核团队进行检查,因此 CentOS、Debian、Red Hat、SUSE 及 Ubuntu 等主要发行版的后续新版本都能直接进行集成。

该集成服务最初是通过微软网站提供下载的。Linux 用户下载并安装这些驱动,并在需要获得支持时直接联系微软。随着驱动的逐渐成熟,现已直接包含在 Linux 发行版中。这样不仅可以避免从微软网站额外下载内容,还可以让用户充分使用与 Linux 供应商的现有技术支持。

image

Hyper-V在Linux上的支持主要体现在:

1. 64 颗虚拟处理器的支持及更深入的集成服务支持

随着 Windows Server 2012 及后续 Windows Server 2012 R2 的发布,Hyper-V 支持通过虚拟机最多使用 64 颗虚拟处理器运行 Linux,这样即可大幅提高 CPU 密集型负载的扩展性与性能。此外 Linux 集成服务也有巨大的改进,可进一步提高网络与存储控制器性能,支持 Fastpath Boot、Time Keeping、集成式关机等。

2. 合成桢缓冲区驱动

缓冲区驱动能极大提升 Hyper-V 宿主机上运行 Linux 虚拟机时的图形性能。此外该驱动能为 Hyper-V 上桌面模式的 Linux 来宾系统提供完整的高清模式分辨率(1920x1080)。

合成桢缓冲区驱动另一个显著影响在于,新版解决了双重光标问题。不过使用较老 Linux 发行版桌面模式的一些客户依然汇报说会在屏幕上看到两个相互追逐的光标指针。这个令人分心的问题已经通过合成 2D 桢缓冲区驱动顺利解决,能为 Linux 桌面用户带来更好的体验。

3. 动态内存支持

Linux 来宾系统通过使用动态内存,可在每台宿主机上实现更高的虚拟机密度。对于希望使用 Hyper-V 整合服务器负载的 Linux 管理员,这一特性将带来巨大价值。内部测试显示,运行 Linux 的虚拟机启用动态内存后,服务器容量提升了 30-40%。

Linux 动态内存驱动会监控 Linux 虚拟机的内存用量,并定期将其上报给 Hyper-V。根据报告的用量,Hyper-V 可针对所托管的多个虚拟机动态调整内存分配情况。另外要注意,Linux 与 Windows 虚拟机配置动态内存的界面是相同的。

Linux 虚拟机的动态内存驱动可提供热添加及 Ballooning 支持,并可在 Hyper-V 管理器中配置启动、最小内存,及最大内存参数。

系统启动时,Linux 虚拟机会使用启动参数配置的内存数量进行引导。如果虚拟机需要更多内存,Hyper-V 会使用热添加机制动态增加虚拟机可用的内存数量。

另外如果虚拟机需要的内存小于分配的值,Hyper-V 会使用 Ballooning 机制将虚拟机可用内存数量减少到一个合适的值。

4. 实时虚拟机备份支持

对于在 Hyper-V 上运行 Linux,很多客户希望能为运行中的 Linux 虚拟机创建无缝备份。过去客户必须挂起或关闭 Linux 虚拟机以创建备份。这一过程不仅难以自动化实现,而且会导致关键负载停机。

为解决这一问题,现在 Hyper-V 上运行的 Linux 来宾系统可使用文件系统快照驱动。Hyper-V 标准的备份 API 可触发该驱动,为运行 Linux 的虚拟机所连接的 VHD 创建文件系统一致性快照,但不影响或打断虚拟机内的任何操作。

Linux 虚拟机与 Windows 虚拟机备份功能的一个重要差异在于,Linux 的备份只能确保与文件系统的一致性,而 Windows 备份可确保文件系统与应用程序的一致性。这是因为 Linux 缺乏标准化的卷影复制服务(VSS)基础结构。

5. 实时动态扩展固定容量的 VHDX

动态调整 VHDX 容量的功能使得管理员能够在为 VHD 分配存储的同时通过新格式改善性能。该功能现在也可用于 Hyper-V 上运行的 Linux 虚拟机。另外要注意,Linux 文件系统非常能够适应底层磁盘驱动器的动态容量变更。

6. Linux kdump/kexec 支持

托管商在 Windows Server 2012 与 Windows Server 2012 R2 环境中运行 Linux 的一个主要痛点在于,必须使用遗留的驱动(参见 KB 2858695)为 Linux 虚拟机创建内核转储。

在 Windows Server 2012 R2 中,Hyper-V 基础结构通过改进,可使用存储与网络驱动无缝创建崩溃转储,因此不再需要任何特殊的配置,Linux 用户可随意对网络或附加存储设备的内核创建转储。

7. NMI 支持

如果运行在 Hyper-V 上的 Linux 系统彻底失去响应,现在用户可以使用 Non-Maskable Interrupts(NMI)与系统通讯。这种方法非常适合对由于内核或用户模式组件导致的系统锁死问题进行诊断。

8. 内存映射 I/O(MMIO)Gap 规范

基于 Linux 的设备制造商都使用 MMIO gap(也叫做 PCI Hole)在用于启动设备的 Just Enough Operating System(JeOS)与驱动设备的实际软件基础结构间分配可用物理内存。无法配置 MMIO gap 会导致 JeOS 耗尽所有可用内存,使设备的自定义软件基础结构无内存可用。这一缺陷使得我们无法开发基于 Hyper-V 的虚拟设备。

设备制造商可以借助 Windows Server 2012 R2 Hyper-V 基础结构配置 MMIO gap 的位置。该功能促进了在虚拟化环境中供应 Hyper-V 驱动的虚拟设备的做法。

本篇幅演示使用Hyper-V创建Linux虚拟机,并安装Hyper-V集成服务,由于CentOS版本6.4开始已集成Hyper-V集成服务,因此这里以CentOS6.3为例。

一、 创建Linux虚拟机

1,登陆Hyper-V服务器,打开Hyper-V管理器,右键Hyper-V服务器名称,选择新建,点击虚拟机

image

2,新建虚拟机向导页面,点击下一步

3,指定虚拟机名称以及存储位置,点击下一步

image

4,选择虚拟机代数,这里选择第一代虚拟机,稍后将创建基于第二代的Linux虚拟机,点击下一步

image

5,分配虚拟机内存

image

6,配置网络

image

7,连接的虚拟硬盘,这里选择创建虚拟硬盘,点击下一步

image

8,安装选项页面,选择从可启动的CD/DVD安装操作系统,点击下一步

image

9,摘要页面确认无误后,点击完成,等待虚拟机创建完成

image

10, 右键创建的虚拟机“BJ-CentOS-01”,选择连接,点击菜单栏中开机按钮

image

11, 选择第一项,安装或升级操作系统

image

12, 由于未安装Hyper-V集成服务,当使用鼠标进行操作时,会提示

image

13, 等待CentOS6.3安装完成

image

 

二、 安装Hyper-V集成服务

Linux集成服务主要提供如下功能实现Hyper-V与Linux虚拟机进行交互与通信

1) Driver support: Linux Integration Services supports the network controller and the IDE and SCSI storage controllers that were developed specifically for Hyper-V.

2) Fastpath Boot Support for Hyper-V: Boot devices now take advantage of the block Virtualization Service Client (VSC) to provide enhanced performance

3) Time Keeping: The clock inside the virtual machine will remain accurate by synchronizing to the clock on the virtualization server via Timesync service, and with the help of the pluggable time source device.

4) Integrated Shutdown: Virtual machines running Linux can be shut down from either Hyper-V Manager or System Center Virtual Machine Manager by using the “Shut down” command.

5) Symmetric Multi-Processing (SMP) Support: Supported Linux distributions can use multiple virtual processors per virtual machine. The actual number of virtual processors that can be allocated to a virtual machine is only limited by the underlying hypervisor.

6) Heartbeat: This feature allows the virtualization server to detect whether the virtual machine is running and responsive.

7) KVP (Key Value Pair) Exchange: Information about the running Linux virtual machine can be obtained by using the Key Value Pair exchange functionality on the Windows Server virtualization server.

8) Integrated Mouse Support: Linux Integration Services provides full mouse support for Linux guest virtual machines.

9) Live Migration: Linux virtual machines can undergo live migration for load balancing purposes

10) Jumbo Frames: Linux virtual machines can be configured to use Ethernet frames with more than 1500 bytes of payload

11) VLAN tagging and trunking: Administrators can attach single or multiple VLAN ids to synthetic network adapters

12) Static IP Injection: Allows migration of Linux virtual machines with static IP addresses.

13) Linux VHDX resize: Allows dynamic resizing of VHDX storage attached to a Linux virtual machine.

14) Synthetic Fibre Channel Support: Linux virtual machines can natively access high performance SAN networks.

15) Live Linux virtual machine backup support: Facilitates zero downtime backup of running Linux virtual machines.

16) Dynamic memory ballooning support: Improves Linux virtual machine density for a given Hyper-V host.

17) Synthetic video device support: Provides improved graphics performance for Linux virtual machines.

18) PAE kernel support: Provides drivers that are compatible with PAE enabled Linux virtual machines.

1. 首先需要在微软官方网站下载Linux版Hyper-V集成服务

http://www.microsoft.com/zh-CN/download/details.aspx?id=41554

2. 插入下载的LinuxICv35.iso集成服务镜像文件

image

3. 使用如下命令查看挂在的ISO文件

# mount /dev/cdrom /media

4. 根据Linux系统版本进入以下目录(RHEL与CentOS工用一个集成服务)

cd /media/CDROM/RHEL63

5. 执行以下命令完成安装Hyper-V集成服务

# ./upgrade.sh

image

6. 升级完成之后重启虚拟机“BJ-CentOS-01”

image  

7. 虚拟机“BJ-CentOS-01”重启之后,可以使用鼠标对虚拟机进行相关操作以及直接使用image 管理Linux虚拟机

image

8. 验证Linux版的Hyper-V集成服务

使用# /sbin/modinfo hv_vmbus filename验证这个Hyper-V vmbus名称

image

使用# /sbin/lsmod | grep hv验证所有Hyper-V组件

image

1) hv_utils:provides integrated shutdown, key-value pair(KVP) data exchange, heartbeat, mouse and live backup.

2) hv_timesource:is the pluggable time source module to assist in accurate timekeeping in the virtual machine

3) hv_storvsc:provides support for all storage devices attached to a virtual machine

4) hv_vmbus:is the fast communication channel between the server running Hyper-V and the virtual machine

9. 创建基于Hyper-V二代虚拟机的CentOS6.6虚拟机

首先下载CentOS6.6安装镜像文件,建议使用英文版并且进行系统补丁

http://www.centos.org/

Hyper-V虚拟机代数页面,选择第二代虚拟机,点击下一步

image

选择从可启动的映像文件安装操作系统,点击下一步

image

新建虚拟机摘要页面,确认无误后点击完成,等待虚拟机创建完成

image

10.返回Hyper-V管理控制台,右键创建的虚拟机“BJ-CentOS-02”,选择开机

image

11.选择CentOS6.6,开始进入系统安装向导

image

 

更多Hyper-V虚拟化与Linux相关知识请见

http://technet.microsoft.com/en-us/library/dn531030.aspx




     本文转自 徐庭 51CTO博客,原文链接:http://blog.51cto.com/ericxuting/1586779,如需转载请自行联系原作者

相关文章
|
1月前
|
Linux 虚拟化 iOS开发
Windows Server 2008 R2 OVF (2025 年 4 月更新) - VMware 虚拟机模板
Windows Server 2008 R2 OVF (2025 年 4 月更新) - VMware 虚拟机模板
79 29
Windows Server 2008 R2 OVF (2025 年 4 月更新) - VMware 虚拟机模板
|
2月前
|
运维 虚拟化 Windows
Hyper-V Win8虚拟机启动错误修复教程
针对Hyper-V Win8虚拟机启动错误,本教程提供详细修复步骤。首先进行硬件兼容性检查,确保CPU支持虚拟化并启用,同时检查内存和存储空间是否充足。接着以管理员身份登录,使用事件查看器排查错误。管理Hyper-V服务,确保相关服务正常运行。检查虚拟机状态,优化资源分配,并修复虚拟硬盘文件。更新系统和重装Hyper-V组件也是有效手段。最后,排查硬件故障、备份数据及处理第三方软件冲突。通过这些步骤,多数启动问题可得到解决。
|
2月前
|
存储 网络协议 网络安全
Hyper-V Win10虚拟机配置常见问题
在配置Hyper-V Win10虚拟机时,用户常面临网络连接、虚拟交换机配置、资源分配及其他问题。例如,虚拟机无法获取IP地址可能源于DHCP服务异常,需检查并启动该服务;外部虚拟交换机配置错误则需确保物理网络适配器正确连接。此外,内存不足或虚拟硬盘性能瓶颈也会影响运行效果。通过合理调整资源配置、优化设置及遵循最佳实践,可有效解决这些问题。
|
2月前
|
监控 网络安全 虚拟化
Hyper-V中Win10,虚拟机运行错误处理的方案
当Hyper-V中的Windows 10虚拟机出现运行错误时,可按以下步骤处理:首先进行基本检查与修复,包括检查虚拟机配置、确保Hyper-V服务正常运行及重启相关服务。其次,使用PowerShell命令或DISM工具修复虚拟机配置和系统组件。接着,查看事件查看器中的错误日志,分析问题原因。调整虚拟机资源分配,优化性能。针对特定错误情况,如启动失败或网络问题,采取相应措施解决。若问题仍未解决,考虑克隆、重置或重新安装虚拟机,必要时联系技术支持。操作前请备份重要数据并以管理员身份运行命令。
|
2月前
|
监控 测试技术 数据库
详解Hyper-V虚拟机CPU分配方法
在Hyper-V环境中,合理分配虚拟机的CPU资源至关重要。vCPU是物理CPU的虚拟化表示,管理员可通过指定处理器数量、核心数、设置兼容性和亲和性、启用动态分配等方法优化性能。使用性能监视工具监控并调整CPU资源,避免过度分配,确保虚拟机稳定运行。定期评估和优化资源分配策略,以适应业务变化,保持最佳性能。
|
2月前
|
安全 网络协议 网络安全
当虚拟机出现网络连接问题时,应该先检查Hyper-V的网卡连接配置
当虚拟机出现网络连接问题时,应首先检查Hyper-V的网卡配置。具体步骤包括:确认虚拟机运行状态、检查虚拟交换机类型和物理网卡连接、确保虚拟机网络适配器正确连接到虚拟交换机,并验证网络配置(IP地址等)。常见问题如虚拟交换机配置错误、网络适配器未连接或防火墙阻止连接,可通过重新配置或调整设置解决。必要时重启虚拟机和宿主机,查看事件日志或联系技术支持以进一步排查问题。
|
2月前
|
虚拟化 网络虚拟化 Windows
导入虚拟机到Hyper-V环境时,理解并配置网络适配器设置是确保网络通信的关键
在Hyper-V环境中,正确配置虚拟机的网络适配器是确保其网络通信的关键。需先启用Hyper-V功能并创建虚拟交换机。接着,在Hyper-V管理器中选择目标虚拟机,添加或配置网络适配器,选择合适的虚拟交换机(外部、内部或私有),并根据需求配置VLAN、MAC地址等选项。最后,启动虚拟机并验证网络连接,确保其能正常访问外部网络、与主机及其他虚拟机通信。常见问题包括无法访问外部网络或获取IP地址,需检查虚拟交换机和适配器设置。
|
2月前
|
编解码 Linux 虚拟化
在Hyper-V虚拟化的图形处理中,怎么调整虚拟机的屏幕分辨率?
在Hyper-V虚拟化中,调整虚拟机屏幕分辨率对提升用户体验和确保应用程序兼容性至关重要。高分辨率可提供清晰图像、提高工作效率,并避免显示异常。调整方法包括通过增强会话模式、虚拟机内部设置或手动编辑配置文件。注意事项包括正确安装显卡驱动、避免过高分辨率及及时保存设置。
|
9天前
|
缓存 Linux 数据安全/隐私保护
Linux环境下如何通过手动调用drop_caches命令释放内存
总的来说,记录住“drop_caches” 命令并理解其含义,可以让你在日常使用Linux的过程中更加娴熟和自如。
60 23