在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 ...
随机推荐
- python基础之Event对象、队列和多进程基础
Event对象 用于线程间通信,即程序中的其一个线程需要通过判断某个线程的状态来确定自己下一步的操作,就用到了event对象 event对象默认为假(Flase),即遇到event对象在等待就阻塞线程 ...
- 完善String类([]、 +、 += 运算符重载)、>>和<<运算符重载
在前面文章中使用过几次String类的例子,现在多重载几个运算符,更加完善一下,并且重载流类运算符. []运算符重载 +运算符重载 +=运算符重载 <<运算符重载 >>运算符重 ...
- xml去除指定节点,保留子节点操作
现有xml文件: <?xml version="1.0" encoding="utf-8" ?> <ShiftConfig xmlns:xsi ...
- js方式实现页面加遮罩效果
有时候在页面上执行查询的时候由于数据量很大,需要较长时间,所以就需要在等待结果期间不可以操作页面,那么可以使用如下代码给页面添加遮罩效果: $.messager.progress({ title: ' ...
- laravel的cookie操作
前提你的整个http流程一定要走完,页就是必须走到view()或Response,你写到中间中断调试,cookie是设置不上去的......(坑~~) 读取: $value = Cookie::get ...
- github上创建ssh连接多个账户
简单的说用两对ssh密钥来连接多个github账户,有的同学问:用一对连接多个账户行吗?答案是不行,因为密钥和你的账户邮箱关联了. 1.生成密钥. sshkey -t rsa -b 4096 -C & ...
- JMeter学习笔记(四)
1. 断言 断言组件是通过获取服务器响应数据,然后根据断言规则去匹配这些响应数据:匹配到是正常现象,此时我们看不到任何提醒,如果匹配不到,即出现了异常情况,此时JMeter就会断定这个事务失败,那么我 ...
- Selenium 之18 种定位方式
1 id 定位 driver.find_element_by_id() HTML 规定id 属性在HTML 文档中必须是唯一的.这类似于公民的身份证号,具有很强的唯一性 from selenium i ...
- <unistd.h>的close(0)导致std::cout被关闭
代码如下:其中ZJ::open_max返回系统允许的打开的文件的最大个数 #include "util.h" #include <unistd.h> // int cl ...
- 二、thinkphp
## ThinkPHP 3.1.2 查询方式#讲师:赵桐正微博:http://weibo.com/zhaotongzheng 本节课大纲:一.普通查询方式 a.字符串 $arr=$m->wher ...