执行文件系统恢复
目标要求
恢复ufs文件系统
恢复文件系统重建损坏的文件系统。重新安装或者升级Solaris OS软件,重新确认已有的文件系统或者新磁盘。
恢复一般性文件系统
当你恢复文件系统数据的时候,需要考虑以下问题:
系统能否自己启动(一般性文件系统恢复)?
你需要从CD-ROM, DVD,或者网络启动系统(关键文件系统的恢复)?
你需要从CD-ROM, DVD,或者网络启动系统和修复启动设备(指定修复情况)?
恢复文件或者文件系统,决定情况:
需要的文件系统备份磁带
需要恢复的文件系统的设备名
你需要恢复一些个别文件到指定临时的目录名
备份设备的使用方式(本地或者远程)
备份设备名(本地或者远程)
恢复一般文件系统比如/export/home或者/opt文件系统,备份到磁盘上的。使用ufsrestore命令恢复。Ufsrestore命令复制用ufsdump命令创建的备份磁带的文件到磁盘到相关的当前工作目录。
使用ufsrestore命令重新加载全部的文件系统结构冲0级备份和相关的增量备份。你也能够恢复一个或者多个单一文件从备份磁带上。
Ufsrestore命令格式:
ufsrestore option(s) argument(s) filesystem
Ufsrestore命令的一些选项及含义
t 列出备份媒质上的内容
r 从备份设备上恢复全部文件系统
x file1 file2 只恢复命令行指定的文件名
i 进入交互模式
v 执行详细输出模式。这种模式在终端屏幕上显示任何一个恢复文件的路径。
f device 指定磁带设备名。 如果不指定,使用/dev/rmt/0设备文件。
当你从备份磁带上恢复全部的文件系统,系统创建restoresymtable文件。Ufsrestore命令使用restoresymtable文件用语检查点或者确认信息的增量恢复上。当备份完成以后你能够删除restoresymtable文件。
使用Ufsrestore命令恢复一般文件系统
下面的过程演示如何使用Ufsrestore命令恢复 c0t0d0s5上的/opt文件系统。
创建新的文件系统结构。
#newfs /dev/rdsk/c0t0d0s5
Mount文件系统到/opt目录,并且改变目录。
#mount /dev/dsk/c0t0d0s5 /opt
#cd /opt
从备份磁带恢复完整的/opt文件系统
# ufsrestore rf /dev/rmt/0
(恢复总是从备份级别0的备份磁带开始恢复文件系统,然后在恢复更高级别的备份)
删除restoresymtable文件
# rm restoresymtable
Umount新的文件系统
# cd /
# umount /opt
使用fsck命令来检查新的文件系统
# fsck /dev/rdsk/c0t0d0s5
执行一个文件系统的全备
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s5
(系统管理员总是要备份新创建的文件系统因为ufsrestore命令会重新配置文件和分配i节点)
Init 6
恢复/usr文件系统
恢复/usr文件系统从Solaris 10 Software 1CD-ROM or DVD启动,使用ufsrestore命令恢复/usr分区的文件。
(如果因为一些损坏引起/ (root), /usr, or /var文件系统不可用导致系统不能启动)
使用ufsrestore命令恢复一些重要的文件系统
下面的步骤演示如何恢复/usr文件系统在启动盘的slice6上。
放入Solaris 10 Software 1 CD-ROM or DVD同时启动到单用户模式。
ok boot cdrom -s
创建新的文件系统结构
# newfs /dev/rdsk/c0t0d0s6
Mount文件系统到mount点/a上,并且改变目录。
# mount /dev/dsk/c0t0d0s6 /a
# cd /a
从备份磁带恢复/usr文件系统
# ufsrestore rf /dev/rmt/0
删除restoresymtable文件
# rm restoresymtable
Umount新的文件系统
#cd /
#umount /a
使用fsck命令来检查新的文件系统
# fsck /dev/rdsk/c0t0d0s6
执行一个文件系统的全备
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s6
重新启动系统
# init 6
执行/ (root)文件系统的恢复
如果启动块损坏,执行指定原因恢复/ (root)文件系统。
从Solaris 10 Software 1CD-ROM or DVD启动,然后使用ufsrestore命令恢复/ (root)文件系统。
下面的步骤演示从启动盘的slice0恢复/ (root)文件系统。
放入Solaris 10 Software 1 CD-ROM or DVD同时启动到单用户模式。
ok boot cdrom -s
创建新的文件系统结构
# newfs /dev/rdsk/c0t0d0s0
Mount文件系统到mount点/a上,并且改变目录。
# mount /dev/dsk/c0t0d0s0 /a
# cd /a
从备份磁带恢复/ (root)文件系统
# ufsrestore rf /dev/rmt/0
删除restoresymtable文件
# rm restoresymtable
在启动盘的扇区1-15上安装bootblk。
# cd /usr/platform/`uname -m`/lib/fs/ufs
# installboot bootblk /dev/rdsk/c0t0d0s0
Umount新的文件系统
#cd /
#umount /a
使用fsck命令来检查新的文件系统
# fsck /dev/rdsk/c0t0d0s0
执行一个文件系统的全备
# ufsdump 0uf /dev/rmt/0 /dev/rdsk/c0t0d0s0
重新启动系统
# init 6
进入交互恢复模式
使用ufsrestore i命令进入交互模式接口。通过这个接口,你可以查看备份磁带上的目录层次和选择指定文件。
使用ufsrestore i命令
下面的例子演示如何使用ufsrestore i命令从备份磁带恢复指定的文件。
成为root用户,同时改变你想接受恢复文件所到的临时目录。
# cd /export/home/tmp
执行ufsrestore i命令
# ufsrestore ivf /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.
3. Display the contents of the directory structure on the backup tape.
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
增加你想要恢复的文件
ufsrestore > add file1 file2
Make node ./directory1
你想要恢复的文件被标记上*号。如果你想要恢复一个目录,则这个目录下的所有文件都被标记上*号。
在这个例子中两个文件被标记为*号。用ls命令显示被标记的文件名,file1 和 file2。
ufsrestore > ls
./directory1:
3904 *./ 2 *../ 3905 *file1 3906 *file2 3907 file3
使用delete命令从恢复列表中删除文件
ufsrestore > delete file1
用ls命令看文件file1已经没有*号了。
ufsrestore > ls
./directory1:
3904 *./ 2 *../ 3905 file1 3906 *file2 3907 file3
看文件和目录的恢复标志,用marked命令
ufsrestore > marked
./directory1:
3904 *./ 2 *../ 3906 *file2
恢复从备份磁带上选择的文件,使用下面的命令
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.
set owner/mode for ‘.’? [yn] n
( ufsrestore命令发现要选择的文件。如果使用多盘磁带备份的话。首先放入卷编号最高的备份磁带。然后,重复这个过程一直到卷1进行所有文件的恢复。)
当文件恢复完以后,退出交互模式,执行下面的命令。
ufsrestore> quit
移动恢复的文件到它原来的目录或者永久目录然后从临时目录删除文件。
# mv /export/home/tmp/directory1/file2 /export/home
# rm -r /export/home/tmp/directory1
(在交互模式下你可以使用help命令进行可用命令的帮助)
执行增量恢复
当你执行增量恢复开始于最后的卷到第一个卷。系统使用信息在restoresymtable文件,恢复增量备份在最近全备的的上头。
下面的步骤演示如何从增量备份磁带上恢复/export/home文件系统。
查看/etc/dumpdates文件中关于/export/home文件系统的信息。
# more /etc/dumpdates |grep c0t0d0s7
/dev/rdsk/c0t0d0s7 0 Wed Apr 07 09:55:34 2004
/dev/rdsk/c0t0d0s7 1 Web Apr 07 09:57:30 2004
为/export/home文件系统创建一个新的文件系统结构。
# newfs /dev/rdsk/c0t0d0s7
Mount文件系统并且更改目录
# mount /dev/dsk/c0t0d0s7 /export/home
# cd /export/home
放入0级备份磁带。
从备份磁带恢复/export/home文件系统
# ufsrestore rvf /dev/rmt/0
Verify volume and initialize maps
Media block size is 64
Dump date: Wed Apr 07 09:55:34 2004
Dumped from: the epoch
Level 0 dump of /export/home on sys41:/dev/dsk/c0t0d0s7
Label: none
Begin level 0 restore
Initialize symbol table.
Extract directories from tape
Calculate extraction list.
Make node ./directory1
Make node ./directory2
Make node ./directory3
Extract new leaves.
Check pointing the restore
extract file ./file1
extract file ./file2
extract file ./file3
Add links
Set directory mode, owner, and times.
Check the symbol table.
Check pointing the restore
#
放入下一个较低级别的备份磁带
# ufsrestore rvf /dev/rmt/0
Verify volume and initialize maps
Media block size is 64
Dump date: Wed Apr 07 09:57:30 2004
Dumped from: Wed Apr 07 09:55:34 2004
Level 1 dump of /export/home on sys41:/dev/dsk/c0t0d0s7
Label: none
Begin incremental restore
Initialize symbol table.
Extract directories from tape
Mark entries to be removed.
Calculate node updates.
Make node ./directory4
Make node ./directory5
Make node ./directory6
Find unreferenced names.
Remove old nodes (directories).
Extract new leaves.
Check pointing the restore
extract file ./file4
extract file ./file5
extract file ./file6
Add links
Set directory mode, owner, and times.
Check the symbol table.
Check pointing the restore
#
选择性步骤
下面是进行步骤1和步骤2的选择。
1、从备份磁带恢复/export/home文件系统(这个例子使用交互方式,输出详细恢复的信息)
# ufsrestore ivf /dev/rmt/0
Verify volume and initialize maps
Media block size is 64
Dump date: Mon Oct 11 13:10:12 2004
Dumped from: the epoch
Level 0 dump of /export/home on sys41:/dev/dsk/c0t0d0s7
Label: none
Extract directories from tape
Initialize symbol table.
ufsrestore > ls
.:
2 *./ 8 directory2 5 file2
2 *../ 9 directory3 6 file3
7 directory1 4 file1 3 lost+found/
The system lists files from the last Level 0 backup.
ufsrestore > add *
Warning: ./lost+found: File exists
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 ./file1
extract file ./file2
extract file ./file3
extract file ./directory1
extract file ./directory2
extract file ./directory3
Add links
Set directory mode, owner, and times.
set owner/mode for ’.’? [yn] n
Directories already exist, set modes anyway? [yn] n
ufsrestore > q
#
2、显示/etc/dumpdates文件自备份级别0后的增量备份信息。放入下一盘磁带并执行增量备份。
# ufsrestore iv
Verify volume and initialize maps
Media block size is 64
Dump date: Wed Apr 07 09:57:30 2004
Dumped from: Wed Apr 07 09:55:34 2004
Level 1 dump of /export/home on sys41:/dev/dsk/c0t0d0s7
Label: none
Extract directories from tape
Initialize symbol table.
ufsrestore > ls
.:
2 *./ 13 directory4 15 directory6 11 file5
2 *../ 14 directory5 10 file4 12 file6
ufsrestore > add *
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 ./file4
extract file ./file5
extract file ./file6
extract file ./directory4
extract file ./directory5
extract file ./directory6
Add links
Set directory mode, owner, and times.
set owner/mode for ’.’? [yn] n
ufsrestore > q
#
阅读(3118) | 评论(1) | 转发(0) |