Solaris Volume Manager 并不是“备份产品”。Solaris Volume Manager 确实提供了一种备份镜像数据的方法,而不会导致出现以下任一情况:
取消挂载镜像
使整个镜像脱机
停止系统
拒绝用户访问数据
Solaris Volume Manager 通过首先使其中一个子镜像脱机来备份镜像数据。在备份过程中,镜像将暂时不可用。一旦备份完成,子镜像将立即恢复联机和重新同步。
UFS 快照功能提供了一种不使文件系统脱机即可备份系统的备选方法。可以在不拆离子镜像的情况下执行备份,这样也避免了以后由于重新同步镜像而导致性能损失。使用 UFS 快照功能执行备份之前,请确保 UFS 文件系统中有足够的可用空间。有关更多信息,请参见《系统管理指南:设备和文件系统》中的第 26 章 “使用 UFS 快照(任务)”。
可以针对除根 (/) 文件系统以外的任何文件系统使用此过程。请注意,这种类型的备份会创建活动文件系统的“快照”。根据文件系统处于写入锁定状态时的使用方式,所备份的某些文件可能与磁盘上的实际文件不对应。
以下限制适用于此过程:
如果针对双向镜像使用此过程,请注意,在使一个子镜像脱机以进行备份时,会失去数据冗余功能。多向镜像则不存在此问题。
备份完成之后,对重新附加的子镜像重新同步时,会产生一些系统开销。
此过程中的概括性步骤如下所示:
对文件系统进行写入锁定(仅限 UFS)。请勿锁定根 (/) 文件系统
将高速缓存中的所有数据刷新到磁盘。
使用 metadetach 命令从镜像中拆离某个子镜像
解除锁定文件系统
使用 fsck 命令检查已拆离子镜像中的文件系统
将数据备份到已拆离子镜像中
使用 metattach 命令将已拆离子镜像重新放回镜像中
如果要定期使用上述过程,请将其置入脚本中以方便使用。
对于此过程,比较安全的做法是向镜像中附加第三个或第四个子镜像,允许该子镜像重新同步,然后使用该子镜像进行备份。此方法可确保一直保持数据冗余功能。
验证镜像是否处于“Okay(正常)”状态。
应当首先修复处于“Maintenance(维护)”状态的镜像。
# metastat mirror |
将高速缓存中的数据和 UFS 日志记录数据刷新到磁盘上,并对文件系统进行写入锁定。
# /usr/sbin/lockfs -w mount-point |
仅有 UFS 卷才需要进行写入锁定。如果将该卷设置为数据库管理软件或其他某个应用程序的原始设备,则不必运行 lockfs 命令。但是,您可能希望运行由供应商提供的适当实用程序来刷新所有缓冲区并锁定访问。
请勿对根 (/) 文件系统进行写入锁定。对根 (/) 文件系统进行写入锁定会导致系统挂起。如果要备份根 (/) 文件系统,请跳过此步骤。
从镜像中拆离某个子镜像。
# metadetach mirror submirror |
镜像的卷名。
拆离的子镜像(卷)的卷名。
系统将继续从其他子镜像中进行读取。首次进行写入之后,镜像将不再同步。按照步骤 7 中的说明重新附加已拆离子镜像后,即可更正这种不一致性。
解除锁定文件系统,从而允许继续进行写入。
# /usr/sbin/lockfs -u mount-point |
您可能需要基于在 步骤 2 中使用的与供应商有关的实用程序来执行必要的解除锁定过程。
使用 fsck 命令检查已拆离子镜像中的文件系统。此步骤可确保进行完全备份。
# fsck /dev/md/rdsk/name |
对脱机的子镜像执行备份。
使用 ufsdump 命令或常用的备份实用程序。有关使用 ufsdump 命令执行备份的信息,请参见使用 ufsdump 命令对已挂载的文件系统执行备份。
要确保备份正确,请使用原始卷名,如 /dev/md/rdsk/d4。使用原始卷名可以访问大于 2 GB 的存储器。
附加该子镜像。
# metattach mirror submirror |
Solaris Volume Manager 会自动开始将该子镜像与相应的镜像重新同步。
本示例使用镜像 d1。该镜像由子镜像 d2、d3 和 d4 组成。子镜像 d3 将在 d2 和 d4 子镜像保持联机时进行拆离和备份。该镜像中的文件系统是 /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 |