虚拟机仍然重要的5个原因

容器使用操作系统的CPU。虚拟机使用模拟的CPU。如果你需要运行的软件不是在你机器上的CPU上编译的,那么你必须运行虚拟CPU。

本文来自微信公众号“开源云中文社区”。

容器是现代基础设施的一项重要技术,但虚拟机仍然占有一席之地。

虚拟化曾经是一件大事。有一段时间,它是在“沙盒”环境中运行服务的主要方式。数百个IT部门使用虚拟机。然后容器出现了,用所需的一小部分资源完成了虚拟机所能完成的大部分任务。虽然容器技术让虚拟机看起来很笨重,但并没有让它们变得完全多余。事实上,虚拟化在今天和以往一样有用,原因有五个。

1.Distro hopping

“Distro hopping”是一个经常用来描述无法(故意或以其他方式)选择单一发行版的术语。有些人只是喜欢尝试每次发布的不同的Linux发行版。为什么不呢?Linux发行版是一件小小的艺术品,是由来自世界各地的热情团队创造的有爱的劳动。看看人们把什么放在一起很有趣。

新发行版的部分体验是图形安装过程、第一次登录和大桌面展示。安装速度有多快?它使用什么桌面?壁纸是什么样子的?理解和导航有多容易?最重要的是,即使是你仍在使用Windows或macOS的朋友也会安装并喜欢这个吗?

你不能在容器中复制它。从设计上讲,容器是操作系统的部分镜像,假设它已经安装。对于繁忙的系统管理员来说,这是容器的一大优势,但如果你想要桌面用户体验,那么虚拟机就是你想要的。

2.开发

编程很难做到正确,当你为不止一个平台开发应用程序时,更难做到正确。除了Java,很少有编程语言能够针对所有平台。在Linux上启动并运行良好的应用程序可能会在Windows上出现错误,并且可能根本无法在macOS上启动。

像Vagrant和libvirt这样的工具可以确保你可以根据需要运行特定操作系统的特定版本。你可以获得一个快速的环境,该环境很容易在多个开发人员之间进行复制。这对于测试代码、确认兼容性以及测试库或工具包的新版本非常有用。

3.支持和文件

bug报告可能非常具体,有时只需查看GDB即可确定问题的原因。然而,在其他时候,bug报告会与代码无关,而是与过程本身有关。例如,用户可能会抱怨应用程序的布局,或者应用程序与桌面上某个元素交互的方式,或者如何完成复杂的配置。在这种情况下,你可能需要尝试复制用户的工作流,有时这需要运行用户正在运行的内容。

在过去,当需要向用户描述在他们的分发过程中为实现目标所采取的确切步骤时,笔者已经做过几次了。仅仅笼统的陈述是不够的。笔者安装了用户正在运行的发行版的新副本,并记录了步骤,并配有屏幕截图。如果他们不能让它发挥作用,那么相信问题不在于他们的设置。

4.架构

容器使用操作系统的CPU。虚拟机使用模拟的CPU。如果你需要运行的软件不是在你机器上的CPU上编译的,那么你必须运行虚拟CPU。

5.其他一些操作系统

容器是Linux。当你运行一个容器时,你就是在一个容器中运行Linux,而不管你是在Windows还是Mac上运行该容器。

要运行Windows,无论是支持、遗留服务还是开发,你都必须对其进行虚拟化。礼貌地说,苹果继续围绕虚拟化macOS执行一项“复杂”的法律要求,但如果允许,则会在虚拟机中执行。或者,也许你使用的是Windows或macOS,但想在桌面上运行Linux发行版,以此来适应新的操作系统。虚拟机是一种实用而简单的方式,可以在没有备用计算机的情况下拥有备用计算机。

虚拟机是访问软件定义的计算机执行日常任务的一种简单方法。还有很多关于如何与虚拟机交互的选项,包括GNOME Boxes、Vagrant、VirtualBox,甚至直接与Qemu交互。

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论