问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在 Oracle Solaris 11 中执行系统存档和恢复过程

发布网友 发布时间:2022-04-19 22:11

我来回答

1个回答

热心网友 时间:2022-04-10 04:56

  本文所提供的步骤可构成基本灾难恢复计划的核心,也可用于将系统服务迁移到新的引导设备或相同模型但完全不同的系统。注意,不支持将已安装的软件迁移到不同模型的系统。


  如果想要下载软件、加入论坛、阅读类似本文的内容之外的其他技术方法精品文章,请成为 OTN 成员。无垃圾邮件!

  过程概述

  为根池及其关联的数据集以及任何应迁移或恢复的其他 ZFS 池(如存储重要第三方软件或本地用户帐户数据的池)创建一个 ZFS 存档。


  要备份和恢复整个系统,应对所有 ZFS 池及其数据集进行存档,如 Oracle Solaris 管理:ZFS 文件系统 指南中所述,同时应对节点所提供服务所需的所有其他非根文件系统或数据进行存档。这可确保所有配置详细信息、第三方软件和其他节点特定的元素(如本地用户帐户和数据)都将在恢复系统上恢复,且恢复到功能齐备的服务状态。本文重点介绍根池。


  创建存档之后,可以将其保存在本地可移动介质(如 USB 驱动器)上,也可以通过网络将其发送到文件服务器,以便稍后从该服务器进行检索。当需要利用存档时,可按照以下过程操作:


  从 Oracle Solaris 11 安装介质引导恢复系统,启动具有超级用户权限的 shell。

  选择和配置启动磁盘设备并创建新的 ZFS 根池。

  将存档的 ZFS 数据集恢复到新池。

  执行最终配置,然后重新启动系统。

  要求和注意事项

  任何运行 Oracle Solaris 11 的主机都可以成为此过程的候选者。对于要恢复到新磁盘或系统的系统存档,必须满足以下要求:


  存档的系统和恢复系统必须是同一模型且必须满足 Oracle Solaris 11 的最低要求。

  将容纳新 ZFS 池的磁盘的总容量至少必须与存档池中分配的空间相同(下面将提供更多详细信息)。

  存档系统和恢复系统上都需要根访问权限。

  注意,存档将包含位于所存档 ZFS 数据集中的所有软件和配置信息。这包括但不限于以下信息:


  操作系统及相关配置和调优

  所有引导环境 (BE) 和先前的 ZFS 快照

  网络配置,包括主机名、路由信息和名称服务配置

  所有本地安装的软件及本地存储的相关数据

  本地配置的用户帐户及本地用户数据

  区域及相关配置数据

  这意味着大多数情况下,在完成以下概述的步骤之后,不需要其他配置操作。


  存档映像中不包含任何硬件特定的配置数据。如果要使用此过程移动到相同模型的全新系统,不会随备份一起转移的特定于硬件的系统特征包括(但不限于)以下内容:


  磁盘容量和配置(包括 ZFS 池配置)

  内存容量和配置

  硬件以太网地址

  已安装的硬件外围设备

  对于已安装的硬件外围设备,应特别注意,如果要恢复的系统利用直接连接的外部存储或特殊的网络硬件(如光纤通道或 InfiniBand 适配器),则需要在恢复系统上安装这些设备以访问该存储。


  第 1 阶段:创建存档

  本部分介绍需要做的准备工作以及如何创建存档。


  准备

  要准备恢复,需要记下要存档的每个池的磁盘拓扑结构和 ZFS 池配置。同样,在本文中将重点介绍根池。需要对恢复系统上的目标磁盘进行类似的配置,并且需要相应调整新 ZFS 池的大小。为每个池分配的大小(以下所示的 zpool list 输出中的 ALLOC 列)至少需要确保有充足的空间来还原恢复系统上的数据集。


  # zpool list

  NAME      SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT

  rpool      68G  51.6G  16.4G  75%  1.00x  ONLINE  -


  如果有任何池的容量(如 CAP 列所示)超过 80%,最佳实践表明应扩大该池以规划容量。根据其他配置元素和工作量的不同,增加池中的空间余量还有益于性能。有关如何管理 ZFS 文件系统及相关性能的更多信息,请参阅 Oracle Solaris 管理:ZFS 文件系统。


  为准备稍后的恢复,各种命令的输出应保存到一个文件,与存档一起保存以便恢复期间参考。清单 1 中所示命令只是最低建议,根据系统配置的不同,其他配置信息也可能有用。清单 1 中所示命令及示例输出仅针对根池 (rpool)。

  上述被存档系统的信息以及恢复期间可能有用的任何其他信息均应放在一个文件中,该文件与存档文件一起保存以便稍后在恢复期间使用。

  也可以使用 Oracle Explorer Data Collector 收集所有系统配置信息以供稍后参考。Oracle Explorer Data Collector 及相关文档可在 MyOracle Support(需要支持合同和登录)中找到。

  有关 ZFS 管理和容量规划的其他信息,请参阅 Oracle Solaris 管理:ZFS 文件系统。

  创建存档

  要对根池进行存档并包括所有快照和 BE,可创建一个 ZFS 复制流。首先,必须从池的顶级创建一个递归快照。同样,可以对需要存档并传给恢复主机的其他池进行存档。

  注意,rpool 是默认的根池名称,但在任何给定系统上根池可能有不同的名称。如果要对所有池和数据集进行存档,这不是很重要。然而,如果只需要备份根文件系统或者只需要备份选定的一组 BE,且不清楚它们驻留在哪个池上,可以使用 beadm list -d 命令来确定。此后,使用默认名称 rpool 来引用根池。

  以下命令创建根池的一个名为 archive 的递归快照。还可以基于您需要的日期或您期望的任何其他描述性标签选择快照名称。

  # zfs snapshot -r rpool@archive


  现在已创建递归快照,但应从中删除交换和转储设备快照,因为它们可能不包含与系统迁移或恢复相关的任何数据。而且,删除它们通常会显著降低存档的大小。

  以下命令将删除默认命名的交换和转储设备快照,虽然主机上可能部署了其他快照。

  注:关于转储设备,尽管转储设备也有可能有数据尚未提取到 /var 数据集(以核心存档的形式),但可能性不大。如果是这种情况,就应保存转储设备的内容,应在删除转储设备快照之前将内容转储到文件系统。详情参见 mpadm(1M)。

  # zfs destroy rpool/swap@archive
