JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris Cluster 系统管理指南     Oracle Solaris Cluster 3.3 3/13 (简体中文)
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)

如何备份群集配置

恢复群集文件

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

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

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

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

A.  示例

索引

备份群集

表 12-1 任务列表:备份群集文件

任务
指导
查找要备份的文件系统的名称
计算需要多少个磁带才能容纳完整备份
备份根文件系统
为镜像的文件系统执行联机备份
备份群集配置
备份存储磁盘的磁盘分区配置
参见存储磁盘的相关文档

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

使用此过程可确定要备份的文件系统的名称。

  1. 显示 /etc/vfstab 文件的内容。

    不必成为超级用户或承担等效角色即可运行此命令。

    # more /etc/vfstab
  2. 在挂载点列中查找要备份的文件系统的名称。

    在备份文件系统时请使用此名称。

    # more /etc/vfstab 

示例 12-1 查找要备份的文件系统名称

下例显示了 /etc/vfstab 文件中列出的可用文件系统的名称。

# more /etc/vfstab
#device             device             mount  FS fsck  mount  mount
#to mount           to fsck            point  type     pass   at boot  options
#
#/dev/dsk/c1d0s2    /dev/rdsk/c1d0s2   /usr     ufs     1      yes      -
 f                  -                  /dev/fd  fd      -      no       -
 /proc              -                  /proc    proc    -      no       -
 /dev/dsk/c1t6d0s1  -                  -        swap    -      no       -
 /dev/dsk/c1t6d0s0  /dev/rdsk/c1t6d0s0 /        ufs     1      no       -
 /dev/dsk/c1t6d0s3  /dev/rdsk/c1t6d0s3 /cache   ufs     2      yes      -
 swap               -                  /tmp     tmpfs   -      yes      -

如何确定完整备份需要的磁带数量

使用此过程可计算备份文件系统所需要的磁带数量。

  1. 在要备份的群集节点上,成为超级用户或承担等效角色。
  2. 以字节为单位估计备份大小。
    # ufsdump S filesystem 
    S

    显示估计的执行备份所需的字节数。

    filesystem

    指定要备份的文件系统的名称。

  3. 将估计的大小除以磁带容量,得出需要多少个磁带。

示例 12-2 确定所需磁带数量

在下例中,一个 4 G 的磁带可以轻松容纳大小为 905,881,620 字节的文件系统 (905,881,620 ÷ 4,000,000,000)。

# ufsdump S /global/phys-schost-1
905881620

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

