跳到内容跳到页面导航:上一页 [access key p]/下一页 [access key n]
documentation.suse.com / SUSE Linux Enterprise Server 文档 / 快速入门指南 / Minimal VM 快速入门
SUSE Linux Enterprise Server Minimal VM 15 SP4

Minimal VM 快速入门

出版日期: 2023 年 12 月 11 日

下面的内容提供了 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 之间存在一些重大差异。

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-firstbootjeos-licenseslive-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-initcloud-init-config-susexfsprogs

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 权限。下面的示例会为这两个用户创建口令。

例 1︰ 添加口令
#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 权限。

以下示例显示了用于创建各种用户的配置。

例 2︰ 具有口令和 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
例 3︰ 具有 SSH 密钥和 sudo 权限的新用户
#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

有关更多信息,请参见 https://documentation.suse.com/external-tree/en-us/suma/4.0/suse-manager/client-configuration/registration-bootstrap.html

最后,下面的示例显示了用于安装某个软件包并在首次引导期间启动某个服务的配置。

#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 虚拟机。

过程 11︰ 创建 Minimal VM 虚拟机
  1. 启动虚拟机管理器,然后选择文件 › 新建虚拟机

  2. 选择导入现有磁盘映像并单击前进

  3. 单击提供现有储存路径字段旁的浏览按钮。

  4. 选择储存卷对话框中,单击添加池,为新池指定名称,然后从类型下拉框中选择 dir: 文件系统目录。单击前进

    Add a new storage pool
  5. 单击目标路径字段旁的浏览按钮,然后选择包含 Minimal VM qcow2 映像的目录。单击完成

  6. 回到选择储存卷对话框,选择创建的池,然后在部分选择 qcow2 映像。然后单击选择卷

    Select the qcow2 image
  7. 回到创建虚拟机对话框,在选择您要安装的操作系统字段中输入 Generic。单击前进

  8. 将 RAM 值设为 1024,将 CPU 数量设为 1。单击前进

    Specify RAM and CPU settings
  9. 为新虚拟机指定名称(例如 Minimal VM),然后单击完成

    Minimal VM virtual machine configuration
  10. 如果收到启动虚拟网络的提示,请单击

系统引导后,jeos-firstboot 会指引您完成初始系统设置。

注意
注意:更改区域设置

Minimal VM 映像仅随附 en_US 区域设置。完成设置后,您可以通过安装 glibc-locale 软件包并运行 localectl set-locale LANG=LOCALE 命令(将 LOCALE 替换为所需的语言区域设置,例如 de_DE.UTF-8),来安装并选择所需的系统区域设置。

  1. 第一步,系统会提示您使用键盘选择对话框选择合适的键盘布局。

  2. 下一步,阅读并接受许可协议。不接受许可协议将无法继续。

  3. 指定所需时区。

  4. 出现提示时,指定并确认所需的 root 口令。

  5. 最后一步,系统会引导您注册系统。如果您只想测试 Minimal VM,可以跳过注册步骤。

  6. 完成初始配置后,您便可以使用在设置过程中指定的口令以 root 身份登录系统。

提示
提示:首次引导后安装产品补丁

我们强烈建议您在成功安装并注册 Minimal VM 后安装可用的最新联机更新。