商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 系统应用 > Solaris系统多用户模式下系统备份和多分区写入磁带

Solaris系统多用户模式下系统备份和多分区写入磁带

  发布于2026-06-04 阅读(0)

扫一扫,手机访问

生产系统不能中断,ufsdump又需要单用户模式才能运行,所以fssnap就成了在线备份的首选方案。这次需要备份两个服务器上的四个分区,同时又想节约磁带,自然有了“把多个分区塞进一盘磁带”的想法。目标很明确:在多用户模式下,不中断应用,把APP和Oracle的系统分区完整备份下来,并且全部写入同一盘磁带。

系统环境

两台SUN V480服务器,系统都是Solaris 8,磁带机只挂在APP server上。主机名分别是mdc-cq-sun1(APP server)和mdc-cq-sun2(Oracle server)。要备份的分区如下:

  • root@mdc-cq-sun1 # df -k
    Filesystem kbytes used a vail capacity Mounted
    /dev/dsk/c1t0d0s0 21688297 2716432 18754983 13% /
    /dev/dsk/c1t0d0s7 40430179 9397578 30628300 24% /export/home
  • root@mdc-cq-sun2 # df -k
    Filesystem kbytes used a vail capacity Mounted
    /dev/dsk/c1t0d0s0 21688297 1921721 19549694 9% /
    /dev/dsk/c1t0d0s7 40430179 4171755 35854123 11% /export/home

fssnap命令简介

快照是Solaris提供的一种在线备份方法,可以对已挂载或多用户模式的文件系统做备份。用fssnap命令可以创建、查询或删除UFS文件系统的临时快照。命令格式如下:

/usr/sbin/fssnap -F FSType -V -o special_option mount-point | special

常用选项说明:

  • -d:删除与文件系统相关的快照。如果创建快照时带上了-o选项,删除时会连同备份文件一起清掉,否则只能手动删除。
  • -F:指定文件系统类型。
  • -i:显示快照状态。
  • -V:显示完整命令行但不执行。
  • -o:支持特殊选项,比如指定备份文件的路径和大小。

执行fssnap后,会创建两个只读虚拟设备:一个是块虚拟设备(/dev/fssnap/0),可以挂载为只读文件系统;另一个是原始虚拟设备(/dev/rfssnap/0)。首次创建快照时,文件系统会出现短暂锁定,用户做写操作时可能注意到一个短暂停顿——停顿时间随文件系统大小增加,但读操作不受影响。总体而言,对系统影响很小。

操作步骤

使用fssnap之前,需要先停掉xntpd服务,否则会报错:/etc/init.d/xntpd stop

1. 用fssnap为要备份的分区做快照

先处理APP server上的根分区,快照文件存放在/data/backup/下,命名root.snap

root@mdc-cq-sun1 # fssnap -F ufs -o bs=/data/backup/root.snap / /dev/fssnap/0

接下来做/export/home分区的快照,文件命名为export.snap

root@mdc-cq-sun1 # fssnap -F ufs -o bs=/data/backup/export.snap /export/home /dev/fssnap/1

查询快照信息:

root@mdc-cq-sun1 # fssnap -i
   0   /
   1   /export/home

查看某个快照的详细信息:

root@mdc-cq-sun1 # fssnap -i /
Snapshot number              : 0
Block Device                 : /dev/fssnap/0
Raw Device                   : /dev/rfssnap/0
Mount point                  : /
Device state                 : idle
Backing store path           : /data/backup/root.snap
Backing store size           : 58016 KB
Maximum backing store size   : Unlimited
Snapshot create time         : Thu Oct 20 14:57:21 2005
Copy-on-write granularity    : 32 KB

需要恢复某些文件时,可以直接挂载快照(挂载后为只读):

root@mdc-cq-sun1 # mount /dev/fssnap/0 /mnt

用同样的方法对Oracle server的//export/home做快照。全部完成后,别忘了启动xntpd:/etc/init.d/xntpd start

2. 用ufsdump将两个系统多个快照分区备份到一盘磁带

先在APP server上备份:

root@mdc-cq-sun1 # ufsdump 0ucf /dev/rmt/0bn /dev/rfssnap/0;
root@mdc-cq-sun1 # ufsdump 0ucf /dev/rmt/0bn /dev/rfssnap/1;

Oracle server要用APP server上的磁带机,需要先建立信任关系。分别在两个系统的/下创建.rhosts文件,内容写入+ +。注意:做完备份后务必删除或注释掉.rhosts,否则有安全风险。

然后在APP server上执行远程备份:

root@mdc-cq-sun1 # ufsdump 0ucf mdc-cq-sun1:/dev/rmt/0bn /dev/rfssnap/0;
root@mdc-cq-sun1 # ufsdump 0ucf mdc-cq-sun1:/dev/rmt/0bn /dev/rfssnap/1;

几个关键注意事项:

  • 一定要用/dev/rmt/0bn(非回绕模式),这样做完一个分区备份后磁带不会自动回绕。
  • 每执行完一个分区的ufsdump,不要对磁带做任何操作,否则可能搞乱磁带定位。
  • 全部备份完成后,使用mt -f /dev/rmt/0 rewind回绕磁带。
  • 必须记住每个文件系统备份的顺序。本例顺序为:
    磁带位置0 → mdc-cq-sun1:/dev/rfssnap/0
    磁带位置1 → mdc-cq-sun1:/dev/rfssnap/1
    磁带位置2 → mdc-cq-sun2:/dev/rfssnap/0
    磁带位置3 → mdc-cq-sun2:/dev/rfssnap/1

3. 磁带基本操作与系统文件恢复

mt命令常用参数:

  • mt -f /dev/rmt/0 status:报告设备状态
  • mt -f /dev/rmt/0 rew:回绕倒带
  • mt -f /dev/rmt/0n fsf 1:前进一段
  • mt -f /dev/rmt/0n bsf 3:后退两段(实际是后退3段?原文为bsf 3后退两段,这里保持原文含义)

需要恢复某个分区时,先确定它在磁带上的位置。例如恢复分区mdc-cq-sun2:/dev/rfssnap/0

  1. 确认位置为2;
  2. 回绕磁带:mt -f /dev/rmt/0 rew
  3. 前进到位置2:mt -f /dev/rmt/0n fsf 2
  4. 执行恢复:ufsrestore ivf /dev/rmt/0n
本文转载于:https://www.jb51.net/os/Solaris/1705.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注