硬件要求
下表概述了 x86-64、ARM、ppc64le 和 s390x 体系结构上的 SUSE Multi-Linux Manager 服务器与代理的硬件和软件要求。
|
基于 ppc64le 或 s390x 体系结构的 SUSE Multi-Linux Manager 安装无法使用安全引导来引导网络客户端。存在此限制是因为 shim 引导加载程序不适用于这两种体系结构。 |
有关 SUSE Multi-Linux Manager for Retail 硬件要求,请参见 Retail Requirements。
1. 服务器要求
容器主机的操作系统为 SL Micro 6.1 或 SUSE Linux Enterprise Server 15 SP7。
在下文中,仅当 SUSE Linux Enterprise Server 作为已安装的主机操作系统会产生影响时,才会明确提及该系统;否则,我们将使用 SL Micro 或直接统称“主机操作系统”。
操作系统为 SL Micro 的容器主机的可用磁盘空间要求如下:
-
至少 100 GB 用于基础安装
-
再加上至少 130 GB 用于储存库数据
使用 SUSE Linux Enterprise Server 操作系统时,所需的磁盘空间可能要多很多,具体取决于所选软件的数量。
默认情况下,SUSE Multi-Linux Manager 服务器容器会将镜像储存库(软件包或产品)、数据库和其他数据存储在 /var/lib/containers/storage/volumes/ 目录的子目录中。如果此目录耗尽了磁盘空间,储存库同步将会失败。请根据您要镜像的客户端和储存库的数量和类型来估算 /var/lib/containers/storage/volumes/ 目录所需的空间。
有关文件系统和分区细节的详细信息,请参见 永久性存储和权限 和本指南的安装和部署相关章节中的详细安装说明。
| 硬件 | 详细信息 | 建议 |
|---|---|---|
CPU |
x86-64、ARM、ppc64le 或 s390x |
至少 4 个专用 64 位 CPU 核心 |
RAM |
至少 |
16 GB |
建议 |
32 GB |
|
磁盘空间 |
|
40 GB |
|
至少 150 GB(取决于产品数量) |
|
|
至少 50 GB |
|
交换空间 |
额外配置交换空间有助于提升系统性能。SUSE 建议使用交换文件而非交换分区。有关交换空间的详细信息,请参见 交换空间。 |
8 到 12 GB |
默认情况下,映像有一个 40 GB 的 / 分区。SL Micro 6.1 的云映像只有一个 5 GB 的 / 分区。两者均与 SUSE Multi-Linux Manager 完美兼容。只要将外部存储设备挂载到 /var/lib/containers/storage/volumes,SUSE Multi-Linux Manager 便无需或不会使用 / 分区的存储资源,而是交由容器主机自行管理该部分存储空间。
|
SUSE Multi-Linux Manager 性能取决于硬件资源、网络带宽、客户端与服务器之间的延迟,等等。 根据所用体验和部署方式的不同,SUSE Multi-Linux Manager 服务器与足够数量的代理配套使用时,建议每个服务器处理的客户端不要超过 10,000 个,以便获得最佳性能。当客户端数量超过 10,000 个时,强烈建议改为使用集线器设置并咨询相关专业人员。即使优化了设置并配备了充足的代理,数量如此庞大的客户端也可能导致发生性能问题。 有关如何管理大量客户端的详细信息,请参见 Multiple Servers with Hub to Manage Large Scale Deployments。 |
2. 代理要求
容器主机的操作系统为 SL Micro 6.1 或 SUSE Linux Enterprise Server 15 SP7。
|
最低要求适用于快速测试安装,例如包含一个客户端的代理。如果您想要使用生产环境,请使用建议的值开始操作。 |
| 硬件 | 详细信息 | 建议 |
|---|---|---|
CPU |
x86-64、ARM |
至少 2 个专用 64 位 CPU 核心 |
建议 |
与最低要求相同 |
|
RAM |
至少 |
2 GB |
建议 |
8 GB |
|
磁盘空间 |
|
至少 40 GB |
|
至少 100 GB |
|
交换空间 |
额外配置交换空间有助于提升系统性能。SUSE 建议使用交换文件而非交换分区。有关交换空间的详细信息,请参见 交换空间。 |
4 到 8 GB |
默认情况下,SUSE Multi-Linux Manager 代理容器将软件包缓存在 /var/lib/containers/storage/volumes/uyuni-proxy-squid-cache/ 目录中。如果可用空间不足,代理将去除旧的未使用软件包,并将其替换为较新的软件包。
鉴于这种行为:
-
代理上的
/var/lib/containers/storage/volumes/uyuni-proxy-squid-cache/目录越大,代理与 SUSE Multi-Linux Manager 服务器之间的流量就越少。 -
使代理上的
/var/lib/containers/storage/volumes/uyuni-proxy-squid-cache/目录与 SUSE Multi-Linux Manager 服务器上的/var/lib/containers/storage/volumes/var-spacewalk/保持相同的大小,可以避免在首次同步后出现大量的流量。 -
SUSE Multi-Linux Manager 服务器上的
/var/lib/containers/storage/volumes/uyuni-proxy-squid-cache/目录可能比代理上的目录要小。有关大小估算的指导,请参见服务器要求一节。
|
一般情况下,SUSE 建议将缓存目录的值调整为可用空间的 80 %。在服务器上生成代理配置时会设置 |
3. 交换空间
不同系统的工作负载各不相同。无论 RAM 总容量是多少,对于工作负载较大或波动不定的系统而言,额外配置交换空间均有助于提升性能。建议将交换空间部署在可用的最快存储设备上(例如 SSD)。SUSE 建议使用交换文件而非交换分区。
有关交换空间大小建议,请参见上文表格。
以下外壳命令片段可创建一个 8GiB 大小的交换文件。
|
BtrFS 文件系统中的交换文件会导致无法创建该卷的快照。在下面的示例中, |
## setup swapfile at /var/swap
# run following as a root user
# allocate 8GiB for swap file
fallocate -l 8G /var/swap
# ensure CoW is disabled for the swap file
chattr +C /var/swap
# allow only root access
chmod 600 /var/swap
# make swap file based on allocated file
mkswap /var/swap
# activate swap use for the running system
swapon /var/swap
# activate swap during the next boots
echo "/var/swap swap swap defaults 0 0" >> /etc/fstab
4. 数据库要求
PostgreSQL 是唯一受支持的数据库。不支持使用远程 PostgreSQL 数据库或装有 PostgreSQL 数据库的远程文件系统(例如 NFS)。换句话说,PostgreSQL 应该位于 SUSE Multi-Linux Manager 可用的最快的存储设备上。
|
由于存在潜在性能问题,我们不建议从 SUSE Multi-Linux Manager 远程运行 PostgreSQL 数据库。虽然这种环境在很多情况下是可行的甚至非常稳定,但如果发生问题,始终存在丢失数据的风险。 如果发生这种情况,SUSE 可能无法提供帮助。 |
5. 永久性存储和权限
默认情况下,在部署容器时会创建永久性卷。
但建议您将卷存储在一个或多个单独的存储设备上。这种设置有助于避免生产环境中丢失数据。此操作可在部署容器后再进行。
最好在首次部署容器之后设置存储设备。有关更多细节,请参见 永久性容器卷。
我们建议使用 XFS 作为所有卷的文件系统类型。用于存储储存库的磁盘大小取决于您要使用 SUSE Multi-Linux Manager 管理的发行套件和通道数目。请参见本节中的表格来估算所需大小。
|
请勿为 Cobbler 或 PostgreSQL 使用 NFS 格式的存储空间,此外在 SELinux 环境中也不要使用 NFS。这些场景不受支持。 |
在 SUSE Multi-Linux Manager 服务器上,使用以下命令找到所有可用的存储设备:
hwinfo --disk | grep -E "Device File:"
使用 lsblk 命令查看每个设备的名称和大小。
使用 mgr-storage-server 命令并加上设备名,可将外部磁盘设置为数据存储位置,您还可以选择指定服务器自身的磁盘用于数据库:
mgr-storage-server <storage-disk-device> [<database-disk-device>]
例如:
mgr-storage-server /dev/nvme1n1 /dev/nvme2n1
外部存储卷将设置为挂载到 /manager_storage 和 /pgsql_storage 的 XFS 分区。
|
此命令将在 有关详细信息,请参见 永久性容器卷。 |
可对通道数据和数据库使用同一个存储设备。但不建议这样做,因为不断增长的通道储存库可能会填满存储,从而给数据库完整性带来风险。使用独立的存储设备还可以提高性能。如果您想要使用单个存储设备,请结合单个设备名参数运行 mgr-storage-server。
如果您安装的是代理,mgr-storage-proxy 命令只接受单个设备名参数,并将外部存储位置设置为 Squid 缓存。
6. 逻辑卷管理 (LVM)
对于所有类型的虚拟机 (VM),通常都不需要 LVM,也不建议使用。磁盘设置是虚拟的,因此卷可以使用单独的磁盘,这也是建议的做法。
对于其他部署,也建议为卷使用单独的磁盘。
在 SUSE Multi-Linux 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 Multi-Linux Manager 代理的容器主机上,mgr-storage-proxy 命令会将 /var/lib/containers/storage/volumes 目录的完整内容迁移到单独的磁盘,并将该磁盘重新挂载到 /var/lib/containers/storage/volumes。