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      
相关文章!