借助虚拟化,我们现在以全新的方式管理和部署计算资源。创建和管理虚拟机 (VM) 的能力对于任何对技术感兴趣的人来说都是至关重要的,无论他们是程序员、系统管理员还是只是技术爱好者。 Multipass(Canonical 创建的开源程序)提供了一种在本地计算机上创建和管理虚拟机的简单方法。本综合指南将深入介绍 Multipass 的安装、使用和众多高级功能。
多通道简介
什么是多通道?
名为 Multipass 的易于使用的跨平台命令行工具使您可以在本地系统上设置和控制 Linux 虚拟机。 Multipass 由负责 Ubuntu 的组织 Canonical 创建,利用 cloud-init、云映像和 snap 包为在隔离环境中运行和测试应用程序提供无缝环境。
为什么使用多通道?
Multipass 为开发人员、系统管理员和任何需要使用虚拟机的人提供了多项优势:
- 简单性:Multipass 的设计理念是用户友好且简单明了,这使其成为虚拟化新手的绝佳选择。
- 资源效率:使用 Multipass 创建的虚拟机重量轻,消耗的系统资源最少,非常适合开发和测试目的。
- 跨平台:Multipass 支持 Windows、macOS 和各种 Linux 发行版,确保与各种系统兼容。
- 云集成:Multipass 与云服务无缝集成,让您能够弥合本地开发和云部署之间的差距。
- 隔离:每个虚拟机都与您的主机系统隔离,为实验提供安全的环境,而不会影响您的本地计算机。
安装
安装 Multipass
在开始使用 Multipass 之前,您需要将其安装到您的系统上。以下是在不同平台上安装 Multipass 的步骤:
Linux(Ubuntu/Debian):
sudo snap install multipass --classic
Linux(其他发行版):
# 如果尚未安装,请先安装 snapd
须藤apt更新
sudo apt安装snapd
sudo snap install multipass --classic
macOS:
从 Multipass 网站下载 macOS 安装程序并按照安装说明进行操作。
Windows:
从 Multipass 网站下载 Windows 安装程序并按照安装说明进行操作。
支持的平台
Multipass 支持多种主机操作系统,包括:
- Linux(各种发行版)
- macOS
- Windows
确保您的系统满足运行 Multipass 的最低要求,例如具有足够的可用 RAM 和磁盘空间。
创建您的第一个虚拟机
启动虚拟机
要使用 Multipass 创建您的第一个虚拟机,请打开终端或命令提示符并运行以下命令:
多次启动
此命令将使用最新的 Ubuntu LTS(长期支持)版本作为基础映像,创建一个具有默认设置和随机名称的虚拟机。
选择操作系统映像
您可以在创建虚拟机时指定不同的操作系统映像。例如,要使用 Ubuntu 20.04 创建 VM:
多次启动 ubuntu:20.04
Multipass 提供各种映像,包括不同的 Ubuntu 版本和其他 Linux 发行版。如果需要,您还可以使用自定义图像。
基本虚拟机操作
创建 VM 后,您可以使用 Multipass 执行基本操作:
启动虚拟机:要启动虚拟机,请使用启动命令。替换为您的虚拟机的名称。
停止虚拟机:使用 stop 命令停止正在运行的虚拟机。
删除虚拟机:要删除虚拟机,请使用删除命令。请务必小心,因为此操作是不可逆转的。
使用虚拟机
访问虚拟机
您可以使用 exec 命令访问虚拟机的终端。替换为您的虚拟机名称:
此命令在虚拟机内打开一个 shell 会话,允许您与其交互。
传输文件
使用传输命令,您可以在主机系统和虚拟机之间传输文件。例如,要将文件从本地计算机复制到虚拟机:
要将文件从虚拟机复制到本地计算机:
检查虚拟机信息
要查看有关虚拟机的信息,包括其 IP 地址和可用资源,请使用 info 命令:
复制和粘贴文本
Multipass 允许您在主机和虚拟机之间复制和粘贴文本。您可以从主机的剪贴板复制文本并将其粘贴到虚拟机的终端中,反之亦然。
配置虚拟机
更改虚拟机资源
使用set命令,您可以调整分配给虚拟机的资源,例如CPU核心和内存。例如,要为您的 VM 分配 2 个 CPU 核心和 4 GB RAM:
添加存储
Multipass 允许您使用存储命令向虚拟机添加额外存储。这对于在需要时扩展可用磁盘空间非常有用。
配置网络
Multipass 提供了各种网络选项来配置虚拟机与主机系统和外部网络的交互方式。您可以指定自定义网络配置或使用默认设置。
管理多个虚拟机
创建多个虚拟机
您可以创建多个具有不同配置的虚拟机。只需在创建过程中为每个虚拟机指定一个唯一的名称即可:
多次启动 --name vm1
多次启动--name vm2
列出虚拟机
要列出您创建的所有虚拟机,请使用 list 命令:
多通道列表
删除虚拟机
当您不再需要虚拟机时,可以将其删除以释放资源:
自定义虚拟机
安装软件
您可以使用 apt 或 yum 等标准包管理器在虚拟机中安装软件包。例如,要在基于 Ubuntu 的 VM 上安装 nginx:
运行脚本
您可以在虚拟机中执行脚本来自动执行任务。在本地计算机上创建脚本并使用多通道传输将其复制到 VM。然后,使用 multipass exec 在虚拟机中运行脚本。
配置 SSH 密钥
为了增强安全性,您可以配置 SSH 密钥以安全地远程访问虚拟机。在本地计算机上生成 SSH 密钥并将公钥传输到 VM。然后,您可以使用您的私钥通过 SSH 访问虚拟机。
快照和克隆
拍摄快照
Multipass 允许您在特定时间点拍摄虚拟机快照。快照捕获虚拟机的状态,包括其文件系统、内存和正在运行的进程。创建快照:
从快照克隆虚拟机
您可以通过克隆现有快照来创建新的虚拟机。这对于快速复制具有特定配置和安装软件的虚拟机非常有用:
多通道启动 --name new-vm-name --snapshot 快照名称
从快照恢复
要将虚拟机恢复到之前的快照,请停止虚拟机并使用恢复命令:
与云服务集成
- 连接到云服务:Multipass 可以与 AWS、Azure 和 GCP 等云服务集成。这使您可以在本地环境和云之间无缝移动工作负载。
- Cloud-init 支持:Multipass 支持 cloud-init,这是一种广泛使用的云初始化工具。您可以向虚拟机提供 cloud-init 配置,以在初始化期间自动执行各种任务。
疑难解答和提示
- 常见问题:如果您在使用 Multipass 时遇到任何问题,请查阅官方文档和社区资源以获取故障排除指南。
- 有用的提示和技巧
- 定期更新 Multipass 以受益于最新功能和错误修复。
- 在对虚拟机进行重大更改之前使用快照创建检查点。
- 跟踪分配给虚拟机的资源以避免性能问题。
高级用法
- 构建自定义映像:高级用户可以根据自己的特定需求创建自定义映像。这包括创建基础映像、安装软件、配置设置,然后使用 Multipass 启动基于自定义映像的虚拟机。
- 远程管理多通道实例:您可以使用 SSH 管理远程服务器上的多通道实例。这使您能够从本地终端控制其他计算机上的虚拟机。
- Multipass 插件:探索可用的 Multipass 插件以扩展其功能并与其他云服务或工具集成。
结论
从安装到高级使用,我们在这份内容广泛的指南中涵盖了您需要了解的有关 Multipass 的所有信息。无论您是想要测试软件的开发人员还是处理复杂配置的系统管理员,Multipass 都是用于管理虚拟机的强大且适应性强的工具。 Multipass 可以简化您的虚拟化工作流程,并提高您的工作效率。为虚拟化干杯!