硬件要求

下表概述了 x86-64、ARM、ppc64le 和 s390x 体系结构上的 SUSE Manager 服务器与代理的硬件和软件要求。

基于 ppc64le 或 s390x 体系结构的 SUSE Manager 安装无法使用安全引导来引导网络客户端。存在此限制是因为 shim 引导加载程序不适用于这两种体系结构。

有关 SUSE Manager for Retail 硬件要求,请参见 Retail Requirements

1. 服务器要求

容器主机的操作系统为 SLE Micro 5.5 或 SUSE Linux Enterprise Server 15 SP6 之一。在下文中,仅当必要时才会明确提到安装的主机操作系统为 SUSE Linux Enterprise Server 的情况,否则仅介绍 SLE Micro 作为操作系统的情况或仅以主机操作系统表述。

操作系统为 SLE Micro 的容器主机具有如下可用磁盘空间要求:

  • 至少 100 GB 用于基础安装

  • 再加上至少 130 GB 用于储存库数据

使用 SUSE Linux Enterprise Server 操作系统时所需的磁盘空间可能要多很多,具体取决于所选软件的数量。

默认情况下,SUSE Manager 服务器容器会将镜像储存库(软件包或产品)、数据库和其他数据存储在 /var/lib/containers/storage/volumes/ 目录的子目录中。如果此目录耗尽了磁盘空间,储存库同步将会失败。请根据您要镜像的客户端和储存库的数量和类型来估算 /var/lib/containers/storage/volumes/ 目录所需的空间。

有关文件系统和分区细节的详细信息,请参见 永久性存储和权限 和本指南的安装和部署相关章节中的详细安装说明。

Table 1. 服务器硬件要求
硬件 细节 建议

CPU

x86-64、ARM、ppc64le 或 s390x

至少 4 个专用 64 位 CPU 核心

RAM

至少

16 GB

建议

32 GB

磁盘空间

/(根目录)

20 GB

/var/lib/containers/storage/volumes

至少 50 GB(取决于产品数量)

/var/lib/containers/storage/volumes/var-pgsql

至少 50 GB

默认情况下,映像有一个 20 GB 的 / 分区。SLE Micro 5.5 的云映像只有一个 5 GB 的 / 分区。两者都完美地适用于 SUSE Manager。只要外部存储被挂载到 /var/lib/containers/storage/volumes,SUSE Manager 就不需要或不使用 / 分区上的存储空间,而是将其留给容器主机自身的管理。

SUSE Manager 性能取决于硬件资源、网络带宽、客户端与服务器之间的延迟,等等。

根据所用体验和部署方式的不同,SUSE Manager 服务器与足够数量的代理配套使用时,建议每个服务器处理的客户端不要超过 10,000 个,以便获得最佳性能。当客户端数量超过 10,000 个时,强烈建议改为使用集线器设置并咨询相关专业人员。即使优化了设置并配备了充足的代理,数量如此庞大的客户端也可能导致发生性能问题。

有关如何管理大量客户端的详细信息,请参见 Multiple Servers with Hub to Manage Large Scale Deployments

2. 代理要求

Table 2. 代理硬件要求
硬件 细节 建议

CPU

x86-64、ARM

至少 2 个专用 64 位 CPU 核心

RAM

至少

2 GB

建议

8 GB

磁盘空间

/(根目录)

至少 40 GB

/var/lib/containers/storage/volumes

至少 100 GB

默认情况下,SUSE Manager 代理容器将软件包缓存在 /var/lib/containers/storage/volumes/uyuni-proxy-squid-cache/ 目录中。如果可用空间不足,代理将去除旧的未使用软件包,并将其替换为较新的软件包。

