以下部分概述了在区域中备份文件所能使用的方法。
使用 ufsdump 执行备份
可以使用 ufsdump 命令执行完整备份或增量备份。此过程可将区域 /export/zone1 备份到 /backup/zone1.ufsdump,其中,"zone1" 会由系统中区域的名称取代。
1.(可选)可以在使用 ufsdump 命令前关闭区域,以便使其处于静态,并避免备份共享的文件系统。
global# zlogin -S zone1 init 0
2.(可选)检查区域的状态。
global# zoneadm list -cv
ID NAME STATUS PATH
0 global running /
- zone1 installed /export/zone1
3. 执行备份。
global# ufsdump 0f /backup/zone1.ufsdump /export/zone1
DUMP: Date of this level 0 dump: Wed Aug 10 16:13:52 2005
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/rdsk/c0t0d0s0 (bird:/) to /backup/zone1.ufsdump.
DUMP: Mapping (Pass I) [regular files]
DUMP: Mapping (Pass II) [directories]
DUMP: Writing 63 Kilobyte records
DUMP: Estimated 363468 blocks (174.47MB).
DUMP: Dumping (Pass III) [directories]
DUMP: Dumping (Pass IV) [regular files]
DUMP: 369934 blocks (180.63MB) on 1 volume at 432 KB/sec
DUMP: DUMP IS DONE
4. 引导区域。
global# zoneadm -z zone1 boot
使用 fssnap 创建 UFS 快照
这种方法使用了 fssnap 命令,它可以为专用于备份操作的文件系统创建临时映像。
这种方法只能用于提供一个全新、一致的区域文件备份,并且可以在区域运行时执行。但是,最好在创建快照时暂停或检查正在更新文件的活动应用程序。在创建快照时更新文件的应用程序可能会使这些文件内部不一致、被截断或不可用。
在下面的示例过程中:
* /export/home 下面有个名为 zone1 的区域。
* /export/home 是一个单独的文件系统。
* 目标备份为 /backup/zone1.ufsdump。必须在开始前创建 /backup。
1. 创建快照:
global# fssnap -o bs=/export /export/home
/dev/fssnap/0
2. 挂载快照。
global# mount -o ro /dev/fssnap/0 /mnt
3. 从快照备份 zone1。
global# ufsdump 0f /backup/zone1.ufsdump /mnt/zone1
DUMP: Date of this level 0 dump: Thu Oct 06 15:13:07 2005
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/rfssnap/0 (bird:/mnt) to /backup/zone1.ufsdump.
DUMP: Mapping (Pass I) [regular files]
DUMP: Mapping (Pass II) [directories]
DUMP: Writing 32 Kilobyte records
DUMP: Estimated 176028 blocks (85.95MB).
DUMP: Dumping (Pass III) [directories]
DUMP: Dumping (Pass IV) [regular files]
DUMP: 175614 blocks (85.75MB) on 1 volume at 2731 KB/sec
DUMP: DUMP IS DONE
4. 卸载快照。
global# umount /mnt
5. 删除快照。
global# fssnap -d /dev/fssnap/0
请注意,重新引导系统时,也会删除快照。
使用 find 和 cpio 执行备份
以下方法可在正在运行的区域上使用 find 和 cpio。
1. 将目录更改为 / 目录:
global# cd /
2. 备份没有回送挂载到 /backup/zone1.cpio 的 zone1 文件。
global# find export/zone1 -fstype lofs -prune -o -local |
cpio -oc -O /backup/zone1.cpio
3. 检验结果。
global# ls -l backup/zone1.cpio
-rwxr-xr-x 1 root root 99680256 Aug 10 16:13 backup/zone1.cpio
使用网络备份软件备份和恢复系统
可以使用诸如 Symantec/VERITAS NetBackup 的产品备份或恢复 Solaris 系统。借助 Symantec/VERITAS NetBackup,可以协调整个企业范围的备份、归档和恢复。有关安装有区域的 Solaris 10 系统的 Netbackup 支持的说明,请访问:
http://seer.support.veritas.com/docs/275107.htm。
非全局区域支持 NetBackup 客户机软件。全局区域支持 NetBackup 主服务器和介质服务器。NetBackup 主服务器可以管理备份、归档和恢复。介质服务器可以提供附加存储,即允许 NetBackup 使用它们控制的存储设备,如 4 毫米的磁带驱动器。
可以恢复整个系统,也可以恢复特定文件和目录。NetBackup 可以定位到选定的文件和目录,并将它们恢复到客户机上的磁盘。
不需要更改标准的 NetBackup 体系结构,就可将其应用到安装有区域的系统。可将每个非全局区域视作运行 NetBackup 客户机软件的独立服务器。
应在区域及其应用程序处于静态时对要备份的数据执行备份。
注:如有可能,应对网络备份软件进行配置,使其跳过继承的所有 LOFS 文件系统。
提示:如果要整合服务器或利用同一系统上非全局区域之间较高的网络带宽(相对于有线网络而言),也可以同时定位到同一系统上的介质服务器。服务器和存储设备之间的连接必须具有足够的带宽,可供所有备份流使用。
有关 Symantec/VERITAS NetBackup 产品的完整文档,请访问:
http://www.sun.com/products-n-so ... etBackup/index.html。
确定备份内容
可以备份非全局区域中的任何内容,或者也可以只备份应用程序数据,因为区域配置的更改并不频繁。
只备份应用程序数据
如果应用程序数据保存在文件系统的特定部分中,可能需要只对这些数据进行常规备份。可以不必经常备份区域的根文件系统,因为其更改并不频繁。
确定应用程序放置文件的位置可能要比表面上看起来更难。一些文件存储在每个用户的主目录中,一些文件存储在 /etc(绝大部分是配置数据)之下,而其他文件则保存在 /var 之下。
假设应用程序管理员知道数据的存储位置,则可以创建一个系统,其中每个区域均可使用其各自的可写目录。然后,每个区域可以存储自己的备份,并且全局管理员可以将此位置用作系统上的备份位置之一。
常规数据库备份操作
如果数据库应用程序数据不在自己的目录之下,以下规则将适用。
* 首先确保数据库处于一致的状态。数据库必须处于静态,因为它们包含要刷新到磁盘的内部缓冲区。确保非全局区域中的数据库处于静态,然后从全局区域中开始备份。
* 在每个区域中,使用文件系统功能创建数据的快照。直接从全局区域备份快照。这样,将会最大程度地缩短备份时间,同时避免备份所有区域中的客户机/模块。
磁带备份
每个非全局区域都可以创建其专用文件系统的快照,前提是该区域便于创建快照,且应用程序已经暂时处于静态。随后,全局区域可以备份每个快照,并在应用程序再次使用之后将备份放置在磁带上。
这种方法具有以下优点:
* 最大限度地减少所需的磁带设备数。
* 不需要在非全局区域之间进行协调。
* 不需要直接为区域分配设备,从而提高了安全性。
* 通常,此方法在全局区域中执行系统管理,这是首选方法。