你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

为 SUSE Linux 安装 SMT 服务器

在本文中,我们将逐步介绍为 Azure SAP HANA 大型实例(也称为“BareMetal 基础结构”)安装 SMT 服务器的步骤。

SAP HANA 的大型实例不直接连接到 Internet。 因此,无法直接向操作系统提供程序注册此类单元,也无法直接下载并应用更新。 SUSE Linux 的解决方案是在 Azure 虚拟机 (VM) 中安装 SMT 服务器。 你将在连接到 HANA 大型实例 (HLI) 的 Azure 虚拟网络中托管虚拟机。 SMT 服务器到位以后,HANA 大型实例可以注册并下载更新。

有关 SU标准版的详细信息,请参阅 SLES 12 SP5 的订阅管理工具。

先决条件

若要为 HANA 大型实例安装 SMT 服务器,首先需要:

  • 连接到 HANA 大型实例 ExpressRoute 线路的 Azure 虚拟网络。
  • 与组织相关联的 SUSE 帐户。 组织应具有一个有效的 SUSE 订阅。

在 Azure 虚拟机上安装 SMT 服务器

  1. 登录 SUSE 客户中心。 转到“组织”>“组织凭据” 。 在该部分,应能找到安装 SMT 服务器所需的凭据。

  2. 在 Azure 虚拟网络中安装 SUSE Linux VM。 若要部署此虚拟机,请获取 Azure 的 SLES 12 SP2 库映像(选择 BYOS SUSE 映像)。 在部署过程中,请勿定义 DNS 名称,也不要使用静态 IP 地址。

    Screenshot of virtual machine deployment for SMT server.

    部署的虚拟机获得了 Azure 虚拟网络中的内部 IP 地址 10.34.1.4。 虚拟机的名称为“smtserver”。 安装完成后,检查与 HANA 大型实例的连接。 可能需要在 Azure 虚拟机的 etc/hosts 中配置 HANA 大型实例解析,具体视名称解析的组织方式而定。

  3. 将磁盘添加到虚拟机。 使用此磁盘来保存更新;启动盘本身可能太小。 磁盘装载到 /srv/www/htdocs,如下面的屏幕截图所示。 100 GB 磁盘应该就足够了。

    Screenshot shows the added disk in the PuTTy window.

  4. 登录到 HANA 大型实例;维护 /etc/hosts。 检查是否可以访问将通过网络运行 SMT 服务器的 Azure 虚拟机。

  5. 登录到将运行 SMT 服务器的 Azure 虚拟机。 若要使用 putty 登录虚拟机,在 bash 窗口中运行以下命令序列:

    cd ~
    echo "export NCURSES_NO_UTF8_ACS=1" >> .bashrc
    
  6. 重启 bash 以激活设置。 然后,启动 YAST。

  7. 将 VM (smtserver) 连接到 SUSE 站点。

    smtserver:~ # SUSEConnect -r <registration code> -e s<email address> --url https://scc.suse.com
    Registered SLES_SAP 12.2 x86_64
    To server: https://scc.suse.com
    Using E-Mail: email address
    Successfully registered system.
    
  8. 在虚拟机连接到 SUSE 站点之后,安装 SMT 包。 使用以下 putty 命令安装 SMT 包。

    smtserver:~ # zypper in smt
    Refreshing service 'SUSE_Linux_Enterprise_Server_for_SAP_Applications_12_SP2_x86_64'.
    Loading repository data...
    Reading installed packages...
    Resolving package dependencies...
    

    还可以使用 YAST 工具安装 SMT 包。 在 YAST 中,转到“软件维护”并搜索 smt。 选择“smt”后会自动切换到“yast2-smt”

    Screenshot of SMT in YAST.

    接受 smtserver 上的安装选择。

  9. 安装完成后,转到 SMT 服务器配置。 输入之前从 SUSE 客户中心检索到的组织凭据。 此外,还请输入 Azure 虚拟机主机名,作为 SMT 服务器 URL。 在此示例中,它是 https://smtserver.

    Screenshot of SMT server configuration.

  10. 现在,测试与 SUSE 客户中心的连接是否有效。 如以下屏幕截图所示,在此示例中,连接确实有效。

    Screenshot of testing connection to SUSE Customer Center.

  11. 在 SMT 安装程序启动后,提供数据库密码。 因为是新安装,所以应定义该密码,如以下屏幕截图所示。

    Screenshot of defining password for database.

  12. 创建证书。

    Screenshot of creating a certificate for SMT server.

    在配置结束时,可能需要几分钟才能运行同步检查。 安装和配置 SMT 服务器后,在装入点 /srv/www/htdocs 下应当能找到目录存储库。 存储库下还有一些子目录。

  13. 运行以下命令,重启 SMT 服务器及其相关服务。

    rcsmt restart
    systemctl restart smt.service
    systemctl restart apache2
    

将程序包下载到 SMT 服务器

  1. 重启所有服务后,使用 YAST 在“SMT 管理”中选择相应程序包。 程序包的选择取决于 HANA 大型实例服务器的操作系统映像。 而不依赖于 SLES 版本或运行 SMT 服务器的虚拟机版本。 下面的屏幕截图展示了此选择屏幕的示例。

    Screenshot of selecting packages.

  2. 开始将所选程序包的初始副本复制到安装的 SMT 服务器上。 在 shell 中使用命令 smt-mirror 触发此次复制。

    Screenshot of downloading packages to SMT server

    应将包复制到装入点 /srv/www/htdocs 下创建的目录。 此过程可能需要一个小时或以上,具体取决于选择的程序包数量。 完成后,继续安装 SMT 客户端。

在 HANA 大型实例上安装 SMT 客户端

在此示例中,客户端为 HANA 大型实例。 SMT 服务器安装程序将脚本 clientSetup4SMT.sh 复制到了 Azure 虚拟机中。

将此脚本复制到要连接到 SMT 服务器的 HANA 大型实例中。 使用 -h 选项启动此脚本,并将 SMT 服务器名称作为参数。 在本示例中,名称为“smtserver”

Screenshot of configuring the SMT client.

客户端从服务器加载证书可能会成功。 但在此示例中,注册失败,如以下屏幕截图所示。

Screenshot of client registration failure.

如果无法注册,请参阅 SUSE 支持文档,并运行其中所述步骤。

重要

对于服务器名称,请提供虚拟机的名称(在本例中为“smtserver”),无需提供完全限定的域名

完成这些步骤后,在 HANA 大型实例上运行以下命令:

SUSEConnect –cleanup

注意

该步骤后等待几分钟。 如果立即运行 clientSetup4SMT.sh,可能会出错。

如果发现需要根据 SUSE 文章的步骤进行修复的问题,请在 HANA 大型实例上重启 clientSetup4SMT.sh。 现在,应该可以成功完成了。

Screenshot of client registration success.

你已将 HLI 的 SMT 客户端配置为连接到安装在 Azure VM 上的 SMT 服务器。 现在,使用“zypper up”或“zypper in”将 OS 更新安装到 HANA 大型实例,或者安装其他程序包。 只能在 SMT 服务器上获得之前下载的更新。

后续步骤

了解将 Azure SAP HANA 大型实例迁移到 Azure 虚拟机。