# zfs destroy rpool/mp@archive


  要确定是否存在默认命名设备之外的其他设备,可使用 swap(1m) 和 mpadm(1m) 分别列出交换和转储设备的名称。

  现在快照准备好了。下一步是将其发送到文件进行存档。如果要存档多个 ZFS 池,每个池将有一个快照,且每个快照将发送到自己的存档文件。同样,在本示例中,以下步骤重点放在创建根池的存档。不过,可用同样的方式对系统上的任何其他池进行存档。

  ZFS send 命令以管道方式输出到 gzip 命令,结果产生一个压缩文件,其中包含池快照的存档。创建此存档文件时,使用某个有助于稍后确定存档内容的反映主机名、日期或其他描述性术语的唯一命名方案是一个好主意。

  存档文件可以本地保存以便稍后进行重定位,也可以创建在可移动介质上。注意,尽管使用了压缩,本地或文件服务器上仍应有足够的存储空间供存档使用。一个好的经验是有足够的空间容纳 zpool list 报告的 ALLOC 量的总和。

  要在本地创建存档文件,可使用以下命令。恢复映像文件名可以是任何有助于识别此存档以便稍后使用的字符串。例如,通常选择使用主机名加日期。

  # zfs send -Rv rpool@archive | gzip > /path/to/archive_$(hostname)_$(date +%Y%m%d).zfs.gz


  现在应将该存档文件移动到文件服务器以便稍后检索。

  还可以选择将存档文件直接写入挂载 NFS 的路径,如下所示。

  # zfs send -Rv rpool@archive | gzip > /net/FILESERVER/path/to/archive_$(hostname)_$(date +%Y%m%d).zfs.gz

  类似地,可以使用 ssh 以流方式将存档文件发送到文件服务器。

  # zfs send -Rv rpool@archive | gzip | ssh USER@FILESEVER "cat> /path/to/archive_$(hostname)_$(date +%Y%m%d).zfs.gz"


  注意,使用这最后一个选项通过网络以流方式传送存档时,ssh 传输不支持任何暂停和恢复功能。因此,如果网络连接中断,需要重新启动整个命令。

  强烈建议在备份的文件系统上存储存档文件。

  注意,恢复存档已创建,现在可以删除本地快照了。

  # zfs destroy -r rpool@archive


  第 2 阶段:从存档恢复

  系统引导

  只要需要执行系统恢复或系统迁移操作,就可以开始恢复阶段。

  首先,需要从 Oracle Solaris 11 安装介质引导恢复系统。用于引导恢复系统的安装介质应与用于构建存档的 Oracle Solaris 11 的版本相同。例如,如果存档是在 Oracle Solaris 11 11/11 主机上创建的,则在此阶段应使用 Oracle Solaris 11 11/11 安装介质。可以从 DVD、USB 设备或网络引导恢复系统。注意,不是从此介质安装系统,相反,此介质仅用于引导系统。引导之后,将在可以开始恢复过程的位置启动 shell。

  要从 DVD 或 USB 安装介质引导,请插入介质并选择相应的设备作为引导设备。使用 LiveCD,GNOME 桌面会话可用于恢复过程;一旦桌面启动,可启动一个终端窗口来执行此过程的其余部分。如果使用基于文本的介质,可选择在 Text Installer 菜单出现时退出 shell。

  Oracle Solaris 自动安装程序 (AI) 或 AI 介质的本地副本也可以用于引导系统。在 x86 主机上,选择“Text Installer and command line”GRUB 菜单项将运行 Text Installer,可从菜单中选择一个 shell。

  类似地,在 SPARC 主机上,引导 AI 介质(从本地或通过网络)而不启动自动安装将允许您从 Text Installer 菜单选择 shell。这可以通过在 SPARC 计算机上的引导提示符处调用以下引导命令来完成:

  {0} ok boot net:dhcp


  有关如何在 Oracle Solaris 11 中引导系统的更多信息,请参阅系统管理指南:基本管理 中的 x86 和 SPARC 引导信息。

  引导设备和根池准备

  第一步是配置新的引导磁盘设备。有关如何管理磁盘设备、如何确定引导设备以及如何更改默认引导设备(如有必要),请参阅 OracleSolaris 管理:设备和文件系统 指南以及系统管理指南:基本管理 中的 x86 和 SPARC 引导信息。

  注意,如前面所引用的,可复制原来的磁盘布局,也可以使用不同的磁盘布局,只要采取以下步骤并将磁盘开始部分的空间预留给引导数据。此外,根池(或其他恢复目标池)不必与原始池大小相同。不过,新池的大小必须足以包含各自存档文件中的所有数据(即与 zpool list 输出中的 ALLOC 部分大小相等,如前所述)。

  一旦选择了引导设备,就可以根据需要基于存档系统上的初始磁盘配置对其进行配置。在此重申,所要求的是最终所创建的 ZFS 池的大小应足以存储数据集,也就是 zpool list 的输出中所显示的 ALLOC 的数值。

  format(1M) 命令用于根据需要配置磁盘分区和/或分片。对于引导设备,应使用 VTOC 标签,默认配置为起始于柱 1 的全设备分片 0。作为创建存档的一部分保存的文件可以提供关于如何最好地配置引导设备的指导。

  首先从 format 实用程序的菜单选择所需的引导设备,如清单 2 所示。

  完成之后,可以根据需要配置分片。清单 3 显示设置全容量(或“全力”)分片 0 的示例,这是默认配置。该分片从柱 1 开始,以便在磁盘开头部分为引导软件留出空间。注意,根据系统架构、磁盘几何及其他变量,分区表可能略有不同。

  清单 3:设置全容量分片的示例

  注意,如果存档的系统的根池未使用默认名称 rpool,在此应使用其实际名称。尽管使用不同名称的池也能成功完成恢复过程,但产生的 ZFS 文件系统可能会采取不同的挂载点,这可能会造成混乱。因此,应使用与存档 ZFS 池相同的名称创建恢复 ZFS 池。

  此时还可以创建恢复存档所需的任何其他 ZFS 池。注意,如果系统上的某个现有池已经使用期望的名称,您需要另选其他名称。有关如何创建 ZFS 池的更多信息,请参阅 Oracle Solaris 管理:ZFS 文件系统 指南。

  下一步是从存档文件恢复 ZFS 数据集。如果存档存储在可移动介质上,现在应连接和配置该介质以便可以访问其中的文件。有关如何配置可移动介质的更多信息,请参阅 Oracle Solaris 管理:设备和文件系统 指南。

  一旦可以从本地访问存档文件,就可以使用以下命令恢复数据集。

  # gzcat /path/to/archive_myhost_20111011.zfs.gz | zfs receive -vF rpool


  如果存档文件存储在联网的文件服务器上,可以使用以下命令以流方式获取存档并恢复数据集。

  # ssh USER@FILESERVER "cat /path/to/archive_myhost_20111011.zfs.gz" | gzip -d | zfs receive -vF rpool


  如果该主机上存档了要恢复的其他池,此时可以使用与以上所示相同的 ZFS 操作恢复这些池。有关如何恢复 ZFS 数据集的其他信息,请参阅 Oracle Solaris 管理:ZFS 文件系统。

  本过程的数据恢复部分现已完成。现在必须执行最后几步来确保恢复系统将按照预期方式进行引导。

  第 3 阶段:配置和验证

  首先,必须创建要用于恢复后系统的交换和转储设备。注意,这里使用的是默认命名的设备,因此无需其他管理任务(例如,使用swap(1m) 命令添加交换设备),因为这些设备已经在使用中并且配置成在引导时与该系统一起运行。如果目标系统的内存配置与存档的系统不同,交换和转储设备可能需要不同的大小,但名称仍与先前的配置相同,因此,这些设备在恢复系统首次引导时会被正确配置。

  应按照 Oracle Solaris 管理:设备和文件系统 和 Oracle Solaris 管理:ZFS 文件系统 指南中的建议调整交换和转储设备的大小,大体如下表所示。

  一旦激活,beadm list 输出中 BE 的 Active 列将显示 R,表示在重新启动时处于活动状态。这可以通过再次调用 beadm list 来确认。有关 BE 管理的其他信息,请参阅创建和管理 Oracle Solaris 引导环境。

  现在可以重新引导系统。除了任何物理拓扑结构、外围设备更改和其他硬件相关更改之外,该系统应与存档系统一样。软件配置和数据以及恢复的任何辅助 ZFS 池应由存档系统继承而来,如上所述。应检查和验证网络配置。如果系统是在新网络上恢复的,或者自创建存档之后与网络有关的配置元素发生了更改,则可能需要某些修改。有关配置的更多信息,请参阅 Oracle Solaris 管理指南。

  总结

  本文演示了可存档和恢复已安装和配置的 Oracle Solaris 11 主机的一组过程。这些过程可用作整个灾难恢复计划的组成部分,也可用于将Oracle Solaris 11 系统上托管的业务服务迁移到另一个引导设备或相同模型的完全不同的系统。

