跳到内容
documentation.suse.com / JeOS 快速入门指南
SUSE Linux Enterprise Server JeOS 15 SP3

JeOS 快速入门指南

出版日期: 2024 年 9 月 29 日

下面的文档提供了 SUSE Linux Enterprise Server JeOS 的概述并说明了设置过程。

1 简介

JeOS (Just enough Operating System) 是一种专为特定使用场景而设计的可自定义最精简操作系统,包含一个容器主机、一个虚拟机 Guest、一个设备库或小服务器映像。JeOS 是构建数据中心中使用的系统、创建所需虚拟应用程序映像或设备的基础。您可以根据特定使用情形选择要安装的软件包和组件。为此,JeOS 提供了对所有常规软件储存库的访问途径。

如果您已有 SUSE Linux Enterprise Server 证书,将自动通过 JeOS 认证,因为 JeOS 源自同一代码库。SUSE Linux Enterprise Server JeOS 可让您缩减操作系统,只针对特定使用场景提供必要的软件包。如此可最大程度减少需要管理和应用的软件包和补丁数量。通过去除不必要的软件包,您还可以减少可能的漏洞数量,从而让精简后的系统更安全。此外,缩小系统占用的空间还可降低资源消耗并提高性能。

JeOS 作为经过预配置可立即运行的虚拟机映像提供。系统附带 jeos-firstboot 向导,可在首次引导期间指引您配置系统区域设置和 root 口令。JeOS 随附了已启用且已从防火墙配置中排除的 SSH 服务器。所提供的 KIWI 模板可用于创建自定义 JeOS 映像。

JeOS 提供可在 AMD64/Intel 64 体系结构上立即部署的服务器映像,适用于以下使用场景:

  • 具有 HVM 的 KVM/Xen

  • Xen 半虚拟化

  • Microsoft Hyper-V

  • VMWare

  • OpenStack Cloud

1.1 系统要求

JeOS 的最低系统要求与 SUSE Linux Enterprise Server 类似。有关详细信息,请参见Book “部署指南”, Chapter 2 “在 AMD64 和 Intel 64 上安装”, Section 2.1 “硬件要求”

1.2 JeOS 与 SUSE Linux Enterprise Server 之间的差异

JeOS 与 SUSE Linux Enterprise Server 之间存在一些重大差异。

JeOS 与 SUSE Linux Enterprise Server 之间的差异
jeos-firstboot

JeOS 随附了 jeos-firstboot 工具,可用于在首次引导期间配置基本设置。这些设置包括键盘布局和语言、时区以及 root 口令。

默认网络配置设置为使用 DHCP,系统会自动创建初始配置的 Btrfs 快照。

kernel-default-base

由于存在大小限制,JeOS 映像使用 kernel-default-base 作为默认内核。因为该内核不包含裸机的驱动程序,所以占用的空间更小。

如果特定使用场景需要任何被省略的模块,请安装 kernel-default 软件包,以获取完整的内核模块树。常规 SUSE Linux Enterprise Server 安装使用的就是该内核。

默认无储存库

从安装媒体安装 SUSE Linux Enterprise Server 时,系统会自动将安装媒体设置为默认脱机通道。

而 JeOS 默认无此通道,您需要注册系统才能访问联机通道。

Zypper 配置

JeOS 是 SUSE Linux Enterprise Server 的精简版本。有一部分大小的缩减是通过启用 /etc/zypp/zypp.conf 中的以下两个选项实现的:rpm.install.excludedocs = yes(默认在安装过程中排除所有标记为文档的文件)和 solver.onlyRequires = true(默认禁止安装建议的软件包)。

基本软件包

JeOS 映像通过 KIWI 工具来构建。KIWI 的配置文件(称为模板)明确列出了映像中必须包含的软件包。请注意,在映像构建过程中,这些基本软件包会拉取其依赖项。因此,映像中预安装的软件包列表包含的软件包通常会比基本软件包列表多。

用于创建官方 JeOS 映像的 KIWI 配置文件可从 https://build.opensuse.org/ 上的 openSUSE Build Service 中获取。

注意
注意:特定主机工具软件包

