环境:
AIX7.2,
用lsmksysb找出磁带机/dev/rmt1中的mksysb生成的
rootvg.abc镜像文件路径,且listvgsysb提取该文件,再restore提取里面的/log文件夹到文件夹/123里,
# 倒带
tctl -f /dev/rmt1 rewind
# 查image.data备份块大小:
tar -tf /dev/rmt1 | grep image.data && grep "backup_block_size" image.data
# 列出磁带机 rootvg.abc
lsmksysb -v -f -b512 /dev/rmt1 | grep rootvg.abc
# tar速度快 2-3 倍
tar -tf /dev/rmt1 | grep 'rootvg.*'
# 提取
listvgsysb -f /dev/rmt1 ./rootvg.abc -o /tmp/rootvg.abc
# 再提取文件夹
restore -xqf /tmp/rootvg.abc /log -d /123
…………………………………………
# 1. 查mksysb备份块大小:
restore -xqf /dev/rmt1 ./image.data && grep "backup_block_size" image.data
# 2. 查磁带机当前块大小:
lsattr -El rmt1 | grep "block_size"
# 3. 调整磁带机块大小与备份一致(若不一致):
chdev -l rmt1 -a block_size=4096 -P
# 4096替换为实际备份块大小,-P表示永久生效
# 让重新配置设备生效
cfgmgr -l rmt1
…………………………………………
# 查看磁带机型号
lsdev -Cc tape
[块大小]
# 查看磁带卷标(块大小)
tctl -f /dev/rmt1 label
# 输出
BACKUP_BLOCK_SIZE=4096
BACKUP_METHOD=mksysb
# 搜索包含mksysb的命令历史
history | grep "mksysb"
或者
# 查询磁带机支持的最大块大小:
lsattr -El rmt1 | grep 'block size' 输出:block_size 65536
或者
lsattr -l rmt1 -E | grep -i "block\|bs"
# 使用最大块大小运行命令:
lsmksysb -b 65536 -f /dev/rmt1 # 块大小需与磁带机支持值一致
@@@
# tar速度比 lsmksysb 快 2-3 倍
tar -tf /dev/rmt1 | grep 'rootvg.abc'
# 首次加载生成缓存
lsmksysb -f /dev/rmt1 > /tmp/mksysb_cache.txt
# 后续直接查询缓存
grep 'rootvg.abc' /tmp/mksysb_cache.txt
# 过滤无关文件:
lsmksysb -f /dev/rmt1 | grep -vE '^(/dev|/proc|/sys)' > /tmp/mksysb.list
# 仅保留用户数据文件
# 将磁带分割为 1GB 块
split -b 1G /dev/rmt1 /tmp/tape_part_
# 多线程搜索
find /tmp/tape_part_* -exec grep 'rootvg.abc' {} \;
# 执行全面诊断
itdt -f /dev/rmt1 extended_test
# 观察 %tm_act(磁带机繁忙度)和 %wa(I/O 等待时间)
topas -d 5
…………………………………………
#!/bin/ksh
# 优化版 lsmksysb 脚本
tctl -f /dev/rmt1 rewind
ioo -o async_read=true
renice -n -10 $$
lsmksysb -b 65536 -f /dev/rmt1 | grep 'rootvg.abc'
…………………………………………
浙公网安备 33010602011771号