SLES Minimal VM 简介
- 内容
SLES Minimal VM 的简要概述。
- 原因
您想知道 SLES Minimal VM 可以为您做些什么。
- 工作量
读完本文需要 10 分钟。
- 目标
了解什么是 SLES Minimal VM,以及可以用它来做些什么。
- 要求
大致熟悉 SUSE Linux Enterprise Server
1 SLES Minimal VM 简介 #
SLES Minimal VM 是 SUSE Linux Enterprise Server 的精简版本,旨在提供一个基础平台供您构建用于数据中心的系统、创建虚拟应用程序映像和打造设备。您可以对其进行自定义,仅安装特定使用场景所需的软件包。这意味着需要管理的软件包和需要应用的补丁减少了。选择有限的软件包还可减少攻击面,从而提高系统的安全性。
2 SLES Minimal VM 亮点 #
SLES Minimal VM 以虚拟机映像的形式提供,已经过预配置且可立即运行。
虽然您可以按原样部署提供的映像,但也可以使用提供的 KIWI NG 模板创建自定义的 SLES Minimal VM 映像。
提供的
jeos-firstboot
向导会在系统首次引导时运行,可用于配置基本设置,例如系统区域设置和root
口令。适用于 OpenStack 的 SLES Minimal VM 不同,它使用
cloud-init
(而非jeos-firstboot
)来配置 OpenStack 实例。您无需进行任何其他配置,即可与正在运行的 SLES Minimal VM 实例建立 SSH 连接。
默认网络配置设置为使用 DHCP。
初始配置完成后,系统会自动创建 Btrfs 快照。这意味着,如有必要,您可以轻松撤消所有后续更改。
SLES Minimal VM 映像使用
kernel-default-base
作为默认内核,如此可减少使用的空间。由于 openSUSE Leap SLES Minimal VM 和 SLES Minimal VM 相似,因此可以轻松从前者迁移到后者。
3 SLES Minimal VM 与 SUSE Linux Enterprise Server 之间的差异 #
SLES Minimal VM 与 SUSE Linux Enterprise Server 之间存在一些重大差异。
- JeOS Firstboot
SLES Minimal VM 附带了 JeOS Firstboot 工具(适用于 OpenStack 的 SLES Minimal VM 不同,它使用 cloud-init),可用于在系统首次引导期间配置基本设置。这些设置包括键盘布局、时区以及
root
口令。- kernel-default-base
由于存在大小限制,SLES Minimal VM 映像使用 kernel-default-base 作为默认内核。因为该内核不包含裸机的驱动程序,所以占用的空间更小。
如果特定使用场景需要任何被省略的模块,请安装 kernel-default 软件包,以实现完整的内核模块树。常规 SUSE Linux Enterprise Server 安装使用的就是该内核。
- 默认无储存库
从安装媒体安装 SUSE Linux Enterprise Server 时,系统会自动将安装媒体设置为默认脱机通道。
注意默认情况下,jeos-firstboot、jeos-licenses 和 live-langset-data 软件包不会接收更新。只有在进行系统的初始配置时需要这些软件包,之后可以将它们去除或保持原样,不会引发问题。如果您希望它们保持最新状态,请启用 Development Tools 模块。
- Zypper 配置
SLES Minimal VM 是 SUSE Linux Enterprise Server 的精简版本。有一部分大小的缩减是通过启用
/etc/zypp/zypp.conf
中的以下两个选项实现的:rpm.install.excludedocs = yes
(默认在安装过程中排除所有标记为文档的文件)和solver.onlyRequires = true
(默认禁止安装建议的软件包)。- 基本软件包
您可以使用 KIWI NG 工具构建 SLES Minimal VM 映像。KIWI NG 的配置文件(称为模板)列出了映像中必须包含的软件包。请注意,模板中列出的软件包可能会在映像构建过程中提取所需的依赖项。这表示生成的映像所包含的软件包可能比模板中指定的多。
- 磁盘布局
与 SUSE Linux Enterprise Server 在安装期间计算可调整的磁盘布局建议不同,SLES Minimal VM 使用如下固定的虚拟映像分区方案:
2 MB BIOS 引导
33 MB EFI 系统
24 GB Linux 文件系统
要获得额外的磁盘空间,您可以扩展虚拟主机中的现有磁盘,也可以向虚拟机添加另一个磁盘。如果您选择后一个选项,则必须手动进行分区和格式化。
- 已禁用 systemd-coredump
systemd-coredump 在 SLES Minimal VM 映像中默认处于禁用状态。要收集查错所需的应用程序内核转储,请执行以下步骤:
安装 systemd-coredump 软件包,该软件包中包含
/usr/lib/sysctl.d/50-coredump.conf
。重引导系统或使用
sysctl --system
命令启用核心转储。
有关更多信息,请参见 https://documentation.suse.com/sles/html/SLES-all/cha-tuning-systemd-coredump.html。
4 获取 SLES Minimal VM #
您可以从官方下载 网页下载所需的 SLES Minimal VM 变体。该页面提供以下 SLES Minimal VM 版本:
适用于 KVM 和 Xen 的完全虚拟 SLES Minimal VM
适用于 VMware 的 SLES Minimal VM
适用于 Microsoft Hyper-V 的 SLES Minimal VM
适用于 OpenStack 的 SLES Minimal VM
适用于 Xen 的半虚拟 SLES Minimal VM
适用于 KVM 的完全虚拟 SLES Minimal VM (AArch64)
SLES Minimal VM 默认不包含任何储存库。您必须注册系统以访问联机储存库。需要付费订阅才能注册。
5 将 SLES Minimal VM 与 QEMU 搭配使用的示例 #
您可以从官方下载 网页下载现成的映像,以试用 SLES Minimal VM。创建基于 SLES Minimal VM 的虚拟机的具体过程取决于您选择的版本。以下示例演示了如何使用 JeOS Firstboot 或 Combustion 通过 QEMU 创建和配置 SLES Minimal VM 实例。
5.1 使用 JeOS Firstboot 手动运行和配置 SLES Minimal VM #
在 QEMU 中运行以下命令创建 SLES Minimal VM 虚拟机。
>
qemu-system-x86_64 \
-enable-kvm \
-m 1G \
-smp 1 \
-drive if=virtio,format=qcow2,file=IMAGE.qcow2 \
-nographic \
-netdev user,id=net0,hostfwd=tcp::2222-:22 \
-device virtio-net-pci,netdev=net0
系统引导后,JeOS Firstboot 会指引您完成初始系统设置。
SLES Minimal VM 映像仅随附 en_US
区域设置。完成设置后,您可以通过安装 glibc-locale 软件包并运行 localectl set-locale
LANG=LOCALE
命令(请将 LOCALE 替换为所需的语言区域设置,例如 de_DE.UTF-8
),来安装并选择所需的系统区域设置。
请注意,要执行此操作,您需要订阅 SUSE,并使用 SUSEConnect -e
EMAIL ‑r
REGISTRATION_CODE
命令注册 VM。
首先,系统会提示您使用键盘选择对话框选择合适的键盘布局。
接下来阅读并接受许可协议。不接受许可协议将无法继续。
指定所需的时区。
出现提示时,指定并确认所需的
root
口令。最后一步,系统会引导您注册系统。如果您只打算测试 SLES Minimal VM,可以跳过注册步骤。
完成初始配置后,您便可以使用在设置过程中指定的口令以
root
身份登录系统。
我们强烈建议您在成功安装并注册 SLES Minimal VM 后安装可用的最新联机更新。
5.2 使用 Combustion 自动运行和配置 SLES Minimal VM #
SLES Minimal VM 附带 Combustion 配置工具,可以在首次引导时使用专用脚本文件自动配置系统。当您需要部署具有相同初始配置的多个虚拟机时,此功能特别有用。
要在 QEMU 中触发 Combustion 工具,请使用带 fw_cfg 参数的 qemu
命令,该参数用于指定 script
文件的位置。
要了解这在实践中是如何运作的,您可以使用一个简单的 Combustion 脚本,自动将 root
用户添加到在 QEMU 中运行的 SLES Minimal VM 实例。
首先,生成所需 root
口令的哈希值。可以使用 openssl passwd -6
命令来完成此任务。将以下指令添加到 script
文件中(请将示例哈希值替换为生成的哈希值):
echo 'root:$5$.wn2BZHlEJ5R3B1C$TAHEchlU.h2tvfOpOki54NaHpGYKwdNhjaBuSpDotD7' | chpasswd -e
使用以下命令在 QEMU 中基于 SLES Minimal VM 设置一个新虚拟机(请将 IMAGE 和 SCRIPT 分别替换为 .qcow2
映像和 script
文件的路径名称):
>
qemu-system-x86_64 \
-enable-kvm \
-m 1G \
-smp 1 \
-drive if=virtio,format=qcow2,file=IMAGE.qcow2 \
-nographic \
-netdev user,id=net0,hostfwd=tcp::2222-:22 \
-device virtio-net-pci,netdev=net0 \
-fw_cfg name=opt/org.opensuse.combustion/script,file=SCRIPT
请注意,Combustion 运行时不会提供任何反馈或输出。表明配置已正确执行的唯一迹象是系统未启动 JeOS Firstboot 工具,并且您可以使用之前生成的口令以 root
身份登录系统。
有关使用 Combustion 的详细信息,请参见 https://documentation.suse.com/sle-micro/html/SLE-Micro-all/cha-images-combustion.html。
6 法律声明 #
版权所有 © 2006–2024 SUSE LLC 和贡献者。保留所有权利。
根据 GNU 自由文档许可证 (GNU Free Documentation License) 版本 1.2 或(根据您的选择)版本 1.3 中的条款,在此授予您复制、分发和/或修改本文档的权限;本版权声明和许可证附带不可变部分。许可版本 1.2 的副本包含在题为“GNU Free Documentation License”的部分。
有关 SUSE 商标,请参见 https://www.suse.com/company/legal/。所有其他第三方商标分别为相应所有者的财产。商标符号(®、™ 等)代表 SUSE 及其关联公司的商标。星号 (*) 代表第三方商标。
本指南力求涵盖所有细节,但这不能确保本指南准确无误。SUSE LLC 及其关联公司、作者和译者对于可能出现的错误或由此造成的后果皆不承担责任。