7 备份配置和文件系统

安装和配置 Oracle Hierarchical Storage Manager and StorageTek QFS Software 时,创建用于存储恢复点文件和归档程序日志副本的安全位置。还配置了创建恢复点、备份日志以及保护系统配置的自动化过程。这些步骤为您的文件系统提供核心保护。但您还可能需要不时地采取非预定保护措施:

  • 在预计可能发生的中断性事件(例如对物理基础结构或数据中心设施的较大更改)发生之前备份 Oracle HSM 配置和文件系统。

  • 升级或重新配置软件、操作系统或主机平台之后备份 Oracle HSM 配置和文件系统,以保护当前配置。

  • 在进行 Oracle HSM 支持服务之前,收集所需的配置和状态信息。

本章概括介绍根据需要收集、创建及存储配置和文件系统恢复文件的过程。其中包含三个主要部分:

请注意,本章中所有任务都是通过命令行界面执行。如果您希望使用 Oracle HSM Manager 图形用户界面,请参阅联机帮助了解详细过程。

备份文件系统

本节首先简要介绍 Oracle HSM 文件系统保护(了解恢复点和归档日志)。然后介绍执行以下任务的过程:

了解恢复点和归档日志

为了保护文件系统,需要做两件事:

  • 必须保护存储数据的文件。

  • 必须保护文件系统本身,以便能够使用、组织、查找、访问及管理数据。

在 Oracle HSM 归档文件系统中,由归档程序自动保护文件数据:修改的文件会自动复制到归档存储介质(例如磁带)上。但如果您只备份了文件,之后磁盘设备或 RAID 组遇到不可恢复的故障,您虽有数据但很难使用它。您必须创建替代文件系统、标识每个文件、确定其在新文件系统中的适当位置、获取新文件系统,并重新创建其与用户、应用程序及其他文件之间丢失的关系。这种恢复即使是在最好的情况下也是一个艰巨且冗长的过程。

因此,为了快速、高效恢复,必须主动保护能够使文件和归档副本可用的文件系统元数据。必须备份归档在可移除介质上的副本的目录路径、inode、访问控制、符号链接及指针。

可通过安排恢复点和保存归档日志保护 Oracle HSM 文件系统元数据。恢复点是一个压缩文件,存储 Oracle HSM 文件系统的元数据时间点备份副本。发生数据丢失时(从用户文件的意外删除到整个文件系统的灾难性丢失),都可以通过找到文件或文件系统保持完好的最后恢复点,将文件或文件系统几乎立刻恢复到最后已知正常状态,然后,可恢复在该时间点记录的元数据,并将元数据中指示的文件从归档介质回写到磁盘高速缓存中,或者(更适合)让文件系统按需回写文件,以供用户和应用程序访问这些文件。

与任何时间点备份副本一样,恢复点很少是出现故障时文件系统状态的完整记录。在完成一个恢复点之后和创建下一个恢复点之前,至少会创建和更改一些文件,这是不可避免的。您可以且应该通过恰当安排来最大限度消除这种问题,即频繁创建恢复点并在文件系统不使用时创建恢复点。但实际上这种安排只能是一种折中策略,因为文件系统总会处于使用状态。

因此,还必须保存归档程序日志文件的时间点副本。归档每个数据文件时,日志文件将记录归档介质的卷序列号、归档集和副本份数、归档 (tar) 文件在介质上的位置以及 tar 文件内数据文件的路径和名称。有了这些信息,可以使用 Solaris 或 Oracle HSM tar 实用程序恢复在恢复点中缺失的文件。但这些信息具有易失性。与多数系统日志一样,归档程序日志会快速增长,因此必定会经常被覆盖。如果不定期生成副本来补充恢复点信息,在需要时就没有日志信息可用。

本节的其余部分提供有关按需创建恢复点和日志副本的说明。包含以下小节:

根据需要创建恢复点

有时可能需要在常规计划之外的时间点从归档文件系统获取元数据。例如,每当您参与可能中断系统或设施的维护时,您可以在恢复点之前或之后创建以确保文件系统受到保护。

