Oracle® Solaris Cluster 4.3 系统管理指南

退出打印视图

更新时间: 2016 年 7 月
 
 

如何恢复 ZFS 根 (/) 文件系统 (Solaris Volume Manager)

使用此过程可将 ZFS 根 (/) 文件系统恢复到新磁盘(例如,在更换损坏的根磁盘之后)。不应引导正在恢复的节点。执行恢复过程之前,请确保群集正在无故障运行。支持 UFS,但用作根文件系统时除外。UFS 可以用在共享磁盘上的 Solaris Volume Manager 元集中的元设备上。


注 -  由于新磁盘的分区格式必须与故障磁盘的分区格式相同,所以在开始此过程之前,请先确定分区方案,然后再相应地重新创建文件系统。

phys-schost# 提示符表示全局群集提示符。此操作过程适用于全局群集。

此过程提供了 Oracle Solaris Cluster 命令的长格式。此外,大多数命令还有短形式。这些命令除了名称长短的不同以外,其功能都是相同的。

  1. 在对附加了待恢复节点的磁盘集具有访问权限的群集节点上,承担可提供 solaris.cluster.modify RBAC 授权的角色。

    使用要恢复的节点以外的其他节点。

  2. 将要恢复的节点的主机名从所有元集中删除。

    从元集中除正要删除的节点以外的一个节点上运行此命令。由于要恢复的节点处于脱机状态,因此系统会显示 RPC: Rpcbind failure - RPC: Timed out 错误。忽略此错误并继续执行下一步。

    # metaset -s setname -f -d -h nodelist
    -s setname

    指定磁盘集名称。

    -f

    从磁盘集中删除最后一个主机。

    -d

    从磁盘集删除。

    -h nodelist

    指定要从磁盘集删除的节点的名称。

  3. 恢复 ZFS 根文件系统 (/)。

    有关更多信息,请参见在 Oracle Solaris 11.3 中管理 ZFS 文件系统 中的 替换 ZFS 根池中的磁盘

    要恢复 ZFS 根池或根池快照,请遵循在 Oracle Solaris 11.3 中管理 ZFS 文件系统 中的 替换 ZFS 根池中的磁盘中的过程。


    注 -  请确保创建 /global/.devices/node@nodeid 文件系统。

    如果 /.globaldevices 备份文件存在于备份目录中,则它会与 ZFS 根一起恢复。该文件不是由 globaldevices SMF 服务自动创建的。

  4. 在多用户模式下重新引导节点。
    # reboot
  5. 替换设备 ID。
    # cldevice repair root-disk
  6. 使用 metadb 命令可重新创建状态数据库副本。
    # metadb -c copies -af raw-disk-device
    -c copies

    指定要创建的复本数。

    -f raw-disk-device

    要在其上创建复本的原始磁盘设备。

    -a

    添加副本。

    有关更多信息,请参见 metadb(1M) 手册页。

  7. 从一个群集节点(非恢复的节点)上将恢复后的节点添加到所有磁盘集。
    phys-schost-2# metaset -s setname -a -h nodelist
    -a

    创建主机并将其添加到磁盘集中。

    已将节点重新引导到群集模式下。群集已经就绪。

示例 89  恢复 ZFS 根 (/) 文件系统 (Solaris Volume Manager)

下面的示例显示了将根 (/) 文件系统恢复到节点 phys-schost-1 的过程。从群集中的另一节点 phys-schost-2 运行 metaset 命令,以便从磁盘集 schost-1 中删除节点 phys-schost-1,然后再将其重新添加到该磁盘集中。所有其他命令都是从 phys-schost-1 运行的。系统在 /dev/rdsk/c0t0d0s0 上创建了一个新的引导块,在 /dev/rdsk/c0t0d0s4 上重新创建了三个状态数据库副本。有关恢复数据的更多信息,请参见在 Oracle Solaris 11.3 中管理 ZFS 文件系统 中的 解决 ZFS 存储池中的数据问题

从元集中删除节点
phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1

替换发生故障的磁盘并引导节点
使用 Oracle Solaris 文档中的过程恢复根 (/) 和 /usr 文件系统

重新引导该节点
# reboot

替换磁盘 ID
# cldevice repair /dev/dsk/c0t0d0

重新创建状态数据库副本
# metadb -c 3 -af /dev/rdsk/c0t0d0s4

将节点添加回元集
phys-schost-2# metaset -s schost-1 -a -h phys-schost-1