JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Cluster 系统管理指南     Oracle Solaris Cluster (简体中文)
search filter icon
search icon

文档信息

前言

1.  Oracle Solaris Cluster 管理简介

2.  Oracle Solaris Cluster 和 RBAC

3.  关闭和引导群集

4.  数据复制方法

5.  管理全局设备、磁盘路径监视和群集文件系统

6.  管理法定

7.  管理群集互连和公共网络

8.  添加和删除节点

9.  管理群集

10.  对 CPU 使用控制的配置

11.  修补 Oracle Solaris Cluster 软件和固件

12.  备份和恢复群集

备份群集

如何查找要备份的文件系统名称

如何确定进行完整备份所需的磁带数目

如何备份根 (/) 文件系统

如何为镜像执行联机备份 (Solaris Volume Manager)

如何为卷执行联机备份 (Veritas Volume Manager)

如何备份群集配置

恢复群集文件

如何以交互方式恢复单个文件 (Solaris Volume Manager)

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

如何恢复 Solaris Volume Manager 卷上的根 (/) 文件系统

如何恢复未封装的根 (/) 文件系统 (Veritas Volume Manager)

如何恢复已封装的根 (/) 文件系统 (Veritas Volume Manager)

13.  使用图形用户界面管理 Oracle Solaris Cluster

A.  示例

索引

恢复群集文件

ufsrestore(1M) 命令将文件从使用 ufsdump(1M) 命令创建的备份复制到磁盘上相对于当前工作目录的位置。您可以使用 ufsrestore 从 0 级转储和随后的增量转储重新装入整个文件系统分层结构,或从任何转储磁带恢复一个或多个单个的文件。如果以超级用户身份或使用一个等效角色运行 ufsrestore,则恢复文件的同时还会恢复其原属主、上次修改时间及模式(许可)。

在开始恢复文件或文件系统前,您需要了解以下信息。

表 12-2 任务表:恢复群集文件

任务
指导
对于 Solaris Volume Manager,以交互方式恢复文件
对于 Solaris Volume Manager,恢复根 (/) 文件系统
 
对于 Veritas Volume Manager,恢复根 (/) 文件系统
对于 Veritas Volume Manager,恢复已封装的根 (/) 文件系统

如何以交互方式恢复单个文件 (Solaris Volume Manager)

使用此过程可恢复一个或多个单个的文件。执行恢复过程之前,请确保群集正在无故障运行。

  1. 在要恢复的群集节点上,成为超级用户或成为可提供 solaris.cluster.admin RBAC 授权的角色。
  2. 停止正在使用待恢复文件的数据服务。
    # clresourcegroup offline resource-group
  3. 恢复文件。
    # ufsrestore