使用此过程可备份群集节点的根 (/) 文件系统。执行备份过程之前,请确保群集正在无故障运行。

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

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

  1. 在要备份的群集节点上,成为超级用户或承担可提供 solaris.cluster.modify RBAC 授权的角色。
  2. 将每个正在运行的数据服务从要备份的节点切换到群集中的其他节点。
    # clnode evacuate node
    node

    指定从中切换资源组和设备组的节点。

  3. 关闭该节点。
    # shutdown -g0 -y -i0
  4. 以非群集模式重新引导该节点。
    • 在基于 SPARC 的系统上,运行以下命令。

      ok boot -xs
    • 在基于 x86 的系统上,运行以下命令。

      phys-schost# shutdown -g -y -i0
      
      Press any key to continue
    1. 在 GRUB 菜单中,使用方向键选择适当的 Oracle Solaris 条目,然后键入 e 编辑其命令。

      GRUB 菜单的显示类似于以下内容:

      GNU GRUB version 0.95 (631K lower / 2095488K upper memory)
      +-------------------------------------------------------------------------+
      | Solaris 10 /sol_10_x86                                                  |
      | Solaris failsafe                                                        |
      |                                                                         |
      +-------------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press enter to boot the selected OS, 'e' to edit the
      commands before booting, or 'c' for a command-line.

      有关基于 GRUB 的引导的更多信息,请参见《Oracle Solaris 管理:基本管理》中的"使用 GRUB 引导基于 x86 的系统(任务列表)"

    2. 在引导参数屏幕中,使用方向键选择内核条目,然后键入 e 编辑该条目。

      GRUB 引导参数屏幕的显示类似于以下内容:

      GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
      +----------------------------------------------------------------------+
      | root (hd0,0,a)                                                       |
      | kernel /platform/i86pc/multiboot                                     |
      | module /platform/i86pc/boot_archive                                  |
      +----------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press 'b' to boot, 'e' to edit the selected command in the
      boot sequence, 'c' for a command-line, 'o' to open a new line
      after ('O' for before) the selected line, 'd' to remove the
      selected line, or escape to go back to the main menu.
    3. 在命令中添加 -x 以指定将系统引导至非群集模式。
      [ Minimal BASH-like line editing is supported. For the first word, TAB
      lists possible command completions. Anywhere else TAB lists the possible
      completions of a device/filename. ESC at any time exits. ]
      
      grub edit> kernel /platform/i86pc/multiboot -x
    4. 按 Enter 键接受所做更改,并返回到引导参数屏幕。

      屏幕将显示编辑后的命令。

      GNU GRUB version 0.95 (615K lower / 2095552K upper memory)
      +----------------------------------------------------------------------+
      | root (hd0,0,a)                                                       |
      | kernel /platform/i86pc/multiboot -x                                  |
      | module /platform/i86pc/boot_archive                                  |
      +----------------------------------------------------------------------+
      Use the ^ and v keys to select which entry is highlighted.
      Press 'b' to boot, 'e' to edit the selected command in the
      boot sequence, 'c' for a command-line, 'o' to open a new line
      after ('O' for before) the selected line, 'd' to remove the
      selected line, or escape to go back to the main menu.-
    5. 键入 b 将节点引导至非群集模式。

      注 - 对内核引导参数命令所做的这一更改在系统引导后将失效。下次重新引导节点时,系统将引导至群集模式。如果希望引导至非群集模式,请重新执行上述步骤,并将 -x 选项添加到内核引导参数命令中。


  5. 通过创建 UFS 快照备份根 (/) 文件系统
    1. 确保文件系统具有足够的磁盘空间来容纳后备存储文件。
      # df -k
    2. 确保不存在名称和位置相同的后备存储文件。
      # ls /backing-store-file
    3. 创建 UFS 快照。
      # fssnap -F ufs -o bs=/backing-store-file /file-system
    4. 检验是否已创建快照。
      # /usr/lib/fs/ufs/fssnap -i /file-system
  6. 备份文件系统快照。
    # ufsdump 0ucf /dev/rmt/0 snapshot-name

    例如:

    # ufsdump 0ucf /dev/rmt/0 /dev/rfssnap/1
  7. 检验快照是否已备份。
    # ufsrestore ta /dev/rmt/0
  8. 以群集模式重新引导该节点。
    # init 6

示例 12-3 备份根 (/) 文件系统

在下例中,根 (/) 文件系统的快照将保存至 /usr 目录的 /scratch/usr.back.file 中。

# fssnap -F ufs -o bs=/scratch/usr.back.file /usr
  /dev/fssnap/1

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

无需卸载镜像的 Solaris Volume Manager 卷或使整个镜像脱机即可备份该卷。您必须暂时使其中一个子镜像脱机(因而失去镜像),但备份完成后可立即使之联机并重新同步,这样就不必停止系统,也不用拒绝用户访问数据。通过使用镜像来执行联机备份,可创建活动文件系统的“快照”备份。

