Solaris10.0 文件系统备份和恢

来源:互 作者:佚名

 

一、磁和磁机:   的磁如下表所示:

质类             大致容量

1/2-inch reel tape             140MB (英寸6250B)

1/4-inch cartridge (QIC) cartridge tape       8GB

8-mm cartridge tape         40GB

4-mm digital audio tape (DAT) cartridge tape           24GB

DLT 1/2-inch cartridge tape           70GB

LTO cartridge tape           100GB

SDLT cartridge tape         160GB

1.带驱动器:磁逻辑设备名格式/dev/rmt/#hn #代表磁带逻辑编号,是以0始,标识盘驱动器的第一个例。 h代表磁密度,可分l()m()h()c(压缩)u(压缩) n代表no-rewind,即操作完成后,不能倒。磁带驱动器支持硬件压缩,但压缩比不如压缩,不过压缩速度比压缩快。默的磁带设备名字存放在/kernel/drv/st.conf文件中。

2、磁带驱动器控制命令:mt 并非所有的磁带驱动器都支持mt命令的所有选项mt命令的格式如下:mt -f tape-device-name command count 命令示例: mt status:示磁带驱动器的状信息。 mt rewind: mt offline:并离线,如果硬件支持就卸 mt fsf count:前到指定的记录点。以下命令把磁定位到第三个记录始点: # mt -f /dev/rmt/0n fsf

 

二、件:   solaris中用的最多的件是Veritas Netbackup(NBU),里只solaris份工具; Ufsdump:用于份文件系; Ufsrestore:用于从份中恢数据; Fssnap:用于建文件系的在线快照,然后通快照实现线文件系份。

 

三、份作   份有三:全、增量份和差异份。

1. 增量份: Solaris采用数字0~9来区分不同的型,0代表全1~9表示份比其数字更低的最近一次份以来更新的所有数据。*(例如增量份策略情况如下所示:周六    周一    周二    周三    周四   周五 0       3         4      5      6         2 0级备份指的是月份策略。月一次全,周一至周四3~6级备份,周五2级备份。)

2./etc/dumpdates 份作记录文件,份作完成一次都会在个文件中增加一条记录,如果本次份的级别和上一次份的级别会刷新上次的记录

# cat /etc/dumpdates

/dev/rdsk/c0t2d0s6 0 Fri Nov 5 19:12:27 2007 ---0级备

/dev/rdsk/c0t2d0s0 0 Fri Nov 5 20:44:02 2007 ---0级备

/dev/rdsk/c0t0d0s7 0 Tue Nov 9 09:58:26 2007 ---0级备

/dev/rdsk/c0t0d0s7 1 Tue Nov 9 16:25:28 2007 ---0级备

Ufsdump行前都会检查这个文件,找比本次级别低的最近一次份作业记录决定从哪个日期份文件,如果份作不会更新/etc/dumpdates文件。 3./usr/sbin/ufsdump 命令的法如下: ufsdump option(s) argument(s) filesystem_name ufsdump选项如下表所示:

 

选项     

0~9       级别

f dump_file         指定使用的磁带设备认为/dev/rmt/0,如果是减号'-'则转储出。

l Autoload(自),如果在份完成之前,磁已用完,就等待2,并自新磁,若2内未更带则会出提示并继续等待。

n           Notify,送消息当前在线的所有属于sys的用

o            Offline份完成,或者磁用完后倒,或出磁带时带驱动器自线

S           大小估

u           Update,在/etc/dumpdates文件中加入一条记录

v                         Verify,验证刚刚备份的内容是否和源一若不一,系统则会要求操作者插入新介重新

W or w    Warning选项忽略其他任何选项,根据/etc/dumpdates/etc/vfstab文件信息份的提示信息

file_to_dump       指定要份的

4.份本地的磁:

(1),通告所有用,系份,切模式: # /usr/sbin/shutdown -y -g300 'System is being shutdown for backup'

(2)检查文件系的一致性: fsck /export/home

(3)份到磁 # ufsdump 0uf /dev/rmt/0 /export/home  

5.份到程的磁

(1),程系/.rhosts文件中包含本机的名字: host2# vi /.rhosts host1

(2).在本机行以下命令: host1# ufsdump 0uf host2:/dev/rmt/0 /export/home  

6.例:

(1). #mt rewind

(2)./export/home份:

#ufsdump 0S /export/home

#umount /export/home-(示系busy#umount -f /export/home行卸)

#ufsdump 0uf /dev/rmt/0 /export/home

#cat /etc/dumpdates-----完成,文件中增加一条0级记录

(3).添加文件和目/export/home文件系

#mount /dev/dsk/c0t0d0s7 /export/home

#cp -r /root/ /export/home #umount /export/home

(4).行增量份: #mt -f /dev/rmt/0 fsf 1 ---跳到下一个记录点,行第二次份操作。 #ufsdump 1uf /dev/rmt/0 /export/home

(5)移走磁 #mt offline

(6)记录文件: #cat /etc/dumpdates ----1完成。  

四、行恢   里使用的命令是ufsrestore,其格式和选项说明如下所示: Ufsrestore option(s) argument(s) filesystem 选项说明:

 

选项     

t            份介上的内容列表

r            份介出完整的文件系

x file1 file2         指定的文件

