Solaris 区域删除和转换

Solaris 区域删除和转换

我有一台 Solaris 服务器,上面有两个区域。我需要删除一个区域并将剩余区域更改为服务器的主操作系统。

做这个的最好方式是什么?

我正在考虑备份需要保留的区域,在服务器上重新安装操作系统,然后从备份区域恢复文件。有更简单的方法吗?

答案1

我想不出一个简单的方法来做到这一点。不过,您要非常小心,因为本地区域与全局区域不同。您不想只在全局区域上恢复本地区域的整个目录结构。这可能会产生意想不到的后果。


一些可以指导您的问题:

1. 本地区域是完整根区域还是稀疏根区域?

如果该区域是稀疏根区域,那么它会继承 /usr 和 /sbin 等目录。您可以通过查看/etc/zones/<zonename>.xml.

2. 是否有特殊原因希望将本地区域变成全局区域?

您是否安装了特定的应用程序?用户配置?是否有理由不让本地区域保留为本地区域?

3.您的服务器是ZFS根系统,还是UFS根系统?

如果是 UFS,是否有足够的可用磁盘空间来允许您使用 Live Upgrade?


如果它是一个稀疏的根区,那么你可能很幸运。由于稀疏根区域继承了全局的所有“Solaris 特定”文件系统,因此所有软件包和补丁数据库都将同步,然后您实际上只需查看从本地区域到本地区域的自定义数据之间的差异。全局区域。例如主目录、/etc/passwd、/etc/shadow 等。

我就是这样做的。我的例子不会很冗长,因为事实上涉及到单个系统、选项和野外发现的变量的考虑因素几乎太多了。相反,它们只是基于我自己使用 ZFS 根系统的经验。通过阅读一些简单的手册页,您应该能够将这些示例转换为适合您自己需求的语法。

1 - 创建新的引导环境。

例如:lucreate -n s10-2011-11-23

  • YMMV 取决于您的系统是 UFS 还是 ZFS,以及您的区域是作为本地文件系统的一部分安装还是在其自己的单独 zpool 中安装。

2 - 挂载新的引导环境

例如:lumount s10-2011-11-23

  • 这将安装新的引导环境/.alt.s10-2011-11-23

3 - 同步您想要的文件系统

例如,如果您只需要来自本地区域的 /opt 和 /export/home:

rsync -avHP /<zonepath>/root/opt/ /.alt.s10-2011-11-23/opt/
rsync -avHP /<zonepath>/root/export/home/ /.alt.s10-2011-11-23/export/home/
  • *这是您将区域路径中的任何数据复制到全局区域文件系统的机会。

4 - 卸载新的引导环境

例如:luumount s10-2011-11-23

    • 这将卸载该/.alt.s10-2011-11-23目录。您需要执行此操作才能在下一步中激活新的引导环境。

5 - 激活新的引导环境

例如:luactivate s10-2011-11-23

  • 复制并保存此处打印的警告。您可能需要它们来恢复

6 - 重新启动进入新的启动环境

例如:init 6

  • *现在新的引导环境已创建,与您想要的内容同步并处于活动状态。现在你只需要重新启动即可。你不能使用reboot命令执行此操作。你必须使用init或者shutdown命令。我建议只使用init 6

使用实时升级的好处是,您始终可以按照在步骤 5 中复制并保存的步骤引导回到之前的引导环境。

这意味着如果某些东西不起作用,或者出现严重错误,您至少可以恢复到进行任何更改之前的系统状态。

在修补或更改系统时,我们总是使用实时升级,只是为了便于回滚。

相关内容