每种 SUSE Linux Enterprise Server JeOS 风格都包含特定的主机工具软件包。有关更多信息,请参见文档中的特定风格章节。

磁盘布局

与 SUSE Linux Enterprise Server 在安装期间计算磁盘布局不同,JeOS 使用如下固定的虚拟映像分区方案:

  • 2 MB BIOS 引导

  • 33 MB EFI 系统

  • 24 GB Linux 文件系统

要获得额外的磁盘空间,您可以扩展虚拟主机中的现有磁盘,也可以向虚拟机添加另一个磁盘。如果您选择后一个选项,则必须手动进行分区和格式化。

已禁用 systemd-coredump

由于 JeOS 映像上默认可用的内存和磁盘空间有限,JeOS 映像上默认会禁用 systemd-coredump。要收集查错所需的应用程序内核转储,请执行以下步骤:

  • 安装 systemd-coredump 软件包(其中包含 /usr/lib/sysctl.d/50-coredump.conf

  • 要对您的系统应用配置更改,请重引导或使用 sysctl --system 命令。

有关更多信息,请参见 https://documentation.suse.com/sles/single-html/SLES-tuning/#cha-tuning-systemd-coredump

2 可用的映像风格

仅针对 x86_64 体系结构提供立即可用的 JeOS 映像。您可以下载适用于以下部署目标的 JeOS:

  • 适用于 KVM 和 Xen 的全虚拟 JeOS (FV/HVM)

  • 适用于 VMware 的 JeOS

  • 适用于 Microsoft Hyper-V 的 JeOS

  • 适用于 OpenStack 的 JeOS

  • 适用于 Xen 的半虚拟 JeOS (PV)

重要
重要:支持的虚拟化主机(超级管理程序)

JeOS 可在 SUSE Linux Enterprise Server 的虚拟化主机(超级管理程序)上作为虚拟 Guest 运行。有关受支持超级管理程序的详细信息,请参见Book “虚拟化指南”, Chapter 7 “虚拟化限制和支持”, Section 7.3 “支持的主机环境(超级管理程序)”

2.1 适用于 OpenStack Cloud 的 JeOS 映像

适用于 OpenStack Cloud 的 JeOS 是专为在 OpenStack 环境中使用而设计的映像。

适用于 OpenStack Cloud 的 JeOS 不使用 jeos-firstboot 工具,而是使用 cloud-init 来配置映像。映像还使用 XFS 文件系统和以下内核配置:

"plymouth.enable=0 console=ttyS0,115200 console=tty0 net.ifnames=0"

这表示映像并未随附 jeos-firstboot 和 Btrfs 所需的软件包。

适用于 OpenStack Cloud 的 JeOS 包含若干 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
#cloud-config
chpasswd:
  list: |
    root:$6$SalTsaLt$.cuqsgjNGxHJZSLmVqkI/j9.kWIiUQHqjlRswbHjTw9hIXdPomgey2DHzmp6Ho6wgqIKz3ufbOIKdQCnQHPSA1
    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 的 JeOS 映像随附以下软件包:

  • xen-tools-domU

  • grub2-x86_64-xen

  • xen-libs

2.3 Microsoft Hyper-V 风格

适用于 Microsoft Hyper-V 的 JeOS 映像随附 hyper-v

2.4 VMware 风格

适用于 VMware 的 JeOS 映像随附 open-vm-tools

3 在 KVM 上安装并运行 JeOS

如果您的本地计算机上已安装 KVM,您便可使用现成的 JeOS 映像来创建虚拟机。这可让您安全地试验 JeOS。

https://www.suse.com/products/server/jeos/ 上下载适用于 KVM 的 60 天试用版 JeOS 映像。

请参考以下过程在 KVM 中创建 JeOS 虚拟机。

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

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

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

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

    添加新储存池
  5. 单击目标路径字段旁的浏览按钮,然后选择包含 JeOS qcow2 映像的目录。单击完成

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

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

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

    指定 RAM 和 CPU 设置
  9. 为新虚拟机指定名称(例如 JeOS),然后单击完成

    JeOS 虚拟机配置
  10. 如果收到启动虚拟网络的提示,请单击

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

注意
注意:更改区域设置

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

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

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

  3. 指定所需时区。

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

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

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

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

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