有关系统备份的问题,主要用ufsdump命令,但对每次都要到单用户模式下执行感到很无奈,有一个新命令fssnap其实可以解决这个问题.
这个命令是solaris 1/01版中发布.可以用来创建文件系统的只读快照和ufsdump不同,这个命令不需要在单用户模式下运行,它可以在多用户模式下,并且文件系统被mount的情况下执行.
#df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0t0d0s0 1984230 66332 1858372 4% /
/dev/dsk/c0t0d0s3 1984230 776737 1147967 41% /usr
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
/dev/dsk/c0t0d0s4 4211158 77135 4091912 2% /var
swap 563936 16 563920 1% /var/run
swap 564248 328 563920 1% /tmp
现在先做/分区的快照,快照文件存放在/var目录下,名字为root.snap
#/usr/sbin/fssnap -F ufs -o bs=/var/root.snap /
/dev/fssnap/1
当执行这个命令时,它将创建一个用于快照的虚拟设备文件
在做/usr分区的快照,也存放在/var目录下,名字为usr.snap
#/usr/sbin/fssnap -F ufs -o bs=/var/usr.snap /usr
/dev/fssnap/0
查询文件系统快照的相关信息
#fssnap -i
0 /usr
1 /
查询快照的具体信息
#fssnap -i /
Snapshot number : 1
Block Device : /dev/fssnap/1
Raw Device : /dev/rfssnap/1
Mount point : /
Device state : idle
Backing store path : /var/root.snap
Backing store size : 384 KB
Maximum backing store size : Unlimited
Snapshot create time : Thu May 13 15:11:59 2004
Copy-on-write granularity : 32 KB
删除对应的虚设备
#fssnap -d /
Deleted snapshot 1.
不过这样对应的快照文件不会被删除,如果要在删除快照设备同时也删除对应的快照文件,需要在创建快
照文件的时候指定unlink参数
#fssnap -F ufs -o bs=/var/usr.snap,unlink /usr
如何实现快照的备份与恢复
这个还是使用ufsdump和ufsrestore命令来做 (在这个例子中没有存放到磁带上)
#ufsdump 0ucf /var/usr_snap.dmp `fssnap -F ufs -o bs=/var/usr.snap,unlink /usr`
DUMP: Writing 63 Kilobyte records
DUMP: Date of this level 0 dump: Thu May 13 15:56:50 2004
DUMP: Date of last level 0 dump: the epoch
DUMP: Dumping /dev/rfssnap/1 to /var/usr_snap.dmp.
DUMP: Mapping (Pass I) [regular files]
DUMP: Mapping (Pass II) [directories]
DUMP: Estimated 1608764 blocks (785.53MB).
DUMP: Dumping (Pass III) [directories]
DUMP: Dumping (Pass IV) [regular files]
DUMP: 1608640 blocks (785.47MB) on 1 volume at 2819 KB/sec
DUMP: DUMP IS DONE
DUMP: Level 0 dump on Thu May 13 15:56:50 2004
这样,就创建了文件系统快照的备份,至于恢复就用ufsrestore命令就行了