Minimal VM 快速入门
下面的内容提供了 SUSE Linux Enterprise Server Minimal VM(以前称为 JeOS)的概述并说明了设置过程。
1 简介 #
Minimal VM 是一种专为特定使用场景而设计的可自定义极简操作系统,包含一个容器主机、一个虚拟机 Guest、一个设备库或小型服务器映像。Minimal VM 是构建数据中心内使用的系统、创建所需虚拟应用程序映像或设备的基础。您可以根据特定使用情形选择要安装的软件包和组件。为此,Minimal VM 提供了对所有常规软件源的访问途径。
如果您已有 SUSE Linux Enterprise Server 证书,将会自动通过 Minimal VM 认证,因为 Minimal VM 源自同一代码库。SUSE Linux Enterprise Server Minimal VM 允许您缩减操作系统,只提供针对特定使用场景的必要软件包。如此可最大程度减少需要管理和应用的软件包和补丁数量。通过去除不必要的软件包,您还可以减少可能的漏洞数量,从而让精简后的系统更安全。此外,缩小系统占用的空间还可降低资源消耗并提高性能。
Minimal VM 以经过预配置且可立即运行的虚拟机映像的形式提供。系统附带 jeos-firstboot
向导,可在首次引导期间指引您配置系统区域设置和 root 口令。Minimal VM 随附已启用且已从防火墙配置中排除的 SSH 服务器。提供的 KIWI 模板可用于创建自定义 Minimal VM 映像。
Minimal VM 提供可在 AMD64/Intel 64 体系结构上即时部署的服务器映像,适用于以下使用场景:
具有 HVM 的 KVM/Xen
Xen 半虚拟化
Microsoft Hyper-V
VMWare
OpenStack Cloud
1.1 系统要求 #
Minimal VM 最低系统要求与 SUSE Linux Enterprise Server 类似。有关更多信息,请参见第 2.1 节 “硬件要求”。
1.2 Minimal VM 与 SUSE Linux Enterprise Server 之间的差异 #
Minimal VM 与 SUSE Linux Enterprise Server 之间存在一些重大差异。
- jeos-firstboot
Minimal VM 随附了 jeos-firstboot 工具,可用于在首次引导期间配置基本设置。这些设置包括键盘布局和语言、时区以及 root 口令。
默认网络配置设置为使用 DHCP,系统会自动创建初始配置的 Btrfs 快照。
- kernel-default-base
由于存在大小限制,Minimal VM 映像使用 kernel-default-base 作为默认内核。因为该内核不包含裸机的驱动程序,所以占用的空间更小。
如果特定使用场景需要任何被省略的模块,请安装 kernel-default 软件包,以实现完整的内核模块树。常规 SUSE Linux Enterprise Server 安装使用的就是该内核。
- 默认无软件源
从安装媒体安装 SUSE Linux Enterprise Server 时,系统会自动将安装媒体设置为默认脱机通道。
而 Minimal VM 默认无此通道,您需要注册系统才能访问联机通道。有关详细信息,请参见第 9.3.2 节 “使用 SUSEConnect 注册”。
注意仅当启用了 Development Tools 模块时,jeos-firstboot、jeos-licenses 和 live-langset-data 才会接收更新。不过,运行 Minimal VM 实例并不需要使用这些软件包,因此可以将它们去除或保持原样。
- Zypper 配置
Minimal VM 是 SUSE Linux Enterprise Server 的精简版本。有一部分大小的缩减是通过启用
/etc/zypp/zypp.conf
中的以下两个选项实现的:rpm.install.excludedocs = yes
(默认在安装过程中排除所有标记为文档的文件)和solver.onlyRequires = true
(默认禁止安装建议的软件包)。- 基本软件包
Minimal VM 映像通过 KIWI 工具来构建。KIWI 的配置文件(称为模板)明确列出了映像中必须包含的软件包。请注意,在映像构建过程中,这些基本软件包会拉取其依赖项。因此,映像中预安装的软件包列表包含的软件包通常会比基本软件包列表多。
用于创建官方 Minimal VM 映像的 KIWI 配置文件可从 https://build.opensuse.org/ 上的 openSUSE Build Service 中获得。
注意:特定主机工具软件包每个 SUSE Linux Enterprise Server Minimal VM 变体都包含特定的主机工具软件包。有关更多信息,请参见文档中的特定风格章节。
- 磁盘布局
与 SUSE Linux Enterprise Server 在安装期间计算磁盘布局不同,Minimal VM 使用如下固定的虚拟映像分区方案:
2 MB BIOS 引导
33 MB EFI 系统
24 GB Linux 文件系统
要获得额外的磁盘空间,您可以扩展虚拟主机中的现有磁盘,也可以向虚拟机添加另一个磁盘。如果您选择后一个选项,则必须手动进行分区和格式化。
- 已禁用 systemd-coredump
由于 Minimal VM 映像上默认可用的内存和磁盘空间大小有限,Minimal VM 映像上默认会禁用 systemd-coredump。要收集查错所需的应用程序内核转储,请执行以下步骤:
安装 systemd-coredump 软件包(其中包含
/usr/lib/sysctl.d/50-coredump.conf
)要对您的系统应用配置更改,请重引导或使用
sysctl --system
命令。
有关更多信息,请参见 https://documentation.suse.com/sles/html/SLES-all/cha-tuning-systemd-coredump.html。
2 可用的映像风格 #
即时可用的 Minimal VM 映像仅适用于 x86_64 体系结构。您可以下载适用于以下部署目标的 Minimal VM:
适用于 KVM 和 Xen 的全虚拟 Minimal VM (FV/HVM)
适用于 VMware 的 Minimal VM
适用于 Microsoft Hyper-V 的 Minimal VM
适用于 OpenStack 的 Minimal VM
适用于 Xen 的半虚拟 Minimal VM (PV)
Minimal VM 可在 SUSE Linux Enterprise Server 的虚拟化主机(超级管理程序)上作为虚拟化 Guest 运行。有关受支持超级管理程序的详细信息,请参见第 7.3 节 “支持的主机环境(超级管理程序)”。
2.1 适用于 OpenStack Cloud 的 Minimal VM 映像 #
适用于 OpenStack Cloud 的 Minimal VM 是专为在 OpenStack 环境中使用而设计的映像。
适用于 OpenStack Cloud 的 Minimal VM 不会使用 jeos-firstboot 工具配置映像,而是使用 cloud-init 来配置。映像还使用 XFS 文件系统和以下内核配置:
"plymouth.enable=0 console=ttyS0,115200 console=tty0 net.ifnames=0"
这表示该映像并未随附 jeos-firstboot 和 Btrfs 所需的软件包。
适用于 OpenStack Cloud 的 Minimal VM 包含数个与 OpenStack 相关的软件包,例如 cloud-init、cloud-init-config-suse 和 xfsprogs。
2.1.1 cloud-init
基础知识 #
cloud-init
会自动将自定义配置应用到正在运行的实例。该工具有多种配置模块,在引导阶段,它可以在映像中执行特定的命令。
cloud-init 的默认配置包含在 cloud-init-config-suse 软件包中,位于 /etc/cloud/cloud.cfg
目录下。
2.1.2 cloud-init 配置示例 #
默认情况下,cloud-init 不会设置 root 口令,而是创建名为 sles
的用户帐户,该帐户充当默认用户并拥有 sudo 权限。下面的示例会为这两个用户创建口令。
#cloud-config chpasswd: list: | root:$6$SalTsaLt$miA./Q1i1mKR0sYicn/yAzNHP6y32JjOdVIn5agAiaEKaSaZdC3X6CVTW2d/xslQfevCc20teWLurq12x8mbe1 sles:$6$SalTsaLt$.cuqsgjNGxHJZSLmVqkI/j9.kWIiUQHqjlRswbHjTw9hIXdPomgey2DHzmp6Ho6wgqIKz3ufbOIKdQCnQHPSA1 expire: False
要创建示例中使用的 SHA-512 哈希,请运行以下命令:openssl passwd -6 -salt SalTsaLt PASSWORD
。
为了避免潜在的安全风险,请不要在生产环境中使用口令。即使是使用经过哈希处理的口令,您也可能会遭到字典攻击。为了提高安全性,请使用 SSH 身份验证,而不要使用口令。
创建用户时,请注意系统默认会禁用口令登录,并且新建的用户没有 sudo 权限。
以下示例显示了用于创建各种用户的配置。
#cloud-config users: - default - name: USER shell: /bin/bash groups: users # lock_passwd: Disable password login. Defaults to true lock_passwd: false passwd: $6$SalTsaLt$.cuqsgjNGxHJZSLmVqkI/j9.kWIiUQHqjlRswbHjTw9hIXdPomgey2DHzmp6Ho6wgqIKz3ufbOIKdQCnQHPSA1 sudo: ALL=(ALL) NOPASSWD:ALL
#cloud-config users: - name: USER shell: /bin/bash groups: users ssh_import_id: None lock_passwd: true sudo: ALL=(ALL) NOPASSWD:ALL ssh_authorized_keys: - SSH_PUBLIC_KEY_1 - SSH_PUBLIC_KEY_2
要连接 SUMA、RMT 或 SUSEConnect 并在其中注册,请使用 runcmd
模块运行所需的命令,例如:
#cloud-config runcmd: - SUSEConnect -r REGISTRATION_CODE -e EMAIL_ADDRESS
有关更多信息,请参见https://documentation.suse.com/sles/html/SLES-all/cha-register-sle.html。
对于 RMT,配置如下所示:
#cloud-config runcmd: - curl http://RMT_SERVER/tools/rmt-client-setup \ --output rmt-client-setup - sh rmt-client-setup https://RMT_SERVER/
有关更多信息,请参见https://documentation.suse.com/sles/html/SLES-all/cha-rmt-client.html。
对于 SUMA,配置如下所示:
#cloud-config runcmd: - curl -O http://suma01/pub/bootstrap/bootstrap.sh - /bin/bash bootstrap.sh
最后,下面的示例显示了用于安装某个软件包并在首次引导期间启动某个服务的配置。
#cloud-config packages: - qemu-guest-agent runcmd: - systemctl enable qemu-guest-agent.service - systemctl start --no-block qemu-guest-agent.service
2.2 KVM/Xen 和 Xen 风格 #
适用于 KVM/Xen 和 Xen 的 Minimal VM 映像随附以下软件包:
xen-tools-domU
grub2-x86_64-xen
xen-libs
2.3 Microsoft Hyper-V 风格 #
适用于 Microsoft Hyper-V 的 Minimal VM 映像随附 hyper-v。
2.4 VMware 风格 #
适用于 VMware 的 Minimal VM 映像随附 open-vm-tools。
3 在 KVM 上安装和运行 Minimal VM #
如果您的本地计算机上已安装 KVM,您便可使用现成的 Minimal VM 映像来创建虚拟机。这样可以安全地试验 Minimal VM。
从 https://www.suse.com/products/server/jeos/ 上下载适用于 KVM 的 60 天试用版 Minimal VM 映像。
请参考以下过程在 KVM 中创建 Minimal VM 虚拟机。
系统引导后,jeos-firstboot 会指引您完成初始系统设置。
Minimal VM 映像仅随附 en_US
区域设置。完成设置后,您可以通过安装 glibc-locale 软件包并运行 localectl set-locale LANG=LOCALE
命令(将 LOCALE 替换为所需的语言区域设置,例如 de_DE.UTF-8
),来安装并选择所需的系统区域设置。
第一步,系统会提示您使用键盘选择对话框选择合适的键盘布局。
下一步,阅读并接受许可协议。不接受许可协议将无法继续。
指定所需时区。
出现提示时,指定并确认所需的 root 口令。
最后一步,系统会引导您注册系统。如果您只想测试 Minimal VM,可以跳过注册步骤。
完成初始配置后,您便可以使用在设置过程中指定的口令以
root
身份登录系统。
我们强烈建议您在成功安装并注册 Minimal VM 后安装可用的最新联机更新。