主要观点:作者多年来使用多种工具创建虚拟机,加入 Canonical 后,LXD 和 Multipass 成为其工作流程中不可或缺的部分,分享使用它们的原因和日常工作中的用法。
关键信息:
- LXD 和 Multipass 都可作为 snap 包安装,在多种 Linux 发行版及其他平台上可用。
- Multipass 可提供按需访问 Ubuntu VMs 的简单方式,默认使用最适合的宿主机管理程序,可自定义实例,有别名等功能,还可创建蓝图。
- LXD 多年来一直维护于 NixOS,4.0 LTS 版本起支持运行虚拟机,可通过 API 启动容器或虚拟机,有桌面虚拟机功能,LXD UI 是与虚拟机交互的好方式。
- LXD 功能更强大,支持更复杂的网络等,Multipass 则小巧易配置,各有优势。
重要细节: - 安装命令:
sudo snap install lxd,sudo lxd init --minimal,sudo usermod -aG lxd $USER,sudo snap install multipass。 - NixOS 中安装 Multipass 的配置:
{ virtualisation.multipass.enable = true; }。 - NixOS 中安装 LXD 及启用 UI 的配置:
{ virtualisation.lxd = { enable = true; zfsSupport = true; ui.enable = true; }; networking = { firewall = { trustedInterfaces = [ "lxdbr0" ]; }; } }。 - Multipass 基本操作命令:
multipass shell,multipass mount,multipass remove,multipass purge,multipass alias等。 - LXD 启动虚拟机命令:
lxc launch ubuntu:noble ubuntu --vm,lxc launch images:fedora/40 fedora --vm,lxc launch images:archlinux arch --vm -c security.secureboot=false等。 - LXD 桌面虚拟机启动命令:
lxc launch images:ubuntu/24.04/desktop ubuntu --vm --console=vga,lxc launch images:archlinux/desktop-gnome arch --vm -c limits.cpu=8 -c limits.memory=16GiB -c security.secureboot=false等。 - 启用 LXD UI 的命令:
lxc config set core.https_address :8443,sudo snap set lxd ui.enable=true,sudo systemctl reload snap.lxd.daemon。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。