如何恢复根 (/) 文件系统 (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
    -ssetname

    指定磁盘集名称。

    -f

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

    -d

    从磁盘集删除。

    -h nodelist

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

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

    要恢复根和 /usr 文件系统,请执行《系统管理指南:设备和文件系统》中的第 27  章 "恢复文件和文件系统(任务)"中所介绍的过程。忽略 Oracle Solaris OS 过程中的步骤,重新引导该系统。


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


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

    指定要创建的复本数。

    -fraw-disk-device

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

    -a

    添加复本。

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

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

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

示例 12-6 恢复根 (/) 文件系统 (Solaris Volume Manager)

下面的示例展示了将根 (/) 文件系统从磁带设备 /dev/rmt/0 恢复到节点 phys-schost-1 的过程。从群集中的另一节点 phys-schost-2 运行 metaset 命令,以便从磁盘集 schost-1 中删除节点 phys-schost-1,然后再将其重新添加到该磁盘集中。所有其他命令都是从 phys-schost-1 运行的。系统在 /dev/rdsk/c0t0d0s0 上创建了一个新的引导块,在 /dev/rdsk/c0t0d0s4 上重新创建了三个状态数据库副本。

[Become superuser or assume a  role that provides solaris.cluster.modify RBAC authorization on a cluster node
    other than the node to be restored.]
[Remove the node from the metaset:]
phys-schost-2# metaset -s schost-1 -f -d -h phys-schost-1
[Replace the failed disk and boot the node:]
Restore the root (/) and /usr file system using the procedure in the Solaris system
    administration documentation
[Reboot:]
# reboot
[Replace the disk ID:]
# cldevice repair /dev/dsk/c0t0d0
[Re-create state database replicas:]
# metadb -c 3 -af /dev/rdsk/c0t0d0s4
[Add the node back to the metaset:]
phys-schost-2# metaset -s schost-1 -a -h phys-schost-1

如何恢复 Solaris Volume Manager 卷上的根 (/) 文件系统

使用此过程可在执行备份后恢复 Solaris Volume Manager 卷上的根 (/) 文件系统。比如在根磁盘损坏后更换新磁盘时,就可以执行此过程。不应引导正在恢复的节点。执行恢复过程之前,请确保群集正在无故障运行。


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


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

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

  1. 在对磁盘集具有访问权限的节点(要恢复的节点除外)上,成为超级用户或成为可提供 solaris.cluster.modifiy RBAC 授权的角色。

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

  2. 将要恢复的节点的主机名从连接的所有磁盘集中删除。对每个磁盘集执行一次以下命令。
    # metaset -s setname -d -h hostname
    -ssetname

    指定元集名称。

    -f

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

    -d

    从元集中删除。

    -h nodelist

    指定要从元集中删除的节点的名称。

    -h hostname

    指定主机的名称。

    -m mediator_host_list

    指定要在磁盘集中添加或删除的调节器主机的名称。

  3. 如果节点是双串调解器主机,请删除调节器。对连接到节点的每个磁盘集执行一次以下命令。
    # metaset -ssetname-d -m hostname
  4. 替换要恢复其根 (/) 文件系统的那个节点上的故障磁盘。

    请参阅服务器所附带的文档,以了解磁盘替换过程。

  5. 引导正在恢复的节点。修复后的节点从 CD-ROM 引导后进入单用户模式,因此 Solaris Volume Manager 不会在该节点上运行。
    • 如果使用 Oracle Solaris OS CD,请注意以下内容:

      • SPARC:键入以下内容:

        ok boot cdrom -s
      • x86:将 CD 放入系统的 CD 驱动器,并通过关机随后将系统关闭再打开来引导系统。在 "Current Boot Parameters" 屏幕上,键入 bi

                             <<< Current Boot Parameters >>>
        Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@
        7,1/sd@0,0:a
        Boot args:
        
        Type b [file-name] [boot-flags] <ENTER> to boot with options
        or   i <ENTER>                          to enter boot interpreter
        or   <ENTER>                            to boot with defaults
        
                         <<< timeout in 5 seconds >>>
        Select (b)oot or (i)nterpreter: b -s
    • 如果使用的是 Solaris JumpStart 服务器,请注意以下事项:

      • SPARC:键入以下内容:

        ok boot net -s
      • x86:将 CD 放入系统的 CD 驱动器,并通过关机随后将系统关闭再打开来引导系统。在 "Current Boot Parameters" 屏幕上,键入 bi

                             <<< Current Boot Parameters >>>
        Boot path: /pci@0,0/pci8086,2545@3/pci8086,1460@1d/pci8086,341a@
        7,1/sd@0,0:a
        Boot args:
        
        Type b [file-name] [boot-flags] <ENTER> to boot with options
        or   i <ENTER>                          to enter boot interpreter
        or   <ENTER>                            to boot with defaults
        
                         <<< timeout in 5 seconds >>>
        Select (b)oot or (i)nterpreter: b -s
  6. 使用 format 命令在根磁盘上创建所有分区和交换空间。

    重建故障磁盘上的原分区方案。

  7. 使用 newfs 命令创建根 (/) 文件系统和其他文件系统(根据需要)。

    重建故障磁盘上的原文件系统。


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


  8. 在临时挂载点上挂载根 (/) 文件系统。
    # mount device temp-mountpoint
  9. 使用以下命令来恢复根 (/) 文件系统。
    # cd temp-mountpoint
    # ufsrestore rvf dump-device
    # rm restoresymtable
  10. 在新磁盘上安装新的根块。
    # /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk 
    raw-disk-device
  11. 删除 /temp-mountpoint/etc/system 文件中有关 MDD 根信息的那些行。
    * Begin MDD root info (do not edit)
    forceload: misc/md_trans
    forceload: misc/md_raid
    forceload: misc/md_mirror
    forceload: misc/md_hotspares
    forceload: misc/md_stripe
    forceload: drv/pcipsy
    forceload: drv/glm
    forceload: drv/sd
    rootdev:/pseudo/md@0:0,10,blk
    * End MDD root info (do not edit)
  12. 编辑 /temp-mountpoint/etc/vfstab 文件,将 Solaris Volume Manager 卷的根条目更改为作为元设备或卷的一部分的根磁盘上各文件系统的相应正常片。
    Example: 
    Change from—
    /dev/md/dsk/d10   /dev/md/rdsk/d10    /      ufs   1     no       -
    
    Change to—
    /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0  /      ufs   1     no       -
  13. 卸载临时文件系统并检查原始磁盘设备。
    # cd /
    # umount temp-mountpoint
    # fsck raw-disk-device
  14. 在多用户模式下重新引导节点。
    # reboot
  15. 替换设备 ID。
    # cldevice repair rootdisk
  16. 使用 metadb 命令可重新创建状态数据库副本。
    # metadb -c copies -af raw-disk-device
    -ccopies

    指定要创建的复本数。

    -af raw-disk-device

    在指定的原始磁盘设备上创建初始状态数据库复本。

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

    添加(创建)元集。

    根据文档,为根 (/) 设置卷/镜像。

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

  18. 如果节点是双串调解器主机,请重新添加调节器。
    phys-schost-2# metaset -s setname -a -m hostname 

示例 12-7 恢复 Solaris Volume Manager 卷上的根 (/) 文件系统

下面的示例展示了将根 (/) 文件系统从磁带设备 /dev/rmt/0 恢复到节点 phys-schost-1 的过程。从群集中的另一节点 phys-schost-2 运行 metaset 命令,以删除节点 phys-schost-1,稍后再将它重新添加到元集 schost-1 中。所有其他命令都是从 phys-schost-1 运行的。系统在 /dev/rdsk/c0t0d0s0 上创建了一个新的引导块,在 /dev/rdsk/c0t0d0s4 上重新创建了三个状态数据库副本。

[Become superuser or assume a role that provides solaris.cluster.modify RBAC
   authorization on a cluster node with access to the metaset, other than the node to be restored.]
[Remove the node from the metaset:]
phys-schost-2# metaset -s schost-1 -d -h phys-schost-1
[Replace the failed disk and boot the node:]

从 Oracle Solaris OS CD 引导节点:

[Use format and newfs to recreate partitions and file systems
.]
[Mount the root file system on a temporary mount point:]
# mount /dev/dsk/c0t0d0s0 /a
[Restore the root file system:]
# cd /a
# ufsrestore rvf /dev/rmt/0
# rm restoresymtable
[Install a new boot block:]
# /usr/sbin/installboot /usr/platform/`uname \
-i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0

[Remove the lines in / temp-mountpoint/etc/system file for MDD root information:
]
* Begin MDD root info (do not edit)
forceload: misc/md_trans
forceload: misc/md_raid
forceload: misc/md_mirror
forceload: misc/md_hotspares
forceload: misc/md_stripe
forceload: drv/pcipsy
forceload: drv/glm
forceload: drv/sd
rootdev:/pseudo/md@0:0,10,blk
* End MDD root info (do not edit)
[Edit the /temp-mountpoint/etc/vfstab file]
Example: 
Change from—
/dev/md/dsk/d10   /dev/md/rdsk/d10    /      ufs   1     no       -

Change to—
/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0  /usr   ufs   1     no       -
[Unmount the temporary file system and check the raw disk device:]
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s0
[Reboot:]
# reboot
[Replace the disk ID:]
# cldevice repair /dev/rdsk/c0t0d0
[Re-create state database replicas:]
# metadb -c 3 -af /dev/rdsk/c0t0d0s4
[Add the node back to the metaset:]
phys-schost-2# metaset -s schost-1 -a -h phys-schost-1

如何恢复未封装的根 (/) 文件系统 (Veritas Volume Manager)

使用此过程可将未封装的根 (/) 文件系统恢复到某个节点。不应引导正在恢复的节点。执行恢复过程之前,请确保群集正在无故障运行。


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


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

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

  1. 替换要恢复的根文件系统所在的节点的故障磁盘。

    请参阅服务器所附带的文档,以了解磁盘替换过程。

  2. 引导正在恢复的节点。
    • 如果使用的是 Oracle Solaris OS CD,请在 OpenBoot PROM ok 提示符下键入以下命令:

      ok boot cdrom -s
    • 如果使用的是 Solaris JumpStart 服务器,请在 OpenBoot PROM ok 提示符下键入以下命令:

      ok boot net -s
  3. 使用 format 命令在根磁盘上创建所有分区和交换空间。

    重建故障磁盘上的原分区方案。

  4. 使用 newfs 命令,创建根 (/) 文件系统和相应的其他文件系统。

    重建故障磁盘上的原文件系统。


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


  5. 在临时挂载点上挂载根 (/) 文件系统。
    # mount device temp-mountpoint
  6. 从备份中恢复根 (/) 文件系统,然后卸载并检查该文件系统。
    # cd temp-mountpoint
    # ufsrestore rvf dump-device
    # rm restoresymtable
    # cd /
    # umount temp-mountpoint
    # fsck raw-disk-device

    此时文件系统已恢复。

  7. 在新磁盘上安装新的根块。
    # /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device
  8. 在多用户模式下重新引导节点。
    # reboot
  9. 更新设备 ID。
    # cldevice repair /dev/rdsk/disk-device
  10. 按 Control-d 以恢复多用户模式。

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

示例 12-8 恢复未封装的根 (/) 文件系统 (Veritas Volume Manager)

以下示例说明了将未封装的根 (/) 文件系统从磁带设备 /dev/rmt/0 恢复到节点 phys-schost-1 的过程。

[Replace the failed disk and boot the node:]

从 Oracle Solaris OS CD 引导节点。在 OpenBoot PROM ok 提示符下键入以下命令:

ok boot cdrom -s
...
[Use format and newfs to create partitions and file systems]
[Mount the root file system on a temporary mount point:]
# mount /dev/dsk/c0t0d0s0 /a
[Restore the root file system:]
# cd /a
# ufsrestore rvf /dev/rmt/0
# rm restoresymtable
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s0
[Install a new boot block:]
# /usr/sbin/installboot /usr/platform/`uname \
-i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0

[Reboot:]
# reboot
[Update the disk ID:]
# cldevice repair /dev/rdsk/c0t0d0

如何恢复已封装的根 (/) 文件系统 (Veritas Volume Manager)

使用此过程可将封装的根 (/) 文件系统恢复到某个节点。不应引导正在恢复的节点。执行恢复过程之前,请确保群集正在无故障运行。


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


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

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

  1. 替换要恢复的根文件系统所在的节点的故障磁盘。

    请参阅服务器所附带的文档,以了解磁盘替换过程。

  2. 引导正在恢复的节点。
    • 如果使用的是 Oracle Solaris OS CD,请在 OpenBoot PROM ok 提示符下键入以下命令:

      ok boot cdrom -s
    • 如果使用的是 Solaris JumpStart 服务器,请在 OpenBoot PROM ok 提示符下键入以下命令:

      ok boot net -s
  3. 使用 format 命令在根磁盘上创建所有分区和交换空间。

    重建故障磁盘上的原分区方案。

  4. 使用 newfs 命令创建根 (/) 文件系统和相应的其他文件系统。

    重建故障磁盘上的原文件系统。


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


  5. 在临时挂载点上挂载根 (/) 文件系统。
    # mount device temp-mountpoint
  6. 从备份中恢复根 (/) 文件系统。
    # cd temp-mountpoint
    # ufsrestore rvf dump-device
    # rm restoresymtable
  7. 创建一个空的 install-db 文件。

    此文件会在下次重新引导节点时将其置于 VxVM 安装模式。

    # touch \
    /temp-mountpoint/etc/vx/reconfig.d/state.d/install-db
  8. / temp-mountpoint /etc/system 文件中删除以下条目。
    * rootdev:/pseudo/vxio@0:0
    * set vxio:vol_rootdev_is_volume=1
  9. 编辑 / temp-mountpoint /etc/vfstab 文件,用根磁盘的标准磁盘设备(例如 /dev/dsk/c0t0d0s0)替换所有的 VxVM 挂载点。
    Example: 
    Change from—
    /dev/vx/dsk/rootdg/rootvol /dev/vx/rdsk/rootdg/rootvol /      ufs   1     no -
    
    Change to—
    /dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0  / ufs   1     no       -
  10. 卸载临时文件系统并检查该文件系统。
    # cd /
    # umount temp-mountpoint
    # fsck raw-disk-device
  11. 在新磁盘上安装引导块。
    # /usr/sbin/installboot /usr/platform/`uname -i`/lib/fs/ufs/bootblk raw-disk-device
  12. 在多用户模式下重新引导节点。
    # reboot
  13. 使用 scdidadm(1M) 更新设备 ID。
    # cldevice repair /dev/rdsk/c0t0d0
  14. 运行 clvxvm 封装命令以封装磁盘并重新引导。
  15. 如果与其他系统间存在从设备号冲突,请卸载全局设备并为磁盘组重编从设备号。
    • 卸载群集节点上的全局设备文件系统。

      # umount /global/.devices/node@nodeid
    • 为群集节点上的 rootdg 磁盘组重编从设备号。

      # vxdg reminor rootdg 100
  16. 关闭并以群集模式重新引导节点。
    # shutdown -g0 -i6 -y

示例 12-9 恢复已封装的根 (/) 文件系统 (Veritas Volume Manager)

下面的示例说明了将封装的根 (/) 文件系统从磁带设备 /dev/rmt/0 恢复到节点 phys-schost-1 的过程。

[Replace the failed disk and boot the node:]

从 Oracle Solaris OS CD 引导节点。在 OpenBoot PROM ok 提示符下键入以下命令:

ok boot cdrom -s
...
[Use format and newfs to create partitions and file systems]
[Mount the root file system on a temporary mount point:]
# mount /dev/dsk/c0t0d0s0 /a
[Restore the root file system:]
# cd /a
# ufsrestore rvf /dev/rmt/0
# rm restoresymtable
[Create an empty install-db file:]
# touch /a/etc/vx/reconfig.d/state.d/install-db
[Edit /etc/system on the temporary file system and 
remove or comment out the following entries:]
    # rootdev:/pseudo/vxio@0:0
    # set vxio:vol_rootdev_is_volume=1
[Edit /etc/vfstab on the temporary file system:]
Example: 
Change from—
/dev/vx/dsk/rootdg/rootvol /dev/vx/rdsk/rootdg/rootvol / ufs 1 no-

Change to—
/dev/dsk/c0t0d0s0 /dev/rdsk/c0t0d0s0  / ufs   1     no       -
[Unmount the temporary file system, then check the file system:]
# cd /
# umount /a
# fsck /dev/rdsk/c0t0d0s0
[Install a new boot block:]
# /usr/sbin/installboot /usr/platform/`uname \
-i`/lib/fs/ufs/bootblk /dev/rdsk/c0t0d0s0
[Reboot:]
# reboot
[Update the disk ID:]
# cldevice repair /dev/rdsk/c0t0d0
[Encapsulate the disk::]
# vxinstall
Choose to encapsulate the root disk.
[If a conflict  in minor number occurs, reminor the rootdg disk group:]
# umount /global/.devices/node@nodeid
# vxdg reminor rootdg 100
# shutdown -g0 -i6 -y

另请参见

有关如何镜像已封装的根磁盘的说明,请参见《Oracle Solaris Cluster 软件安装指南》