如果在某个程序将数据写入卷后又立即运行了 lockfs 命令,则可能会出现问题。要避免此故障,请暂时停止在此节点上运行的所有服务。另外,在执行此备份过程之前,请确保群集正在无故障运行。

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

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

  1. 在要备份的群集节点上,成为超级用户或承担等效角色。
  2. 使用 metaset(1M) 命令确定哪个节点对备份卷具有拥有权。
    # metaset -s setname
    -ssetname

    指定磁盘集名称。

  3. 组合使用 lockfs(1M) 命令和 -w 选项以禁止向文件系统执行写入操作。
    # lockfs -w mountpoint 

    注 - 仅当 UFS 文件系统驻留在镜像上时,才必须锁定文件系统。例如,如果 Solaris Volume Manager 卷设置为数据库管理软件或某些其他特定应用程序的原始设备,则不必使用 lockfs 命令。但是,您可以运行与供应商相关的适当实用程序来刷新缓存器和锁定存取。


  4. 使用 metastat(1M) 命令确定子镜像的名称。
    # metastat -s setname -p
    -p

    以类似于 md.tab 文件的格式显示状态。

  5. 使用 metadetach(1M) 命令从镜像中使一个子镜像脱机。
    # metadetach -s setname mirror submirror

    注 - 将继续从其他子镜像进行读取。但是,对镜像进行第一次写操作后,脱机子镜像将立即不再同步。脱机子镜像重新联机后,这种不一致现象就会得到纠正。您无需运行 fsck 命令。


  6. 通过结合使用 lockfs 命令和 -u 选项,解除对文件系统的锁定,允许写入操作继续执行。
    # lockfs -u mountpoint 
  7. 执行文件系统检查。
    # fsck /dev/md/diskset/rdsk/submirror
  8. 将脱机子镜像备份到磁带或另一介质上。

    使用 ufsdump(1M) 命令或经常使用的备份实用程序。

    # ufsdump 0ucf dump-device submirror

    注 - 对子镜像使用原始设备 (/rdsk) 名称,而不使用块设备 (/dsk) 名称。


  9. 使用 metattach(1M) 命令使元设备或卷重新联机。
    # metattach -s setname mirror submirror

    当元设备或卷处于联机状态后,将会自动与镜像重新同步。

  10. 使用 metastat 命令可检验该子镜像是否正在重新同步。
    # metastat -s setname mirror

示例 12-4 为镜像执行联机备份 (Solaris Volume Manager)

在下例中,群集节点 phys-schost-1 是元集 schost-1 的所有者,因此从 phys-schost-1 执行备份过程。镜像 /dev/md/schost-1/dsk/d0 由子镜像 d10d20d30 组成。

[Determine the owner of the metaset:]
# metaset -s schost-1
Set name = schost-1, Set number = 1
Host                Owner
  phys-schost-1     Yes 
...
[Lock the file system from writes:] 
# lockfs -w /global/schost-1
[List the submirrors:]
# metastat -s schost-1 -p
schost-1/d0 -m schost-1/d10 schost-1/d20 schost-1/d30 1
schost-1/d10 1 1 d4s0
schost-1/d20 1 1 d6s0
schost-1/d30 1 1 d8s0
[Take a submirror offline:]
# metadetach -s schost-1 d0 d30
[Unlock the file system:]
# lockfs -u /
[Check the file system:]
# fsck /dev/md/schost-1/rdsk/d30
[Copy the submirror to the backup device:]
# ufsdump 0ucf /dev/rmt/0 /dev/md/schost-1/rdsk/d30
  DUMP: Writing 63 Kilobyte records
  DUMP: Date of this level 0 dump: Tue Apr 25 16:15:51 2000
  DUMP: Date of last level 0 dump: the epoch
  DUMP: Dumping /dev/md/schost-1/rdsk/d30 to /dev/rdsk/c1t9d0s0.
  ...
  DUMP: DUMP IS DONE
[Bring the submirror back online:]
# metattach -s schost-1 d0 d30
schost-1/d0: submirror schost-1/d30 is attached
[Resynchronize the submirror:]
# metastat -s schost-1 d0
schost-1/d0: Mirror
    Submirror 0: schost-0/d10
      State: Okay         
    Submirror 1: schost-0/d20
      State: Okay
    Submirror 2: schost-0/d30
      State: Resyncing
    Resync in progress: 42% done
    Pass: 1
    Read option: roundrobin (default)
...

如何备份群集配置

为确保群集配置已归档并可轻松恢复,请定期对群集配置加以备份。Oracle Solaris Cluster 可将群集配置导出到一个可扩展标记语言(eXtensible Markup Language, XML) 文件。

  1. 登录到群集的任意节点,成为超级用户或承担可提供 solaris.cluster.read RBAC 授权的角色。
  2. 将群集配置信息导出到一个文件中。
    # /usr/cluster/bin/cluster export -o configfile
    configfile

    群集命令正在将群集配置信息导出到的 XML 配置文件的名称。有关 XML 配置文件的信息,请参见 clconfiguration(5CL)

  3. 检验群集配置信息是否已成功导出至 XML 文件。
    # vi configfile