i            入交互式恢模式

v           详细模式,一个文件就会在端屏幕上示文件的路径名

f device               指定磁带设备的名字

当从一个份磁整个文件系统时,系建一个restoresymtable文件,ufsrestore命令使用restoresymtable文件在增量恢关键检测或忽略信息,以及把磁上的被份的文件系inode映射到磁上的新文件系中的文件,恢完成后可restoresymtable文件。Ufsrestore认总是把文件恢到当前目下。

命令示例介

(1)示磁中的内容:     

# ufsrestore tf /dev/rmt/0

(2)只恢两个指定的文件:    

# ufsrestore xf /dev/rmt/0 ./xx/xx.file1 ./xx/xx.file2

(3)c1t0d0s0的文件转储newroot 

# ufsdump 0f - /dev/rdsk/c1t0d0s0|(cd /tmp/newroot;ufsrestore xf -)

(4)入交互式恢模式:     

# ufsretore if /dev/rmt/0

1、恢/opt文件系(c0t0d0s5)   

(1)建新的文件系      #newfs /dev/rdsk/c0t0d0s5 ---/opt文件系统处/c0t0d0s5    (2)挂接到/opt,并/opt      #mount /dev/dsk/c0t0d0s5 /opt      #cd /opt    (3)份磁/opt文件系      #ufsrestore rf /dev/rmt/0   

(4)restoresymtable文件:      #rm restoresymtable   

(5)文件系      #cd /;umount /opt   

(6)使用fsck文件系的完整性:      #fsck /dev/rdsk/c0t0d0s5   

(7)文件系的全(整个文件系inode number重新分配,所以要再次全)      #ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s5 ---可直接设备备

*注:当恢整个文件系统时是从0级备份磁带开始,然后逐增加,恢完后一定要再次全,因ufsrestore了文件的位置和inodes的分配。

2、恢/usr文件系(c0t0d0s6)   

(1)如果/,/var,/usr文件系受到破坏,就要模式:       Ok boot cdrom -s   

(2)复步骤       #newfs /dev/rdsk/c0t0d0s6 ---/usr文件系统处/c0t0d0s6       #mount /dev/dsk/c0t0d0s6 /a      

#cd /a      

#ufsrestore rf /dev/rmt/0      

#rm restoresymtable      

#cd /;umount /a      

#fsck /dev/rdsk/c0t0d0s6      

#ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s6    

(3)重启系       #init 6

3、恢/文件系(c0t0d0s0)   

(1)模式:       Ok boot cdrom -s   

(2)复步骤      

#newfs /dev/rdsk/c0t0d0s0      

#mount /dev/dsk/c0t0d0s0 /a      

#cd /a;

#ufsrestore rf /dev/rmt/0     

# rm restoresymtable     

#cd /usr/platform/`uname -m`/lib/fs/ufs 安装新的启信息到跟分区的扇区1到扇区15sparcx86如下所示:    

SPARC#installboot bootblk /dev/rdsk/c0t0d0s0     

如果是x86版使用installgrub命令:     

X86#installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c0t1d0s0     

# cd /;umount /a     

#fsck /dev/rdsk/c0t0d0s0     

# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s0    

(3)重启系       #init 6

4、交互式恢

(1)入交互式恢界面:   

#cd /export/home/tmp   

#ufsrestore ivh /dev/rmt/0      

Verify volume and initialize maps Media block size is 64 Dump date: Mon Oct 11 12:30:44 2004 Dumped from: the epoch Level 0 dump of /export/home on sys43:/dev/dsk/c0t0d0s7 Label: none Extract directories from tape Initialize symbol table.   

(2)示磁中目录结构的内容:       

ufsrestore > ls .: 2 *./ 13 directory1 15 directory3 11 file2 2 *../ 14 directory2 10 file1 12 file3        ufsrestore > cd directory1        ufsrestore > ls           ./directory1: 3904 ./ 2 *../ 3905 file1 3906 file2 3907 file3   

(3)选择想要恢的文件,可看到文件前面*号表示被选择        ufsrestore > add file1 file2            Make node ./directory1            Files you want to restore are marked with an asterisk (*) for extraction. If you extract a directory, all of the directory contents are marked for extraction. In this example, two files are marked for extraction. The ls command displays an asterisk in front of the selected file names,file1 and file2. ufsrestore > ls ./directory1: 3904 *./ 2 *../ 3905 *file1 3906 *file2 3907 file3 ufsrestore > delete file1除一个文件。 ufsrestore > ls ./directory1: 3904 *./ 2 *../ 3905 file1 3906 *file2 3907 file3

(4)看被选择的文件: ufsrestore > marked ./directory1: 3904 *./ 2 *../ 3906 *file2

(5)解出被选择的文件到当前目    ufsrestore > extract Extract requested files You have not read any volumes yet. Unless you know which volume your file(s) are on you should start with the last volume and work towards the first. Specify next volume #: 1 extract file ./directory1/file2 Add links Set directory mode, owner, and times.    

(6)选择权置方式,n重新限,y和磁中的份的限保持一致: set owner/mode for ‘.’? [yn] n ufsrestore > quit    

(7)把恢出来的文件移到正确的目,临时       

# mv /export/home/tmp/directory1/file2 /export/home       

# rm -r /export/home/tmp/directory1

-