转载

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 solaris 10 更改ip,子网掩码后,保存退出重启后,... solaris 修改/etc/system文件怎么保存不了阿阿阿 如何在Solaris下进行SAN存储配置 摩尔庄园:拉姆怎么学习技能? 摩尔庄园 拉姆怎么学魔法 摩尔庄园 :拉姆 怎么学习技能 摩尔庄园拉姆在哪学手工 摩尔庄园的拉姆怎么学习技能 摩尔庄园拉姆怎么学水。火、土技能 摩尔庄园我的拉姆怎么去学习 摩尔庄园 超级拉姆在哪里可以学会魔法? 7k7k摩尔庄园里面的拉姆学习神力的地方在哪 摩尔庄园的拉姆怎么上学? 摩尔庄园中的拉姆飞行课怎么学,在哪学? 摩尔庄园拉姆怎样学习 摩尔庄园怎么让拉姆变身?去哪学? CCNA思科证书,07年过的,现也过期了,需要它报考... 摩尔庄园的拉姆怎么学技能 我学思科有一年了(ccna,ccnp),但是经过一段时... 摩尔庄园里,拉姆到哪里学语言课? 如何给solaris上的虚拟机vm增加硬盘空间 命令 solaris线程互斥锁代码及其solaris线程编译命令 Solaris oracle数据库占内存达到3G,这是什么原因... Linux与Solaris的区别? UNIX Solaris for x86系统重装操作系统后hostid会... 在Sun Unix solaris 下安装Oracle8i 最好能给完整... Unix/Solaris/Linux操作系统 上机实验 很简单的命... 智学网毕业之后不显示了,如何恢复 我的智学网密码被人改了怎么办? 智学网改卷误点结束阅卷还能恢复吗? 怎样恢复智力(主要指思维敏捷性)? 自己把自己的智学网删了还能找回自己的吗,但是之... 世外学校智学通用过删除怎么恢复 绑定智学网的两个手机号注销了怎么办 智学网忘记登陆密码怎么办? 忘记智学网的账号,也没有绑定手机号,如何找回密码? 学生智学网账号被注销了有影响吗 智学派x5怎样恢复出厂设置 智商还可以恢复吗 智力下降能恢复过来吗?