2 从 SMT 迁移到 RMT #
本章说明如何从 SLES 11 或 12 上的 SMT 迁移到 SLES 15 上的 RMT。
2.1 重要注意事项 #
请仔细阅读本节内容。其中包含有关迁移过程的重要信息。
- 使用新主机
我们建议您在新安装的 SLES 15 主机上安装 RMT。RMT 并不能完全取代 SMT。RMT 具有不同于 SMT 的工作流程,仅支持注册 SUSE Linux Enterprise Server 12 及以上版本的系统。
- 储存库元数据和设置
将不会导出 SMT 中的临时储存库的设置。将导出已标记为要镜像的储存库。
- 自定义储存库
只能导出标记为要镜像的储存库。
- 已失效订阅
RMT 上将不会提供组织订阅中已不再可用的产品。
- 客户端信息
将导出系统及其激活的产品。将导出 SMT 中的 SMT 客户端作业和补丁状态。
功能 |
SMT |
RMT |
---|---|---|
在 SLES 11 上可用 |
是 |
否 |
在 SLES 12 上可用 |
是 |
否 |
在 SLES 15 上可用 |
否 |
是 |
将产品与 SUSE Customer Center 同步 |
是 |
是 |
从储存库镜像 RPM |
是 |
是 |
选择性镜像(指定要镜像的产品) |
是 |
是 |
通过 HTTP 提供 RPM |
是 |
是 |
SLE 15 系统注册 |
是 |
是 |
SLE 12 系统注册 |
是 |
是 |
SLE 11 系统注册 |
是 |
否 |
从 SLE 12 迁移到 SLE 15 |
是 |
是 |
临时储存库 |
是 |
no1 |
离线镜像 |
是 |
是 |
NTLM 代理支持 |
是 |
是 |
自定义储存库 |
是 |
是 |
YaST 安装向导 |
是 |
是 |
YaST 管理向导 |
是 |
否 |
客户端管理 |
是 |
否 |
RedHat 支持(扩展支持) |
是 |
是 |
文件去重 |
是 |
是 |
将数据从 SMT 转移到 RMT |
无 |
是 |
将注册数据传输到 SUSE Customer Center |
是 |
否 |
报告 |
是 |
否 |
Web 服务器的自定义 TLS 证书 |
是 |
是 |
Web 服务器 |
Apache 2 |
Nginx |
平台 |
Perl |
Ruby |
1) SUSE Manager 提供的功能。
2.2 导出 SMT 数据 #
通过运行
zypper up
更新已安装的 SMT 服务器。如果您要导出 SSL 证书及其余数据,请运行
smt-data-export
。请记得将证书存放在安全位置。如果您不想从 SMT 导出 SSL 证书,请运行
smt-data-export --no-ssl-export
。导出的配置现已保存到
smt-export.XXXXXX.tar.gz
。将该文件复制到新 RMT 服务器可访问的位置。
2.3 将 SMT 数据导入到 RMT #
运行
zypper up
以确保所安装的 RMT 为最新版本。将导出的
.tar.gz
文件复制到一个空目录,将其解压缩,然后进入解压缩后的文件:tux >
mkdir EMPTY_DIR
tux >
cd EMPTY_DIR
tux >
tar xf /PATH/TO/smt-export.XXXXXX.tar.gz
tux >
cd smt-export
如果您之前选择从 SMT 导出 SSL 证书,请将 CA 私用密钥和证书复制到
/etc/rmt/ssl/
中:tux >
sudo
cp ssl/cacert.key /etc/rmt/ssl/rmt-ca.key
tux >
sudo
cp ssl/cacert.pem /etc/rmt/ssl/rmt-ca.crt
按第 1.4 节 “使用 YaST 配置 RMT”中所述运行 YaST RMT 配置模块。如果您已导入 SMT CA 证书,请将 SMT 服务器的域添加到新 SSL 证书的常用名。
运行 RMT 同步功能以从 SUSE Customer Center 获取产品和储存库数据。
tux >
sudo
rmt-cli sync
导入来自 SMT 服务器的数据。
tux >
sudo
rmt-data-import -d ./
可选:如果 RMT 服务器的 URL 发生变化,请在
/etc/SUSEConnect
中更改客户端的 URL 参数,以指向新的 RMT 服务器。或者更改 DNS 记录以重新指派 RMT 服务器的主机名。可选:将 SMT 中的镜像储存库数据转移到 RMT,并调整所复制数据的所有权。
tux >
sudo
cp -r /var/www/htdocs/repo/* /usr/share/rmt/public/repo/
tux >
sudo
chown -R _rmt:nginx /usr/share/rmt/public/repo
如果 SMT 服务器包含您要镜像到 RMT 服务器的自定义储存库,请在镜像前将其激活(它们默认处于禁用状态)。
通过运行以下命令检查有无自定义储存库:
tux >
sudo
rmt-cli repos custom list
一个列出所有自定义储存库的表格将会显示:第一列包含每个储存库的
ID
,而Mirror?
列将显示false
。通过运行以下命令启用您要镜像的每个自定义储存库:
tux >
sudo
rmt-cli repos custom enable ID
通过启动镜像过程更新储存库中的软件包:
tux >
sudo
rmt-cli mirror