要根据需要启动非预定的按需恢复点创建,请执行如下操作:

  1. root 用户身份登录到 Oracle HSM 服务器主机。

    root@solaris:~# 
    
  2. 选择将存储恢复点的独立位置。

    在示例中,在初始配置文件系统时为恢复点创建的目录下创建一个子目录 unscheduled//zfs1 文件系统位于远程位置,且与 Oracle HSM 文件系统没有共用组件。

    root@solaris:~# mkdir /zfs1/samqfs_recovery/unscheduled
    root@solaris:~# 
    
  3. 转到文件系统的根目录。

    在示例中,转到挂载点目录 /samqfs

    root@solaris:~# cd /samqfs
    root@solaris:~# 
    
  4. 如果要备份其数据复制到可移除介质的归档文件系统,仅备份元数据。使用命令 samfsdump -f recovery-point,其中 recovery-point 是完成的恢复点文件的路径和文件名。

    有关其他详细信息,请参见 samfsdump 手册页。在示例中,在预定的维护相关断电之前创建 samqfs 文件系统的非预定恢复点。我们在目录 /zfs1/samqfs_recovery/unscheduled/ 中创建恢复点文件 20150315pre-outage(请注意,下面的第二条命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    root@solaris:~# cd /samqfs
    root@solaris:~# samfsdump -f \
    /zfs1/samqfs_recovery/unscheduled/20150315pre-outage
    root@solaris:~# 
    
  5. 如果要备份数据未复制到可移除介质的独立文件系统,需要备份元数据和数据。使用命令 samfsdump -U -f recovery-point,其中 recovery-point 是完成的恢复点文件的路径和文件名。

    请注意,包含数据和元数据的恢复点文件会非常大。有关其他详细信息,请参见 samfsdump 手册页。在示例中,创建 samqfs 文件系统的非预定恢复点。我们在远程目录 /zfs1/samqfs_recovery/unscheduled/ 中创建恢复点文件 20150315pre-outage(请注意,下面的第二条命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    root@solaris:~# cd /samqfs
    root@solaris:~# samfsdump -f -U \
    /zfs1/samqfs_recovery/unscheduled/20150315pre-outage
    root@solaris:~# 
    
  6. 如果要备份归档文件系统,则备份归档程序日志

  7. 否则,根据具体情况,可能还需要运行 samexplorer手动备份 Oracle HSM 配置

备份归档程序日志

虽然恢复点文件几乎包含恢复文件系统时所需的所有信息,但并不包含创建恢复点之后创建或修改的文件的元数据。由于归档程序日志列出了已归档的所有文件及其在磁带上的位置,可以使用归档程序日志来恢复创建恢复点之后归档的任何文件。因此,如果可能,每次创建非预定的恢复点后,请为归档程序日志文件创建非预定的副本。请执行如下操作。

  1. root 用户身份登录到 Oracle HSM 服务器主机。

    root@solaris:~# 
    
  2. 选择将要存储备份归档程序日志的独立位置。

    在示例中,决定将日志存储在上面创建的对应非预定恢复点的同一目录中。/zfs1 文件系统位于远程位置,且与 Oracle HSM 文件系统没有共用组件。

    root@solaris:~# ls /zfs1/samqfs_recovery/unscheduled
    20150315pre-outage
    root@solaris:~# 
    
  3. 将当前归档程序日志复制到所选位置,并为其指定唯一的名称。使用命令 cp /var/adm/samqfs.archive.log path/"date +%y%m%d";,其中 path 是所选位置的路径。

    请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义:

    root@solaris:~# cp /var/adm/samqfs.archive.log \
    /zfs1/samqfs_recovery/unscheduled/20150315pre-outage/"date +%y%m%d".archive.log
    root@solaris:~# 
    
  4. 根据具体情况,可能还需要运行 samexplorer手动备份 Oracle HSM 配置

备份 Oracle HSM 配置

只要更改了 Oracle HSM 配置,就应备份所有修改的配置文件和相关信息以保护您的投资。执行以下任务:

手动备份 Oracle HSM 配置

为了实现完全冗余,只要对软件、操作系统或主机做了重大更改,就应创建配置文件的本地副本。执行如下操作:

  1. root 用户身份登录到文件系统主机。

    root@solaris:~# 
    
  2. 在保存备份配置信息的子目录中,为 Oracle HSM 配置的手动备份副本创建子目录。使用命令 mkdir mount-point/path,其中 mount-point 是所选独立文件系统的挂载点目录,path 是所选目录的路径和名称。

    在示例中,要为归档文件系统 /samqfs 配置恢复点。因此创建了目录 /zfs1/sam_config/samconfig

    root@solaris:~# mkdir /zfs1/sam_config/samconfig
    
  3. 在保存 Oracle HSM 配置的手动备份副本的子目录中,为当前 Oracle HSM 配置创建子目录,使用命令 mkdir mount-point/path/subdirectory,其中 mount-point 是所选独立文件系统的挂载点,path/subdirectory 是所选子目录的路径和名称。

    在示例中,在最初配置时为此目的创建的目录 /zfs1/sam_config/samconfig 中创建子目录。将日期用于命名子目录:

    root@solaris:~# mkdir /zfs1/sam_config/samconfig/20150315
    
  4. 将配置文件复制到其他文件系统。

    /etc/opt/SUNWsamfs/
         mcf
         archiver.cmd
         defaults.conf 
         diskvols.conf 
         hosts.family-set-name
         hosts.family-set-name.local
         preview.cmd
         recycler.cmd
         releaser.cmd
         rft.cmd
         samfs.cmd
         stager.cmd
         inquiry.conf
         samremote                  # SAM-Remote server configuration file
         family-set-name            # SAM-Remote client configuration file
         network-attached-library   # Parameters file
         scripts/*                  # Back up all locally modified files
    /var/opt/SUNWsamfs/
    
  5. 备份所有磁带库目录数据,包括历史记录所维护的数据。对于每个目录,使用命令 /opt/SUNWsamfs/sbin/dump_cat -V catalog-file,其中 catalog-file 是目录文件的路径和名称。将输出重定向到新位置中的 dump-file

    在本示例中,我们将 library1 的目录数据转储到已挂载 NFS 的独立文件系统 zfs1 上的目录中的文件 library1cat.dump(请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    root@solaris:~# dump_cat -V /var/opt/SUNWsamfs/catalog/library1cat > \ /zfs1/sam_config/20150315/catalogs/library1cat.dump
    
  6. 请复制 Oracle HSM 安装和配置过程中所修改的系统配置文件。其中可能包括:

    /etc/
         syslog.conf
         system
         vfstab
    /kernel/drv/
         sgen.conf
         samst.conf
         samrd.conf
         sd.conf
         ssd.conf
         st.conf
    /usr/kernel/drv/dst.conf
    
  7. 将作为 Oracle HSM 配置的一部分而创建的任何定制 shell 脚本和 crontab 条目复制到选定的子目录中。

    例如,如果创建了 crontab 条目来管理恢复点创建,现在就保存其副本。

  8. 将作为 Oracle HSM 配置的一部分而创建的任何定制 shell 脚本和 crontab 条目复制到选定的子目录中。

    例如,如果创建了 crontab 条目来管理恢复点创建,现在就保存其副本。

  9. 记录当前安装的软件(包括 Oracle HSM、Solaris 和 Solaris Cluster(如果适用))的修订级别,并将信息副本保存在所选子目录的 readme 文件中。

  10. 在所选子目录中,保存下载的 Oracle HSM Oracle HSM、Solaris 和 Solaris Cluster 软件包的副本,以便在需要时可以快速恢复软件。

  11. 接着,运行 samexplorer

使用 samexplorer 收集配置和诊断信息

samexplorer 是一个诊断工具,用于捕获和报告 Oracle HSM 软件和文件系统配置和状态的全面信息。只要更改了 Oracle HSM 配置,就应该运行 samexplorer 并存储与配置文件的备份副本相关的结果报告。此外,在排除问题时以及 Oracle HSM 支持服务人员要求这么做时,也应该运行 samexplorer。执行如下操作:

运行 samexplorer

  1. root 用户身份登录到文件系统主机。

  2. 在保存备份配置信息的目录中,为 samexplorer 报告创建子目录。使用命令 mkdir mount-point/path,其中 mount-point 是所选独立文件系统的挂载点目录,path 是所选目录的路径和名称。

    在示例中,在最初配置时为此目的创建的目录 /zfs1/sam_config/ 中创建新子目录。将新子目录命名为 explorer/

    root@solaris:~# mkdir /zfs1/sam_config/explorer
    
  3. 在所选目录中创建 samexplorer 报告。使用命令 samexplorer path/hostname.YYYYMMDD.hhmmz.tar.gz,其中 path 是所选目录的路径,hostname 是 Oracle HSM 文件系统主机的名称,YYYYMMDD.hhmmz 是日期和时间戳。

    默认文件名是 /tmp/SAMreport.hostname.YYYYMMDD.hhmmz.tar.gz。在本示例中,我们针对主机 samhost1 创建一个报告,日期为 2015 年 3 月 15 日,时间为山地时间下午 4:59(请注意,下面的命令是作为单行输入的-使用反斜杠字符对换行符进行转义):

    root@solaris:~# samexplorer \
    /zfs1/sam_config/explorer/samhost1.20150315.1659MST.tar.gz
     
         Report name:     /zfs1/sam_config/explorer/samhost1.20150315.1659MST.tar.gz
         Lines per file:  1000
         Output format:   tar.gz (default) Use -u for unarchived/uncompressed.
     
         Please wait.............................................
         Please wait.............................................
         Please wait......................................
     
         The following files should now be ftp'ed to your support provider
         as ftp type binary.
     
         /zfs1/sam_config/explorer/samhost1.20150315.1659MST.tar.gz
    
  4. 只要对文件系统配置做了重大更改,就应重复该过程。

  5. 在此处停止。Oracle HSM 配置现已备份。