如何在Linux发行版中安装并启用Hyper

如题所述

Hyper-v是什么:

Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术。

Hyper-V底层的Hypervisor代码量很小,不包含任何第三方的驱动,非常精简,所以安全性更高。Hyper-V采用基于VMbus的高速内存总线架构,来自虚机的硬件请求(显卡、鼠标、磁盘、网络),可以直接经过VSC,通过VMbus总线发送到根分区的VSP,VSP调用对应的设备驱动,直接访问硬件,中间不需要Hypervisor的帮助。这种架构效率很高,不再像以前的Virtual Server,每个硬件请求,都需要经过用户模式、内核模式的多次切换转移。更何况Hyper-V现在可以支持Virtual SMP,Windows Server 2008虚机最多可以支持4个虚拟CPU;而Windows Server 2003最多可以支持2个虚拟CPU。每个虚机最多可以使用64GB内存,而且还可以支持X64操作系统。

完美支持Linux系统

Hyper-V可以很好地支持Linux,可以安装支持Xen的Linux内核,这样Linux就可以知道自己运行在 Hyper-V之上,还可以安装专门为Linux设计的Integrated Components,里面包含磁盘和网络适配器的VMbus驱动,这样Linux虚机也能获得高性能。比如Novell SUSE Linux 10 SP1,其中的网卡驱动,其总线类型就是VMbus。

Hyper-V可以采用半虚拟化(Para-virtualization)和全虚拟化(Full-virtualization)两种模拟方式创建虚拟机。半虚拟化方式要求虚拟机与物理主机的操作系统(通常是版本相同的Windows)相同,以使虚拟机达到高的性能;全虚拟化方式要求CPU支持全虚拟化功能(如Inter-VT或AMD-V),以便能够创建使用不同的操作系统(如Linux和Mac OS)的虚拟机。

如何选择LIS

很多相关工程师都知道,如果选择在 Hyper-V 中运行Linux guest VM,要获得最好的使用体验,必需针对你所使用的 Linux 发行版和使用场景选择 Linux Integration Services(LIS,Linux集成服务)。要想在 Hyper-V 中获得「最佳」Linux 使用体验会比较有趣。

Linux发行版内置的LIS

首先各大 Linux 发行厂商,例如 Red Hat、SUSE、Oracle、Canonical 和 Debian 社区等是 Linux Integration Services(LIS)最为直接的交付方式。微软和 Linux 社区开发人员会将大的 LIS 更新提交到 Linux 内核邮件列表,并从 Linux 社区收集代码审查和反馈意见。当反馈过程完成后,更改便会被纳入上游由 Linus Torvalds 和 Linux 社区「维护者」负责的 Linux 内核。当验收合格后,Linux 发行厂商会将 Linux 内核移植到自己的发行版本当中,并由该发行商将 LIS 作为其产品的一部分进行构建和测试。测试完成后,微软将得到产品的早期版本并将自己的测试结果返回给发行商。目前 Red Hat、SUSE、Canonical和 Oracle 等公司都与微软保持着这样的合作流程,所涉及的产品包括 RHEL、CentOS、SLES、Oracle Linux 和 Ubuntu。当然,Debian 社区也与微软保持同样的合作。

这条 LIS 发行通道被微软称为「内置」,即你从 Linux 发行商那里获取到产品时就已经内置了 LIS。例如,当你从 CentOS 7.0 升级到 7.1 后就会获得 CentOS 7.1更新的 LIS。需要注意的是,微软并没对内置式 LIS 指定版本号,用户什么时候能获得 LIS 更新完全取决于发行厂商何时从上游拉取并更新 Linux 内核。此种「内置」方式唯一不足之处就是用户可能无法及时获取到最新 LIS 更新及新特性,但 Linux 厂商与微软之间的联合测试能够保尽可能证 Linux 系统在 Hyper-V 环境下的使用稳定。对内置 LIS 的技术支持完全取决于最终用户与 Linux 发行商之间的支持协议和条款,微软的直接客户可以按 Hyper-V 的支持协议条款获取到微软官方的技术支持。在以上两种情况下,LIS 代码级 Bug 会由微软与Linux 发行商配合搞定,并通过 Linux 发行商的更新代码或补丁方式进行修复。

微软LIS独立安装包

Linux Integration Services 另一条交付通道便是微软为最终用户直接提供的 LIS 安装包,该种方式想必很多微软方向的工程师都不陌生,此种方式适用于 RHEL、CentOS 等采用 Red Hat 内核和兼容 Oracle Linux 的发行版。随着 Azure 的不断更新以及对 Windows Server 2016 新版 Hyper-V 的支持,独立 LIS 也保持了一定的更新频度和速度。独立 LIS 安装包的出现让用户可以及时更新,不必等待 Linux 厂商的官方更新便可获得 LIS 功能与性能提升。微软独立安装包目前最新为 LIS4.1 和 LIS4.0 版本,大家可以自行下载安装。

需要重点注意的是,使用独立LIS 版本必需要有特定版本的Linux 内核与之匹配。例如在使用LIS 独立包的情况下,系统由CentOS 7.0 更新到 7.1 后 LIS 包并不会更新,需要单独对 LIS 进行升级。如果你只更新 Linux 内核或大版本而不升级 LIS,可能造成 Linux 内核中的二进度不匹配,严重可能导致系统无法启动。微软会按Hyper-V 支持条款对使用独立 LIS 包的 Linux 用户提供官方技术支持,如果你使用老版本,微软会在技术支持时要求升级到最新LIS 版本观察问题是否存在。由于LIS 主要是运行于 Linux 内核级的驱动,所以微软只提供版本更新,不太可能提供修复补丁。

 

下面就 Hyper-V LinuxVM 该如何选择 Linux Integration Services 列出一个表格,仅供大家参考:

   

注意:

1.某些Linux发行版自身已经安装有LIS。对于这些发行版,大家只需要启用即可在Hyper-V中发挥其全部功能特性。

2.请在已经安装了LIS驱动程序与服务的Linux发行版中启用集成服务

安装LIS集成服务

1. éœ€è¦LIS的iso

2.利用Hyper-V管理器将LIS ISO导入虚拟机系统

3. å°†LinuxIC-4.1.2-2.iso文件指向Linux虚拟机系统

4.执行以下命令以启动该ISO文件:

5.以root权限登录并对相关目录作出变更,具体以需要安装的发行版本决定

6.运行LIS ISO所提供的脚本以安装LIS

5. 重新启动Linux虚拟机,这样LIS组件就会完成初始化并成功注册。

重新启动之后,利用“lsmod”或者“Modinfo”命令检查LIS驱动程序与服务的当前状态。



启用集成服务的步骤

1. 第一步是利用以下命令编辑/etc/initramfs-tools文件夹下的“modules”文件:

 

2. 在vi编辑器中,找到该文件的最后一行并使用(I)插入命令加入以下命令行:

3. 接下来按下Esc键并利用“:x”命令保存文件。

4. 然后通过以下命令对“modules”文件重新进行初始化:

5. 最后,通过在Shell中执行以下命令重新启动虚拟机系统:

6. 客户虚拟机重新启动完成之后,LIS驱动程序与服务都将在系统中得到注册。重新启动之后,大家可以通过以下命令确认LIS驱动程序与服务是否已经安装完毕:

Lsmod

通过这项命令应该能够看到LIS驱动程序与服务被包含在列表当中,需要在其中找到hid_hyperv,hv_netvsc, hv_utils, hv_storvc以及hv_vmbus,有它们在LIS才能被正确启用。

温馨提示:答案为网友推荐,仅供参考