2024年1月30日发(作者:)
AIX环境下用磁带进行备份与恢复工作的一点总结
AIX操作系统下的用磁带进行备份操作步骤:
将一盘新磁带或无用磁带插入磁带机
#tctl -f /dev/rmt0 rewind (重绕磁带设备)
1,系统备份
#smit mksysb
Backup DEVICE or FILE [ /dev/rmt0]
Create MAP files? no
EXCLUDE files? no
List files as they are backed up? no
Generate new / file? yes
EXPAND /tmp if needed? no
Disable software packing of backup? no
Number of BLOCKS to write in a single output []
# (Leave blank to use a system default)
在Backup DEVICE or FILE项中,按F4或Esc+4 选择系统给出的提示值,一般磁带机设备名为/dev/rmt0,其余参数默认。然后回车,开始系统备份在"备份设备或文件"中添入"/dev/rmt0"后回车. 系统会运行很长时间, 等到屏幕显示OK后拿出磁带. 这时候, 系统备份完成.
注意: mksysb仅备份rootvg中已安装的文件系统.
2. 用户数据备份
常用磁带机选项
/dev/rmt0: 若选择/dev/rmt0, 在插入磁带和写完一次磁带时, 磁带机都将磁带 反绕到头. 因此, 下一次备份文件将覆盖本次备份.
/dev/rmt0.1: 若选择/dev/rmt0.1, 则插入磁带和写完一次磁带时, 磁带机均不反绕磁带. 因此, 一盘磁带可以连续备份几个文件或文件系统.
#smit fs
会列出以下选项:
List All File Systems
List All Mounted File Syste
Add / Change / Show / Delet
Mount a File System
Mount a Group of File Syste
Unmount a File System
Unmount a Group of File Sys
Verify a File System
Backup a File System
Restore a File System
List Contents of a Backup
选择Backup a File System
This option will perform a backup by inode.
* FILESYSTEM to backup [/home] +/
(Esc+4 会列出系统中所有的文件系统,通过列表选择要备份的文件系统,例如/home)
* Backup DEVICE [/dev/rmt0.1] +/
(Esc+4 会列出系统中所有的用于备份的所有设备,通过列表选择或添加要进行备份的设备(/dev/rmt0,/dev/fd0),例如/dev/rmt0.1,)
Backup LEVEL (0 for a full backup) [0] #
RECORD backup in /etc/dumpdates? no +
重复上述操作即可在同一盘磁带上备份多个文件系统.
附: /dev/rmt0 和/dev/rmt0.* 区别
Rmtx.x详解
低密度 打开时不倒带保持磁带原位置 关闭后倒带
/dev/rmtx no no yes
/dev/rmtx.1 no no no
/dev/rmtx.2 no yes yes
/dev/rmtx.3 no yes no
/dev/rmtx.4 yes no yes
/dev/rmtx.5 yes no no
/dev/rmtx.6 yes yes yes
/dev/rmtx.7 yes yes no
/dev/rmtx.N N=A+B+C
A=Density B=Retension C=Rewind on close
4=QIC120=120MB 2=yes 1=Do Not rewind
0=QIC150=150MB 0=no 0=Rewind
3. rootvg的恢复
启动机器进入维护模式(参见安装手册), 当出现"Welcome to Base Operating System Installation and Maintanence"时,
选3 "Start Maintenance Mode for System Recovery"
恢复系统
继续选4 "Install from a System Backup"
出现"Choose mksysb Device"画面, 选"/dev/rmt0"并插入磁带后回车.这时自动恢复操作系统.
4. 用户数据恢复
#tctl -f /dev/rmt0 rewind
#smit fs
会列出以下选项
List All File Systems
List All Mounted File Syste
Add / Change / Show / Delet
Mount a File System
Mount a Group of File Syste
Unmount a File System
Unmount a Group of File Sys
Verify a File System
候, 系统
Backup a File System
Restore a File System
List Contents of a Backup
选择Restore a File System
输出结果如下:
Restore a File System
* Restore DEVICE [/dev/rmt0] +/
(Esc+4 会列出系统中所有的用于恢复的所有设备,通过列表选择或添加要进行恢复的设备(/dev/rmt0,/dev/fd0),例如/dev/rmt0)
* Target DIRECTORY [/] /
(输入要进行系统恢复的文件系统的目标目录)
VERBOSE output? yes +
Number of BLOCKS to read in a single input [] #
operation
系统会自动找到相应目录恢复.
5.用tar命令进行文件的备份及其恢复
tar是unix中的一个常用的命令,也是一个很重要的命令。tar命令将磁盘上的文件拷贝到档案媒体上(比如:软盘到硬盘,也可以是硬盘到软盘),或把档案媒体上记录的数据恢复成磁盘上的文件。遇到错误时,t ar命令不提供任何恢复操作。
tar cvf /dev/rmt0 file1 file2 file3(文件名) 将磁盘中的文件备份到磁带
tar rvf /dev/rmt0 file1 file2 file3(文件名) 将磁盘中的文件追加到以前备份的文件后面
tar uvf /dev/rmt0 file1 file2 file3 dir(文件名) 将磁盘上的文件追加到以前备份的文件后面,
tar tvf /dev/rmt0 查看备份到磁带中的文件
tar tvf /dev/rmt0 > stlist 查看备份磁带内容并输出到文件
tar xvf /dev/rmt0 将磁带上的备份文件恢复到当前目录
注:tar cvf 是从头写 tar rvf 是接着写(硬写) tar uvf是不覆盖追加
6.用cpio向软盘或磁带转存文件
使用cpio命令可将硬盘文件拷贝到磁带或软盘上。
例如,将当前目录下所有以C为后缀的文件拷贝到软盘上:
ls *.C | cpio -ov > /dev/rfd0
例如,将当前目录的所有文件和子目录拷贝到软盘上:
find . -print | cpio -ov > /dev/rfd0
使用cpio命令可将文件从软盘或磁带拷贝恢复到硬盘上。
例如,将软盘的文件拷贝到硬盘:
cpio -iv < /dev/rfd0
例如,列出fd0的文件:
cpio -itr < /dev/rfd0
例如,将软盘的文件拷贝到当前目录:
cpio -idmv < /dev/rfd0
IBM AIX 系统备份与恢复专题FAQ
1. Q:我以前用smitty mksysb 备份了aix到磁带里,现在想清空这盒磁带备份新的aix,请问该用什么命令才能清空磁带?
A:1.用tar cvf /dev/rmt0 ( 测试过)
2.#tctl -f /dev/rmt0 erase
2. Q:如何备份裸设备
AIX中mksysb和savevg都只备份mount的文件系统,如果想备份裸设备,可选择用dd命令,将裸设备中的内容硬拷贝成文件。较完善的方法是选择成熟软件,如IBM的SYSBACK或Storix Backup Administrator for AIX(该软件可从上下载)
3. Q:如何实现两台UNIX之间的磁带拷贝
A:执行下列命令,利用网络实现磁带拷贝
tar cvfbX - . | compress | rsh AIXMACHINE "uncompress | dd of=/dev/rmt0 obs=20b"
注意:两台UNIX网络设置应允许rsh工作正常
4. Q:如何格式化软盘
A:format -d /dev/rfd0
注意:在UNIX系统中格式化的软盘不能在DOS中使用。
5. Q:如何软盘拷贝
A:flcopy命令用于将一个软盘中的内容拷贝到另一张软盘上。
在AIX中可以使用mksysb对系统rootvg进行备份,对于其他用户卷组该如何备份?在本文将着重介绍在AIX中如何创建、验证和恢复用户卷组的备份。
为什么使用savevg 命令?
由于在AIX中 mksysb命令只能备份rootvg中文件系统的内容,所以还需要有其他途径来备份用户卷组上的内容。使用系统中的savevg 命令就可为用户卷组 创建一卷组备份,使用restvg 命令恢复savevg 所做的备份映像 ,包括重新创建用户卷组、逻辑卷和文件系统等操作。
需要注意的是,所有用户卷组上的逻辑卷的定义会写到备份设备上并在重建卷组时创建,但只有已mount的文件系统中的内容才会在执行savevg命令 时备份到备份介质上。Savevg命令不能备份裸设备上的内容。
Savevg 的磁带介质映像
与mksysb 不同的是,用savevg命令创建的备份磁带不能用于引导系统。
无论savevg命令中备份设备选择是磁带还是 系统文件,在其上都没有引导区,只有一个数据映像。
用savevg 创建备份
使用smit 菜单, 选择合适 的备份设备或文件名,以及用户卷组名。 如果备份内容较多需要多盘磁带,系统会在运行中提示换磁带。
#smit savevg
Backup DEVICE or FILE [ ]
VOLUME GROUP to back up [ ]
List files as they are backed up? no
Generate new file? yes
Create MAP files? no
EXCLUDE files? no
EXPAND /tmp if needed? no
Disable software packing of backup? no
Number of BLOCKS to write in a single output [ ]
(Leave blank to use a system default)
若使用命令行,可键入:
# savevg -if /dev/rmt# vgname 2 > /tmp/
注意:
a. 进行备份的用户卷组必须是 varyon,其上的文件系统是 mount。
b. 当将savgvg 结果写到磁带上时,该磁带是不可用于引导系统的;
c. 不要追加(append)写到 一盘已用的磁带上,因为在使用restvg 恢复 savevg 的映像时要求必须是磁带上的第一个映像区。
验证savevg的映像
验证 备份带可用的最好办法就是将其恢复到另一台服务器上。
一个简单的方法是从备份带中能读出备份的内容:
# smit lsbackvg
DEVICE or FILE [/dev/rmt#]
Number of BLOCKS to read in a single input [ ]
(Leave blank to use a system default)
此命令将会列出所有备份到磁带上的文件名,确保了磁带是可正确读入。
也可用命令行来验证映像可读,键入:
#restore -Tvqf /dev/rmt#.1 > /tmp/
恢复savevg 的映像
恢复savevg的映像,使用restvg 命令。该命令用于从savevg 命令创建的用户卷组映像中恢复一用户卷组,逻辑卷和文件系统中的内容。
在恢复前要确定有哪些hdisk 是空闲、可用的,这些hdisk 不能被当前系统中任何已定义的卷组所使用,要列出所有用于恢复用户卷组的 hdisk。
#smit restvg
Restore DEVICE or FILE [/dev/rmt0]
SHRINK the filesystems? no
PHYSICAL VOLUME names [ ]
(Leave blank to use the PHYSICAL VOLUMES listed
in the file in the backup image)
Number of BLOCKS to read in a single input [ ]
(Leave blank to use a system default)
命令完成后,在所指定的hdisk上就创建了一个savevg 所备份的用户卷组。
其命令行方式为:
#restvg -f /dev/rmt# hdisk# {hdisk# ...}
也可从savevg的映像中恢复某一目录或单独的文件,此时 savevg就象是普通的 备份映像(backup/restore)。在savevg 映像中所有文件都是按相对路径进行备份的。
例如:
# restore -xvqf /dev/rmt# ./path/file_to_restore
将 /path 目录下的 文件 file 恢复到当前目录
如何验证所做的系统备份是否可用?
系统备份(mksysb)的介质可以是磁带,也可以是CD和DVD。想要验证所做的系统备份是否可用,比较简单且最可靠的办法是找一台闲机器试着恢复一遍。在不允许恢复的情况下,可以用lsmksysb或listvgbackup命令来列出系统备份的内容,如果系统备份是用磁带做的,也可以验证系统备份rootvg中每个文件的头是否可读。
例如,要列出cd0上的系统备份的内容,用下面的命令:
# listvgbackup -f /dev/cd0
或
# lsmksysb -f /dev/cd0
要验证rmt0上的系统备份rootvg中每个文件头的可读性,命令如下:
# lsmksysb -V -f /dev/rmt0
或
# listvgbackup -V -f /dev/rmt0
还可以用smit verifybackup来验证系统备份。
实际上listvgbackup命令是调用lsmksysb命令来完成验证系统备份的,listvgbackup命令是一个Shell脚本程序。这两个命令只能对备份介质上的大部分信息进行验证,并不能验证介质是否可以引导恢复或引导安装,要验证系统备份介质是否可以正常引导机器,惟一的办法是试着从系统备份介质引导机器。


发布评论