以下过程可以用于在区域中备份文件。同时,请记住还要备份区域的配置文件。
使用 ufsdump 命令执行备份
可以使用 ufsdump 命令执行完整备份或增量备份。此过程将区域 /export/my-zone 备份到 /backup/my-zone.ufsdump,在其中使用系统上某个区域的名称替换 my-zone。您可能需要拥有一个单独的文件系统(例如,在 /backup 上挂载的文件系统)来保留备份。
-
成为超级用户或承担主管理员角色。
-
(可选)关闭区域以使其处于停顿状态,从而避免创建共享文件系统的备份。
global# zlogin -S my-zone init 0
-
查看区域状态。
global# zoneadm list -cv
将显示以下类似信息:
ID NAME STATUS PATH
0 global running /
- my-zone installed /export/my-zone -
执行备份。
global# ufsdump 0f /backup/my-zone.ufsdump /export/my-zone
将显示以下类似信息:
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/my-zone.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 -
引导区域。
global# zoneadm -z my-zone boot
使用 fssnap 创建 UFS 快照
此方法使用 fssnap 命令,此命令会创建用于备份操作的文件系统的临时映像。
此方法只能用于提供一个全新、一致的区域文件备份,并且可以在区域运行时执行。但是,最好在创建快照时暂停或检查正在更新文件的活动应用程序。在创建快照时更新文件的应用程序可能会使这些文件内部不一致、被截断或不可用。
在下面的示例过程中,请注意以下内容:
-
在 /export/home 下有一个名为 my-zone 的区域。
-
/export/home 是单独的文件系统。
开始之前
目标备份为 /backup/my-zone.ufsdump。您必须在 / 下创建目录 backup。
-
成为超级用户或承担主管理员角色。
-
创建快照。
global# fssnap -o bs=/export /export/home
将显示以下类似信息:
dev/fssnap/0
-
挂载快照。
global# mount -o ro /dev/fssnap/0 /mnt
-
通过快照备份 my-zone。
global# ufsdump 0f /backup/my-zone.ufsdump /mnt/my-zone
将显示以下类似信息:
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 (pc2:/mnt) to /backup/my-zone.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 -
卸载快照。
global# umount /mnt
-
删除快照。
global# fssnap -d /dev/fssnap/0
请注意,快照也会在重新引导系统时从系统中删除。
使用 find 和 cpio 执行备份
-
成为超级用户或承担主管理员角色。
-
转到根目录。
global# cd /
-
备份没有回送挂载到 /backup/my-zone.cpio 的 my-zone 文件。
global# find export/my-zone -fstype lofs -prune -o -local
| cpio -oc -O /backup/my-zone.cpio type as one line -
检验结果。
global# ls -l backup/my-zone.cpio
将显示以下类似信息:
-rwxr-xr-x 1 root root 99680256 Aug 10 16:13 backup/my-zone.cpio
列显区域配置的副本
您应当创建非全局区域配置的备份文件。如有必要,将来可以使用备份来重新创建区域。在您首次登录到区域,并回答了 sysidtool 的问题之后,创建区域配置的副本。此过程使用名为 my-zone 的区域和名为 my-zone.config 的备份文件来显示过程。
-
成为超级用户或承担主管理员角色。
-
将区域 my-zone 的配置列显到名为 my-zone.config 的文件。
global# zonecfg -z my-zone export > my-zone.config
恢复单个非全局区域
如有必要,可以使用非全局区域配置的备份文件来恢复非全局区域。此过程使用名为 my-zone 的区域和名为 my-zone.config 的备份文件来显示恢复区域的过程。
-
成为超级用户或承担主管理员角色。
-
指定 my-zone.config 作为 zonecfg 命令文件来重新创建区域 my-zone。
global# zonecfg -z my-zone -f my-zone.config
-
安装区域。
global# zoneadm -z my-zone install
-
为了防止系统显示在初始登录区域时出现的 sysidtool 问题,请删除文件 zonepath/root/etc/.UNCONFIGURED,例如:
global# rm /export/home/my-zone/root/etc/.UNCONFIGURED
-
如果您需要恢复任何区域特定的文件(例如应用程序数据),请将这些文件从备份手动恢复(并可能手动合并)到新创建的区域根文件系统。