在公有云 (BYOS) 中设置使用不同数据磁盘的 SUSE Manager

问题:

在 SUSE Manager 设置期间重启动服务时,设置发生错误。

设置在重启动 Tomcat 时失败。

error 1

原因:

如果 SUSE Manager 设置为使用不同的磁盘来存储 cache、pgsql 和 spacewalk 数据,这些分区内的现有数据将会在新挂载点下被覆盖。

partitions

由于这个原因,某些服务(例如 tomcat)的数据因为符号链接损坏而丢失。

broken symlink

由于 SUSE Manager 云实例已设置了某些服务,当设置期间无法获取相应数据时,会导致服务无法正常重启动。因此,设置会失败。

incomplete files

应保留的实际数据:

actual files

如何重新创建:

  1. AWS 中置备的 SUSE Manager 服务器会针对 BYOS 使用相关的 AMI

  2. 为 spacewalk、PostgreSQL 和 cache 使用单独的存储设备。 分区大小取决于要同步的储存库。

  3. 使用 yast2 susemanager_setup 设置 SUSE Manager。

解决方法:

要解决该问题或避免该问题发生,请执行以下步骤将底层分区的数据复制到新分区中:

  1. 创建备份分区

    mkdir /bkp
  2. 卸载受影响的分区,例如 /var/cache。

    umount /var/cache
  3. 检查该分区中的底层数据。以下命令应该会列出该目录中保留的实际数据。

    ls -l /var/cache
  4. 将数据复制到第 1 步中创建的备份分区中。

    cp -prav /var/cache/* /bkp/
  5. 使用选项 1 或 2 再次挂载分区:

    (选项 1)   /dev/nvme0nxx /var/cache
    (选项 2)   mount -a(如果 /etc/fstab 下有条目)
  6. 将第 4 步中备份的数据复制到挂载的分区

    cp -prav /bkp/* /var/cache/
  7. 校验是否保留了数据

    ls -l /var/cache/
  8. 重复 SUSE Manager 设置过程

    yast2 susemanager_setup

总结

使用公有云中配置了不同数据分区的 SUSE Manager 时,请确保将这些目录中的现有数据复制到新分区。