在Hyper-V Linux VM如何选择LIS Linux集成服务
| 导读 | 很多工程师都知道,如果你选择在 Hyper-V 中运行 Linux guest VM,要获得最好的使用体验,必需针对你所使用的 Linux 发行版和使用场景选择 Linux Integration Services(LIS,Linux 集成服务)。要想在 Hyper-V 中获得「最佳」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 发行商的更新代码或补丁方式进行修复。
Linux Integration Services 另一条交付通道便是微软为最终用户直接提供的 LIS 安装包,该种方式想必很多微软方向的工程师都不陌生,此种方式适用于 RHEL、CentOS 等采用 Red Hat 内核和兼容 Oracle Linux 的发行版。随着 Azure 的不断更新以及对 Windows Server 2016 新版 Hyper-V 的支持,独立 LIS 也保持了一定的更新频度和速度。独立 LIS 安装包的出现让用户可以及时更新,不必等待 Linux 厂商的官方更新便可获得 LIS 功能与性能提升。微软独立安装包目前最新为 LIS 4.1 和 LIS 4.0 版本,大家可以自行下载安装。
需要重点注意的是,使用独立 LIS 版本必需要有特定版本的 Linux 内核与之匹配。例如在使用 LIS 独立包的情况下,系统由 CentOS 7.0 更新到 7.1 后 LIS 包并不会更新,需要单独对 LIS 进行升级。如果你只更新 Linux 内核或大版本而不升级 LIS,可能造成 Linux 内核中的二进度不匹配,严重可能导致系统无法启动。微软会按 Hyper-V 支持条款对使用独立 LIS 包的 Linux 用户提供官方技术支持,如果你使用老版本,微软会在技术支持时要求升级到最新 LIS 版本观察问题是否存在。由于 LIS 主要是运行于 Linux 内核级的驱动,所以微软只提供版本更新,不太可能提供修复补丁。
下面就 Hyper-V Linux VM 该如何选择 Linux Integration Services 列出一个表格,仅供大家参考:

在Hyper-V Linux VM如何选择LIS Linux集成服务的更多相关文章
- Hyper V NAT 网络设置 固定IP / DHCP
Hyper V 默认的Default Switch同时支持了NAT网络以及DHCP,虚拟机能够访问外网. 但使用过程中发现这个IP网段经常变化,而且Hyper V没有提供管理其NAT网络与DHCP的图 ...
- Azure PowerShell (12) 通过Azure PowerShell创建SSH登录的Linux VM
<Windows Azure Platform 系列文章目录> 本章将介绍如何使用Azure PowerShell,创建SSH登录的Linux VM 前提要求: 1.安装Azure Pow ...
- windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理
windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理 今天在dell r710 上用windows server 2008 r2企业版hyper v 做虚拟化,添 ...
- 对连接到 Azure 中 Linux VM 时出现的问题进行详细的 SSH 故障排除的步骤
有许多可能的原因会导致 SSH 客户端无法访问 VM 上的 SSH 服务. 如果已经执行了较常规的 SSH 故障排除步骤,则需要进一步排查连接问题. 本文指导用户完成详细的故障排除步骤,以确定 SSH ...
- Azure的CentOS上安装LIS (Linux Integration Service)
Azure上虚拟化技术都是采用的Hyper-v,每台Linux虚拟机都安装了LIS(Linux Integration Service).LIS的功能是为VM提供各种虚拟设备的驱动.所以LIS直接影响 ...
- 容器场景要选择什么 Linux 版本?
容器的底层实现深度依赖于内核的众多特性,如 overlay 文件系统,namespace, cgroup 等,因此内核的功能和稳定性,在很大程度上,决定了整个容器PaaS平台的功能和稳定性.从 TKE ...
- 设置Hyper V
1.打开服务器管理器 2.添加角色和功能 3.安装类型 -> 基于角色或基于功能的安装 4.服务器选择 -> 下一步 5.服务器角色 勾选"Hyper V"
- Azure Linux VM Swap 分区
默认情况下,Windows Azure上的Linux VM是没有Swap分区的.下面我们以Ubuntu为例,为Windows Azure上的Linux虚拟机创建Swap分区. Windows Azur ...
- Linux VM acquisition
The evidence is a VM as below. The flat vmdk is the real disk, and the vmdk only 1kb is just a descr ...
随机推荐
- mysql root用户密码个性
对名为“mysql”数据库下的表“user”进行操作如下语句:update user set password=PASSWORD("your_password") where us ...
- Linux 设置IP,gate, 以及自动获取IP的方法
一.使用命令设置ubuntu的ip地址 1.修改配置文件blacklist.conf禁用IPV6: sudo vi /etc/modprobe.d/blacklist.conf 2.在文档最后添加 b ...
- Spring4.* 中整合 Hibernate
1. Spring 整合 Hibernate 整合什么 ? 1). 有 IOC 容器来管理 Hibernate 的 SessionFactory2). 让 Hibernate 使用上 Spring 的 ...
- django Models cross file ---- 跨app引用文件
一.django 的跨app引用文件是通过import 来实现的,但是import 的路径查找和标准的import 不太一样,django里面更加方便了 二.例子 1.project 结构说明 [ji ...
- php回调函数call_user_func和call_user_func_array详解
call_user_func($fun); call_user_func 函数类似于一种特别的调用函数的方法,使用方法如下: 1.调用 普通函数: <?php function a($b, $c ...
- Linux 指令篇:磁盘管理--tree
Linux 指令篇:磁盘管理--tree 功能说明:以树状图列出目录的内容. 语 法:tree [-aACdDfFgilnNpqstux][-I <范本样式>][-P <范本样式&g ...
- [svc]salt-grains
用途 1,匹配客户端 2,配置文件里使用 3,资产管理 定义grains方法1: 方法2:
- spring中事务传播解读:PROPAGATION_REQUIRES_NEW
第一步:获取事务状态,判断当前事务线程是否存在.第二步:如果当前事务的传播行为为PROPAGATION_REQUIRES_NEW,挂起当前线程绑定的事务,取消当前事务的sessionHolder和co ...
- docker Failed to get D-Bus connection 报错 docker run -e MYVAR1 --env MYVAR2=foo --env-file ./env.list ubuntu bash
docker Failed to get D-Bus connection 报错 原创憬薇2016-01-15 11:25:26评论(10)40278人阅读 在centos7的容器里面出现了一个B ...
- android system.img 解压和打包
system.img重新编译的时间太长,添加和更改的文件系统内容,往往通过对system.img加压再打包的方式. 参考链接 http://blog.csdn.net/whu_zhangmin/art ...