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

时间:2022-06-01 19:13:24

前言:因为是生产系统不能中断,而ufsdump需在单用户模式运行,所以想用fssnap来在线做备份。因为要备份两个server共四个分区,又想节约磁带,所以想将多个分区备份到一个磁带上。

目的:在多用户模式不中断系统应用的条件下备份APP、Oracle系统分区,并将APP、Oracle两个系统备份写入一个磁带。

系统环境:

APP server,Oracle server均为SUN V480服务器,系统Solaris8,磁带机装在APP server上

APP server:主机名为mdc-cq-sun1 Oracle server:主机名为mdc-cq-sun2

要备份的分区:

root@mdc-cq-sun1 # df-k

Filesystem kbytes used avail capacityMounted /dev/dsk/c1t0d0s0 21688297 2716432 18754983 13% /

/dev/dsk/c1t0d0s7 40430179 9397578 30628300 24% /export/home

root@mdc-cq-sun2 #df -kFilesystem kbytes used avail capacityMounted /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

fssnap命令的部分常用选项:

-d 删除和文件系统相关的快照,如果在建立快照的时候带有-o选项,那么删除快照的时候连同备份文件一起删除,否则就只有手动删除

-F 展示被使用的文件系统类型-i 展示FSType快照的状态

-V 显示完整的命令行但是不执行命令

-o 允许使用特殊选项,比如说备份文件的路径和大小

fssnap命令创建了快照文件和两个只读的虚拟设备,一个是块虚拟设备,/dev/fssnap/0,可以作为只读的文件系统被挂载,一个是原始虚拟设备,/dev/rfssnap/0

当快照首次被创建的时候,文件系统会出现暂时锁定的情况,用户在对文件系统进行写操作的时候可能会注视到一个短暂的停顿,停顿的时间随文件系统的大小而增加.当用户对文件系统进行读操作的时候却不会发生这样的现象。创建快照不会对系统造成明显的影响。

操作步骤:

要使用fssnap先要执行 /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(执行这个命令后,它将创建一个用于快照的虚拟设备文件/dev/fssnap/0)

再做/export/home分区的快照,快照文件存放在/data/backup/目录下,名字为export.snap

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

/dev/fssnap/1(执行这个命令后,它将创建一个用于快照的虚拟设备文件/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分区进行同样的快照操作完成后再执行 /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做备份

Oracle server要使用APP server上的磁带机需将两个server设为信任关系分别在两个系统/下建立.rhosts文件,写入内容 + +

注:做完备份后需删除或注释.rhosts,否则可能导致系统不安全

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;

注:

(1) 一定要用/dev/rmt/0bn,使用非回绕模式,做完一个分区备份后磁带不回绕;

(2)每执行完一个分区ufsdump,不要对磁带做任何动作,否则可能使磁带定位不正确;

(3)全部备份完成后,使用mt -f /dev/rmt/0 rewind回绕磁带;

(4)须记住每一个文件系统备份的顺序,以上备份顺序为:

磁带位置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 后退两段

需要恢复某个分区时需先确定该分区在磁带上的位置

比如,恢复分区 mdc-cq-sun2:/dev/rfssnap/0

先确定该分区在磁带上位置为:2

再将磁带回绕到开始位置: mt -f /dev/rmt/0 rew

然后将磁带前进到该分区位置2 : mt -f /dev/rmt/0n fsf 2

最后再恢复:ufsrestore ivf /dev/rmt/0n