鉴于这种行为:

  • 代理上的 /var/lib/containers/storage/volumes/uyuni-proxy-squid-cache/ 目录越大,代理与 SUSE Manager 服务器之间的流量就越少。

  • 使代理上的 /var/lib/containers/storage/volumes/uyuni-proxy-squid-cache/ 目录与 SUSE Manager 服务器上的 /var/lib/containers/storage/volumes/var-spacewalk/ 保持相同的大小,可以避免在首次同步后出现大量的流量。

  • SUSE Manager 服务器上的 /var/lib/containers/storage/volumes/uyuni-proxy-squid-cache/ 目录可能比代理上的目录要小。有关大小估算的指导,请参见服务器要求一节。

一般情况下,SUSE 建议将缓存目录的值调整为可用空间的 80 %。在服务器上生成代理配置时会设置 cache_dir 值。无法直接在 squid.conf 中设置该选项。

3. 数据库要求

PostgreSQL 是唯一受支持的数据库。不支持使用远程 PostgreSQL 数据库或装有 PostgreSQL 数据库的远程文件系统(例如 NFS)。换句话说,PostgreSQL 应该位于 SUSE Manager 可用的最快的存储设备上。

由于存在潜在性能问题,我们不建议从 SUSE Manager 远程运行 PostgreSQL 数据库。虽然这种环境在很多情况下是可行的甚至非常稳定,但如果发生问题,始终存在丢失数据的风险。

如果发生这种情况,SUSE 可能无法提供帮助。

4. 永久性存储和权限

默认情况下,在部署容器时会创建永久性卷。

但建议您将卷存储在一个或多个单独的存储设备上。这种设置有助于避免生产环境中丢失数据。此操作可在部署容器后再进行。

最好在首次部署容器之后设置存储设备。有关更多细节,请参见 永久性容器卷

我们建议使用 XFS 作为所有卷的文件系统类型。用于存储储存库的磁盘大小取决于您要使用 SUSE Manager 管理的发行套件和通道数目。请参见本节中的表格来估算所需大小。

请勿使用 NFS 存储数据,因为它不支持 SELinux 文件标记。

在 SUSE Manager 服务器上,使用以下命令找到所有可用的存储设备:

hwinfo --disk | grep -E "Device File:"

使用 lsblk 命令查看每个设备的名称和大小。

使用 mgr-storage-server 命令并加上设备名,可将外部磁盘设置为数据存储位置,您还可以选择指定服务器自身的磁盘用于数据库:

mgr-storage-server <storage-disk-device> [<database-disk-device>]

外部存储卷将设置为挂载到 /manager_storage/pgsql_storage 的 XFS 分区。

可对通道数据和数据库使用同一个存储设备。但不建议这样做,因为不断增长的通道储存库可能会填满存储,从而给数据库完整性带来风险。使用独立的存储设备还可以提高性能。如果您想要使用单个存储设备,请结合单个设备名参数运行 mgr-storage-server

如果您安装的是代理,mgr-storage-proxy 命令只接受单个设备名参数,并将外部存储位置设置为 Squid 缓存。

5. 逻辑卷管理 (LVM)

对于所有类型的虚拟机 (VM),通常都不需要 LVM,也不建议使用。磁盘设置是虚拟的,因此卷可以使用单独的磁盘,这也是建议的做法。

对于其他部署,也建议为卷使用单独的磁盘。

在 SUSE Manager 服务器的容器主机上,mgr-storage-server 命令会将 /var/lib/containers/storage/volumes 目录的完整内容移到单独的磁盘,并将其重新挂载到 /var/lib/containers/storage/volumes。如果指定了第二个设备名称,mgr-storage-server 会将 /var/lib/containers/storage/volumes/var-pgsql 数据库目录的内容移动到第二个单独的磁盘,并将其重新挂载到 /var/lib/containers/storage/volumes/var-pgsql

同样地,在 SUSE Manager 代理的容器主机上,mgr-storage-proxy 命令会将 /var/lib/containers/storage/volumes 目录的完整内容移动到单独的磁盘,并将其重新挂载到 /var/lib/containers/storage/volumes