Solaris

关注公众号 jb51net

关闭
操作系统 > Solaris >

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

佚名

前言:因为是生产系统不能中断,而ufsdump需在单用户模式运行,所以想用fssnap来在线做备份。因为要备份两个server共四个分区,又想节约磁带,所以想将多个分区备份到一个磁带上。
目的:在多用户模式不中断系统应用的条件下备份APP、Oracle系统分区,并将APP、Oracle两个系统备份写入一个磁带。
系统环境:
APP server,Oracle server均为SUN V480服务器,系统Solaris 8,磁带机装在APP server上
APP server:主机名为mdc-cq-sun1   Oracle server:主机名为mdc-cq-sun2
要备份的分区:
root@mdc-cq-sun1 # df  -k
Filesystem            kbytes    used   avail capacity  Mounted /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 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
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
YtJLinux联盟
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