2011年(21)
分类: 系统运维
2011-05-19 17:06:54
AIX 4.x以及AIX 5L操作系统备份
Document #: 2811065F28000
Body:
[标题]AIX 4.x以及AIX 5L操作系统备份
内容提要:
本文档详细解释了如何创建和验证AIX 4.x 以及AIX 5L系统备份,主要内容包括:
n 为什么创建mksysb?
n mksysb 磁带映像
n mksysb 文件映像
n 创建一个磁带备份
n 验证
说明:
1. 为什么创建mksysb?
IBM AIX不同于其他UNIX有两个主要特点,对象数据库管理器(ODM)和逻辑卷管理器(LVM)。因为ODM,LVM和多卷组支持,用cpio或tar命令做完全系统备份一般不能正常恢复。在一个运行系统试图恢复那样的备份还可能导致系统崩溃。创建一个mksysb 到磁带设备产生一个可引导的磁带,将允许系统的ODM和LVM被正确地恢复。
2.mksysb 磁带映像
在mksysb磁带上有四个映像,其中第四个映像仅包含rootvg JFS安装的(mounted)文件系统。用于创建引导磁带的磁带设备必须是本地设备。
以下是mksysb 四个映像的简单描述:
+---------------------------------------------------------+
| Bosboot | Mkinsttape | Dummy TOC | rootvg |
| Image | Image | Image | data |
|-----------+--------------+-------------+----------------|
|<----------- Block size 512 ----------->| Blksz defined |
| | by the device |
+---------------------------------------------------------+
映像(Image)#1: bosboot 映像包含引导所要用到的系统内核和一些特点设备的驱动程序。
块长度(blocksize): 512
格式: 单纯映像(raw image )
文件: 内核,设备驱动
映像(Image)#2:mkinsttape 包含当引导至维护模式时被调入到RAM文件系统的文件。
块长度(blocksize): 512
格式: backbyname
文件: ./image.data, ./tapeblksz, ./bosinst.data 及命令
映像(Image)#3: dummy 映像仅包含一个文件,其内容为:“dummy toc”。
映像(Image) #4: rootvg 映像包含从rootvg 卷组而来的数据。
块长度(blocksize): 由磁带设备配置参赛决定。
格式: backbyname
文件: rootvg, 装入的(mounted)JFS文件系统
警告:如果设备块长度blocksize 被设置为0, mksysb将在第四个映像中使用一个固定值(hardcoded),这可能导致创建或者重储的时间增大5-10倍。
3.mksysb 文件映像
创建mksysb到一个文件将产生一个不可引导的单一映像备份,通过它恢复的备份仅包含rootvg JFS 装入的文件系统。
4.创建系统备份到一个磁带设备
注意:mksysb 磁带只有在它被创建到一个磁带设备才是可引导的。
(1) 使用 smit菜单:
a. 执行命令:smit mksysb。一个对话框将出现。
b. 输入正确的设备名,按回车键开始,如果需要不止一个磁带,smit将提示用户换磁带。
smit mksysb
Backup DEVICE or FILE [/dev/rmt#]
Create MAP files? no
EXCLUDE files? no
List files as they are backed up? no
Generate new /image.data file? yes
EXPAND /tmp if needed? yes
Disable software packing of backup? no
Number of BLOCKS to write in a single output [ ]
(Leave blank to use a system default)
(2) 使用命令:
# mksysb -i /dev/rmt# 2>/tmp/mksysb.err
创建一个mksysb
(1)文件系统/tmp 必须至少有12MB 的可用空间。
(2)查看系统当前有多少个卷组,它们位于哪些磁盘,和每个磁盘的位置。
# lsvg
# lsvg -p
# lsdev -Cc disk
创建mksysb 映像文件的过程和创建引导磁带的过程基本一致,只是在备份设备要指定目标文件名,而不是磁带设备名。
5.验证
完全验证一个系统备份是否成功的唯一方法是在另一台机器上恢复备份,观察其是否如预期所希望的那么工作。下列验证只是针对于可能的介质损坏。
警告:这些测试只是针对于磁带上数据的“读”测试,并不能保证mksysb就一定可以恢复成功。
数据验证
(1) 使用SMIT 命令 smit lsmksysb ,在对话框出现后键入相应的数据。
(2) 执行以下命令:
# tctl -f /dev/rmt# rewind
# restore -s4 -Tvqf /dev/rmt#.1 > /tmp/mksysb.log
引导验证:
测试mksysb 磁带能否成功引导的唯一方法就是关机,然后用磁带去启动。不需要做数据恢复。
(1) 查看 PROMPT.
# chdev -l rmt# -a block_size=512
# tctl -f /dev/rmt# rewind
# cd /tmp
# restore -s2 -xvqf /dev/rmt#.1 ./bosinst.data
检查control_flow 节(stanza)中的PROMPT 值。
(2) 启动到维护模式
(3) 在正常情况下,系统可能询问console的显示方式,然后显示系统安装和维护菜单。
备份对于一个系统管理员来讲非常重要,有效的备份不是万能的,但没有备份是万万不可的。因此对系统的备份是系统管理员经常要做的事情, 主要包括rootvg备份和用户数据备份.如果一个系统没有相应的备份,无异于等死。下面是笔者在实际工作中体会的一些经验和在网站上搜集的一些资料的整理,因为备份的方式方法很多,要根据实际情况灵活的运用,希望能够“他山之石,可以攻玉”,纰漏之处,还请见谅。
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 /image.data 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命令用于将一个软盘中的内容拷贝到另一张软盘上。