Solaris Volume Manager 管理指南

在 RAID-1 卷上备份数据

Solaris Volume Manager 并不是“备份产品”。Solaris Volume Manager 确实提供了一种备份镜像数据的方法,而不会导致出现以下任一情况:

Solaris Volume Manager 通过首先使其中一个子镜像脱机来备份镜像数据。在备份过程中,镜像将暂时不可用。一旦备份完成,子镜像将立即恢复联机和重新同步。


注 –

UFS 快照功能提供了一种不使文件系统脱机即可备份系统的备选方法。可以在不拆离子镜像的情况下执行备份,这样也避免了以后由于重新同步镜像而导致性能损失。使用 UFS 快照功能执行备份之前,请确保 UFS 文件系统中有足够的可用空间。有关更多信息,请参见《系统管理指南:设备和文件系统》中的第 26  章 “使用 UFS 快照(任务)”


Procedure如何对 RAID-1 卷执行联机备份

可以针对除根 (/) 文件系统以外的任何文件系统使用此过程。请注意,这种类型的备份会创建活动文件系统的“快照”。根据文件系统处于写入锁定状态时的使用方式,所备份的某些文件可能与磁盘上的实际文件不对应。

以下限制适用于此过程:

此过程中的概括性步骤如下所示:


注 –

如果要定期使用上述过程,请将其置入脚本中以方便使用。



提示 –

对于此过程,比较安全的做法是向镜像中附加第三个或第四个子镜像,允许该子镜像重新同步,然后使用该子镜像进行备份。此方法可确保一直保持数据冗余功能。


  1. 验证镜像是否处于“Okay(正常)”状态。

    应当首先修复处于“Maintenance(维护)”状态的镜像。


    # metastat mirror
    
  2. 将高速缓存中的数据和 UFS 日志记录数据刷新到磁盘上,并对文件系统进行写入锁定。


    # /usr/sbin/lockfs -w mount-point 
    

    仅有 UFS 卷才需要进行写入锁定。如果将该卷设置为数据库管理软件或其他某个应用程序的原始设备,则不必运行 lockfs 命令。但是,您可能希望运行由供应商提供的适当实用程序来刷新所有缓冲区并锁定访问。


    注意 – 注意 –

    请勿对根 (/) 文件系统进行写入锁定。对根 (/) 文件系统进行写入锁定会导致系统挂起。如果要备份根 (/) 文件系统,请跳过此步骤。


  3. 从镜像中拆离某个子镜像。


    # metadetach mirror submirror 
    
    mirror

    镜像的卷名。

    submirror

    拆离的子镜像(卷)的卷名。

    系统将继续从其他子镜像中进行读取。首次进行写入之后,镜像将不再同步。按照步骤 7 中的说明重新附加已拆离子镜像后,即可更正这种不一致性。

  4. 解除锁定文件系统,从而允许继续进行写入。


    # /usr/sbin/lockfs -u mount-point 
    

    您可能需要基于在 步骤 2 中使用的与供应商有关的实用程序来执行必要的解除锁定过程。

  5. 使用 fsck 命令检查已拆离子镜像中的文件系统。此步骤可确保进行完全备份。


    # fsck /dev/md/rdsk/name
    
  6. 对脱机的子镜像执行备份。

    使用 ufsdump 命令或常用的备份实用程序。有关使用 ufsdump 命令执行备份的信息,请参见使用 ufsdump 命令对已挂载的文件系统执行备份


    注 –

    要确保备份正确,请使用原始卷名,如 /dev/md/rdsk/d4。使用原始卷名可以访问大于 2 GB 的存储器。


  7. 附加该子镜像。


    # metattach mirror submirror
    

    Solaris Volume Manager 会自动开始将该子镜像与相应的镜像重新同步。


示例 11–23 对 RAID-1 卷执行联机备份

本示例使用镜像 d1。该镜像由子镜像 d2d3d4 组成。子镜像 d3 将在 d2d4 子镜像保持联机时进行拆离和备份。该镜像中的文件系统是 /home1


# metastat d1

d1: Mirror

    Submirror 0: d2

      State: Okay        

    Submirror 1: d3

      State: Okay        

    Submirror 1: d4

      State: Okay        

...



# /usr/sbin/lockfs -w /home1

# metadetach d1 d3

# /usr/sbin/lockfs -u /home1

# /usr/sbin/fsck /dev/md/rdsk/d3

(Perform backup using /dev/md/rdsk/d3)

# metattach d1 d3