使用 SUSE Manager VM 映像在虚拟机环境中安装 SUSE Manager
1. 虚拟机管理器设置
本章提供 SUSE Manager 所需的内核虚拟机 (KVM) 设置。将使用结合了虚拟机管理器 (virt-manager) 的 KVM 作为此安装的沙箱。
SUSE Manager 4.3 VM 映像有多种格式。这些映像包含作为底层操作系统的 SUSE Linux Enterprise Server 15 SP4 以及构建时最新的 SUSE Manager 软件。您可以从 https://download.suse.com/ 下载适合您的环境的 SUSE Manager 映像。
下表指定了最低要求。这些要求适用于快速测试安装,例如包含一个客户端的服务器。如果您想要使用生产环境,请查看 硬件要求 中所列的要求。 |
虚拟机设置概览 | |
---|---|
安装方法 |
导入现有磁盘映像 |
OS: |
SUSE Linux Enterprise 15 SP4 |
内存: |
16 GB |
CPU 数量: |
4 |
虚拟磁盘: |
|
VirtIO 磁盘 1 |
SUSE-Manager-Server.x86_64-4.3.10-KVM.qcow2 |
VirtIO 磁盘 2 |
为 |
VirtIO 磁盘 3 |
为 |
VirtIO 磁盘 4 |
4 GB 交换空间 |
CDROM |
Ignition 或 Cloud Init 配置磁盘 |
名称: |
suse-manager-test-setup |
网络 |
网桥 br0 |
有关 SUSE Linux Enterprise 虚拟化的详细信息,请访问 https://documentation.suse.com/sles/15-SP4/html/SLES-all/book-virtualization.html。 |
SUSE Manager VM 映像不会设置 |
2. 使用 Ignition
进行 SUSE Manager 基本配置
Ignition
是可用于在首次引导时根据您指定的设置配置系统的置备工具。系统首次引导时,Ignition
会作为 initramfs 的一部分加载,并会在特定目录内(USB 闪存盘上,或者您可以提供 URL)搜索配置文件。
Ignition
会使用 JSON 格式的配置文件。该文件名为 config.ign
。
config.ign
是 JSON 配置文件,提供针对 Ignition 的指令。您可以手动创建 JSON 格式的文件,也可以使用 Fuel Ignition 工具生成一组基本的指令。Fuel Ignition 工具不提供完整的选项集,因此您可能需要手动修改该文件。有关详细信息,请参见 https://ignite.opensuse.org/。
安装时,配置文件 config.ign
必须位于名为 ignition
的配置媒体上的 ignition
子目录中。目录结构必须如下所示:
<根目录> └── ignition └── config.ign
如果您打算配置 QEMU/KVM 虚拟机,请以 qemu 命令的属性的形式提供 config.ign
文件的路径。例如:
-fw_cfg name=opt/com.coreos/config,file=PATH_TO_config.ign
config.ign
文件包含各种数据类型:对象、字符串、整数、布尔值以及对象列表。有关完整规范,请参见 https://coreos.github.io/ignition/configuration-v3_3/。
2.1. 使用 Ignition
设置 root 口令
SUSE Manager VM 映像不会设置 root 或任何其他用户帐户。用户或 root
身份验证需要在首次引导期间设置。可以使用 passwd
属性来添加用户。如果您打算登录系统,请创建 root 并设置其口令,并且/或者在 Ignition
配置中添加 SSH 密钥。您需要对 root 口令进行哈希处理,例如,使用以下 openssl
命令来处理:
openssl passwd -6
该命令会创建您所选口令的哈希。请使用此哈希作为 passwordHash
属性的值。
users 属性必须至少包含一个 name
属性。ssh_authorized_keys
是该用户的一系列 SSH 密钥。
创建包含以下内容的 root/ignition/config.ign
文件:
{ "ignition": { "version": "3.2.0" }, "passwd": { "users": [ { "name": "root", "passwordHash": "$2a$10$qV298UV11u9lCFDjpHpCUe1cErBiVR.G3shukxs3.2PAO1xhJWs0K" } ] } }
使用以下命令准备 Ignition
ISO 文件:
mkisofs -full-iso9660-filenames -o suma_ignition.iso -V ignition root
首次引导时,将创建的 suma_ignition.iso
文件作为一个卷挂接到虚拟机。此特定示例会将 root
口令设置为 linux
。请以您的口令哈希替换此示例中的值。
3. 使用 Cloud Init 磁盘进行 SUSE Manager 基本配置
Cloud Init
是可用于在首次引导时根据您指定的设置配置系统的置备工具。系统首次引导时,Cloud Init 服务
会加载到系统中,并会在特定目录内(USB 闪存盘上,或者您可以提供 URL)搜索配置文件。
Cloud Init
会使用几个 YAML 格式的配置文件。所用文件分别是 meta-data
、network-config
和 user-data
。
Cloud Init
允许使用许多源来存储配置数据。在本指南中,我们使用卷 ID 为 cidata
的本地 ISO 映像作为源。目录结构必须如下所示:
<根目录> └── meta-data └── network-config └── user-data
如果您打算配置 QEMU/KVM 虚拟机,请以 qemu 命令的属性的形式提供 config.ign
的路径。例如:
-fw_cfg name=opt/com.coreos/config,file=PATH_TO_config.ign
Cloud Init
允许使用许多管理选项。有关完整规范,请参见 Cloud Init 规范 (https://cloudinit.readthedocs.io/en/latest/index.html)。
3.1. 使用 Cloud Init 设置 root 口令
您需要对 root 口令进行哈希处理,例如使用以下 openssl
命令来处理:
openssl passwd -6
该命令会创建您所选口令的哈希。请使用此哈希作为 password
属性的值。
使用以下命令准备所需的配置文件:
touch network-config touch meta-data
创建包含以下内容的 user-data
文件:
#cloud-config chpasswd: expire: false users: - name: root password: $2a$10$qV298UV11u9lCFDjpHpCUe1cErBiVR.G3shukxs3.2PAO1xhJWs0K
使用以下命令准备 Cloud Init
ISO 文件:
mkisofs -rational-rock -joliet -o suma_cloudinit.iso -V cidata network-config meta-data user-data
将创建的 suma_cloudinit.iso
文件作为一个卷挂接到创建的虚拟机上。此特定示例会将 root
口令设置为 linux
。请以您的口令哈希替换此示例中的值。
4. SUSE Manager 虚拟机设置
创建虚拟机并为其配置 SUSE Manager 存储分区所需的三个额外虚拟磁盘。
virt-manager
创建 VM 和额外的分区-
在
virt-manager
中打开 。 -
在
创建新虚拟机
对话框中,选择导入现有磁盘映像
,然后单击 下一步 确认。 -
输入下载的 SUSE Manager KVM 映像的文件名,并将
SUSE Linux Enterprise 15 SP4
设置为操作系统。然后单击 下一步 确认。 -
配置 RAM 和 CPU 数量(至少 16 GB RAM,4 个 CPU)。然后单击 下一步 确认。
-
设置 VM 的名称,并选中
在安装之前自定义配置
复选框。 -
在
网络选择
下拉菜单中选择配置的网桥设备。 -
单击 完成 确认。
-
在概览仪表板中左侧导航栏的底部,单击 添加硬件 创建规格如下的额外虚拟磁盘。[proc.sumavm.susemgr.prep] 中将对这些磁盘进行分区并挂载。
存储大小值是绝对最小值 — 仅适用于小规模测试或演示安装。尤其是
/var/spacewalk/
可能很快就需要更多的空间。另外,请考虑为 Kiwi 映像所存储到的/srv
创建一个单独的分区。VirtIO 存储磁盘 名称 大小 VirtIO 磁盘 2
spacewalk
500 GB
VirtIO 磁盘 3
pgsql
100 GB
VirtIO 磁盘 4
swap
4 GB
-
单击 添加硬件 挂接含有准备好的
Ignition
或Cloud Init
磁盘的虚拟 DROM 设备。 -
单击 开始安装 从 SUSE Manager 映像引导新 VM。等待登录提示显示。使用配置磁盘设置的身份凭证登录。
5. SUSE Manager 虚拟机设置 - VMware
本节说明 VMware 配置,重点介绍如何在 VMware 环境中创建对 SUSE Manager 存储分区至关重要的额外虚拟磁盘。
-
下载 SUSE Manager Server
.vmdk
文件,然后将该文件副本传输到您的 VMware 存储区。 -
上载您按照上文说明创建并准备的 Ignition 或 Cloud Init 磁盘文件。
-
创建一个新的虚拟机,并根据 Guest 操作系统系列
Linux
和 Guest 操作系统版本 SUSE Linux Enterprise 15(64 位)为其命名。 -
在
自定义设置
中,使用控制器位置
中的IDE 控制器 0
存储设备浏览到上载的.vmdk
。 -
额外添加一个 500 GB(或更多空间)的
硬盘 2
。 -
配置 RAM 和 CPU 数量(至少 16 GB RAM,4 个 CPU)。
-
根据需要设置网络适配器。
-
将
CD/DVD 驱动器 1
设置为使用上载的配置作为数据存储 ISO
。勾选 连接 旁的复选框。当您最初启动该虚拟机时,此驱动器必须已存在。 -
启动该 VM,然后使用配置磁盘设置的身份凭证登录。
6. 为 SUSE Manager 准备虚拟机
启动之前,您需要从 SUSE Customer Center (https://scc.suse.com) 获取您的 SUSE Manager 注册代码。
-
以
root
身份登录。 -
将 SUSE Manager 注册到 SCC 中。例如,将
<productnumber>
替换为4.3
,并将<architecture>
替换为x86_64
:SUSEConnect -e<电子邮件地址> -r<SUSE MANAGER 代码> \ -p SUSE-Manager-Server/<产品版本号>/<体系结构>
-
运行列出扩展命令来验证已获授权的扩展:
SUSEConnect --list-extensions
-
添加 SUSE Manager 储存库:
SUSEConnect -p sle-module-basesystem/15.4/x86_64 SUSEConnect -p sle-module-server-applications/15.4/x86_64 SUSEConnect -p sle-module-web-scripting/15.4/x86_64 SUSEConnect -p sle-module-suse-manager-server/<productnumber>/x86_64
-
准备 SUSE Manager 存储空间:
suma-storage
命令会自动准备并配置之前创建的外部存储空间,以便用于 SUSE Manager。在下面的命令中,第一个参数是用于存储 SUSE Manager 数据的设备,第二个参数是用于存储数据库的设备。suma-storage /dev/vdb /dev/vdc
-
虚拟机现在已准备就绪,可以设置 SUSE Manager。
要继续设置 SUSE Manager,请参见 SUSE Manager 设置。