当前位置: 首页 > 科技观察

微软爱Linux的铁证:运行在Hyper-V上的Linux和FreeBSD

时间:2023-03-22 11:06:00 科技观察

【引自Winclient的博客】经常听到有人问我们反复的问题:“微软会为Linux做些什么?”,我们的回答是:“A很多!”。将继续在Linux上进行能力的投入和创新,不仅在Azure公有云上,在WindowsServer、Hyper-V、SystemCenter等私有服务上也会继续完善Windows和Linux的合作。您可以单击此处了解Linux今天在Azure公共云中的功能。对于私有数据中心,我们将继续发布一系列有深度的技术文章来呼应2015年5月公开发布的内容。本系列文章将讲述如何在您的私有数据中心运行和管理Linux。在本系列文章的前半部分,我们将介绍Linux和FreeBSD如何在Hyper-V上运行。系列文章的后半部分将详细讲解如何通过SystemCenter和PowerShellDSC来管理Linux和Unix。GuestOS和IntegrationServices什么样的操作系统可以作为GuestOS操作系统在Hyper-V上运行?例如,经常有人问我:“我可以在Hyper-V上运行IBM的AIX操作系统吗?”要简单快速地回答这个问题,可以参考下面的流程图:hypervisor是为x86/x64架构设计的,所以看到GuestOS操作系统必须运行在x86/x64架构上是非常重要的。AIX是IBM为PowerPC架构设计的,因此它不能运行在Hyper-V上。不仅Hyper-V有这个要求,其他为x86/x64设计的hypervisor,如VMWareESX等也有这个要求,而且这种hypervisor不能运行AIX。如果操作系统运行在x86/x64架构下,接下来的问题就是操作系统是否具备Hyper-V提供的集成服务(IntegrationServices)。这种集成服务将在客户操作系统操作系统和管理程序之间提供更紧密的集成。让您的GuestOS操作系统获得更好的虚拟化性能和管理能力。Microsoft为Windows和大多数Linux发行版、FreeBSD提供完整的集成服务。对于Solarisx86等其他x86/x64操作系统,可以在Hyper-V提供的完全仿真模式下运行,但可能会有一些性能或稳定性限制,不适用于生产力环境,所以不推荐使用在生产环境中。接下来重点介绍Linux与FreeBSD的集成环境。集成服务到底在做什么?集成服务将为客户操作系统上的合成设备安装适当的驱动程序。这些仿真设备就像客户操作系统的真实硬件设置。安装仿真设备驱动程序后,GuestOS操作系统可以得到高性能网络控制器和存储控制器的支持,并为HostOS操作系统提供更好的管理能力。但是就像物理设备一样,这些模拟设备仍然需要根据不同的操作系统安装相应的硬件驱动程序才能使用。并且因为不同的操作系统有不同的设备驱动模型,这些驱动必须针对不同的操作系统编写不同的代码段。Windows、Linux、FreeBSD等不同类型、不同操作系统的设备驱动程序,因此集成服务将由不同的虚拟设备驱动程序组成。对于Linux和FreeBSD的集成服务,我们称之为Linux集成服务(LinuxIntegrationServices,LIS)和FreeBSD集成服务(FreeBSDIntegrationServices,BIS)。关于LIS开发微软有很多开发人员编写和开发用C编写并运行在Linux内核中的LIS。但在开发过程中和目前的微软产品是不同的设计过程。我们的开发人员积极参与Linux核心开发社区,通过Linux核心邮件列表定期更新LIS功能和修复相关bug。而Linux核心开发社区的成员会检查我们提交的程序代码,并提供相关的评论、意见和相关的修改建议,有时甚至会告诉我们,我们所做的是完全错误的!我们反复与社区互动以修复这些错误。最终提交的程序代码被社区接受后,将更新至最新版本的Linux核心程序代码库。而这个Linux核心程序代码库是由LinusTorvalds亲自组织维护的。本程序代码库包含经过全球修改和认可的Linux核心程序代码。当LIS的程序代码更新到Linux内核时,微软也将与几家主要的Linux发行版厂商合作,在新版LIS与特定版本的发行版之后更新集成Linux内核。但是,有些Linux发行版会使用以前版本的Linux内核,所以我们经常会和这些发行版的厂商进行“backport”行为。将最新版本的LIS集成到以前版本的Linux内核中。这些动作完成后,将进行各种测试,以确保性能和管理能力完整和稳定。我经常每个月数次与各个发行版厂商讨论技术问题和解决bug,并跟踪进度以确保最新的发行版能够在Hyper-V上顺利运行。并提供这些完全支持Hyper-V的供应商认证,例如RedHatEnterpriseLinuxonHyper-V。是我们经过认证且密切合作的Linux发行版供应商之一。关于LIS套件,如上所述,微软与几家重要的Linux发行版供应商合作,直接将LIS集成到这些发行版中。当您在Hyper-V上运行这些合作伙伴Linux发行版时,Hyper-V集成服务已经在运行,您无需额外工作即可放心操作。但是,不同的发行商有自己的发行时间表,每个发行版本都会有自己独立的时间表。可能是最新的LIS功能或者性能提升不够明显,导致这个版本发布的不确定性。它将集成到最新版本的LIS中,直到下一个版本发布后才能加入。因此,对于想要立即获得最新版本的LIS,微软也提供了单机安装(Standalone)套件,让用户可以直接安装到不同的Linux发行版中。如果您需要通过这种方式安装LIS,您可以点击这里从微软下载中心下载。并且LIS包可以安装到一些没有内置LIS或旧版本的发行版中。如果您使用的是微软提供的LIS3.5包,建议您升级到LIS4.0包。因为LIS4.0可以安装到预先集成了LIS的发行版中。计划能够每隔几个月更新一次LIS的功能和稳定性。关于LIS版本号,如果您在某些已内置LIS的发行版中查看LIS模块号,您可能会看到版本号“3.1”。请不要将此版本号与LIS4.0中的“4.0”进行比较,这并不意味着当前内置的LIS版本是旧版本,请浏览Linux/FreeBSD功能说明以检查当前在您的Linux发行版中的版本正确的方法是使用LIS中的函数,请点击此处查看函数说明。内置LIS用于将LIS深度集成到Linux发行版中,主要使用目前企业组织在生产力环境和数据中心广泛使用的发行版。对于FreeBSD,改进的主要重点是满足使用FreeBSD作为基本操作系统的虚拟设备提供商的要求。对于LIS和BIS,我们不断添加新功能并增强性能,以提供运行在Hyper-V上的GuestOS操作系统的最佳用户体验。也因为LIS和BIS是通过不同级别的社区和不同的发布者与不同的发行版一起发布的,所以更新不会像WindowsServer/Hyper-V那样有固定的发布时间。版本更新可能会更频繁地发生。因此,不同的Linux发行版和不同的FreeBSD版本所提供的支持能力会因版本而异,让人很难追踪到底增加了哪些新特性。为了解决这个难题,微软在TechNet上提供了完整的文档库,涵盖了主要Linux发行版和FreeBSD在LIS/BIS支持方面的差异。您可以查看我们关注的以下Linux版本的LIS功能支持:◆RedHatEnterpriseLinux◆CentOS◆SUSELinuxEnterpriseServer◆UbuntuServer◆DebianServer◆OracleLinux总结Linux和FreeBSD现在可以**最新运行在超级V!,微软已经尽一切努力让相关人士参与到Linux和FreeBSD社区中,并与不同的Linux发行版厂商建立生态系统,并可以将最新版本的GuestOS操作系统集成服务集成到我们在Linux重点合作的Linux发行版中制造商提供的分布。您可以在Hyper-V上安装和运行这些合作伙伴Linux发行版以及FreeBSD,而无需其他手续。在下一篇文章中,我们将深入探讨Hyper-V的关键技术,以便您可以为这些来宾操作系统利用在Hyper-V上运行Linux和FreeBSD的优势。