AIX误删除LV后如何进行现场保护和数据恢复工作
在AIX环境下,若因维护误操作、存储mapping错误等,不小心将LV误删除,这种损失通常是巨大的。删除后的不当保护及恢复操作可能使数据无法恢复,也可能增加处理的时间与算法复杂度。如何有效保护现场,并选择正确的数据恢复方案是非常重要的。
AIX的存储层有太多文章描述,做为铺垫,简要描述一下。PV相当于物理磁盘(对于存储,是存储映射过来的卷,对于操作系统而言,等同于物理硬盘),若干个PV组成一个VG,意味着可以将容量不同的存储空间合起来统一分配。为了实现这个目的,AIX把同一个VG的所有PV按相同大小的存储颗粒进行空间编排,这个存储颗粒就是PP。而分配空间时,以若干个PP(可能是不同PV上的),做为使用集合,这个集合就是LV。
AIX的LVM层VGDA区域有一个固定的PP到LV的映射表,称为PPMAP。每个PV的所有PP从第一个(PP#1)开始,以固定大小的32个字节记录本PP归属于哪个LV。删除AIX中VG的某个LV,底层上最根本的就是释放这个LV原先占用的PP,也就是清0之前所有占用PP的32字节PPMAP条目,另外还会做一些诸如LV名称的清理、LV设备摘要信息的清理等工作。
LV被删除后,不建议贸然尝试用mklv等操作试图进行灾难恢复。虽然mklv本质上不会清除pp内容区,但有些情况会损坏数据,比如:如果故障前后的PP分配表不相同,但前面PP表分配正确,这样,文件系统可能可以识别,甚至于可以挂上。不过,麻烦的是,挂上后某些结构可能会出现错误,以至于被系统自动修正,事情就会变得更糟。即便是只读方式mount,也不是最优选的做法。
如果时间允许,AIX LV删除后的恢复方案大致为:
1、保持VG状态,不新建任何LV。
2、使用备份手段,对VG中所有的PV做完整镜像。
3、在镜像中进行数据提取恢复。或保护镜像后以分析好的PPMAP,重建丢失的LV。
上述方案的宗旨为:所有操作尽可能可回溯。
【如何完整镜像故障卷】
来说说如何对AIX中的PV做完整镜像(从目前的数据恢复技术看,多数处理和分析过程首选是WINDOWS环境,所以,镜像方案尽量兼顾镜像出来的数据可以在WINDOWS下直接访问):
第一种方法:如果存储自身有卷镜像功能,可以尝试之。
第二种方法:如果AIX环境中有足够空间,放得下需要镜像的pv,可以将pv镜像成文件(或LV)。如果是文件,可以通过FTP等手段传出来。(不建议此方法)
第三种方法:另外构建一台NFS server,以nfs的方式用dd将pv镜像到nfs上。当然如果aix上可以挂载cifs,甚至于直接可以镜像到windows的共享文件夹下。但windows下如果生成大文件,有可能会越来越慢,可以尽量使用WINDOWS2008或选择其他方案。
第四种方法:建议的方案。具体为构建块设备mapping至aix环境,直接以块设备至块设备的方法进行镜像。可选择的块设备有fc lun,iscsi等。如果不具备fc环境的支撑,至少iscsi(可以是软iscsi)是足够好的方案。
以windows端做iscsi target,AIX环境做iscsi initiator为例,下面为详细过程:
1、在配置网络环境,保证AIX与WINDOWS网络可通。
2、在WINDOWS上搭建ISCSI TARGET,以 下图starwind为例,创建了一个名称为pv0的iscsi磁盘。
图一:

3、返回aix平台,确定是否安装iscsi initiator:
lsdev |grep iscsi,如果提示“iscsi0 Available iSCSI Protocol Device” 表示ISCSI客户端已经安装,设备号是iscsi0。也可以用lslpp -L|grep -i iscsi 确认是否已经安装了ISCSI软件包。如未安装,先安装iscsi initiator。
4、修改aix环境中/etc/iscsi/targets文件,在最后增加一行(本例中windows iscsi target的ip是192.168.1.9,iqn见上图)。192.168.1.9 3260 iqn.2008-08.com.starwindsoftware:tel-pv0
5、在aix平台执行cfgmgr -l iscsi0 (见步骤3中的设备号),重新扫描iscsi设备。
6、lspv 查看是否识别到iscsi设备。本例结果如下:
图二:

可以看到hdisk3已经认到,可以使用lsattr -El hdisk3 查看设备详细情况,命令结果为:
图三:

可以看到明确的iscsi设备细节,还可以通过bootinfo -s hdisk3查看目标iscsi容量是否正确(单位为MB,本例为演示,仅创建了个大小为4GB的ISCSI存储卷)。
图四:

7、使用dd命令对故障存储做完整镜像(建议使用块设备路径进行镜像):ddif=/dev/rhdisk0 of=/dev/rhdisk3 bs=4096k conv=noerror,sync。
【AIX LV误删除数据恢复方案】
在完整备份故障PV后,就可以着手恢复数据了。大致有3种方案可对数据进行恢复
方案一:
分析得到原LV的PPMAP,之后通过mklv -m <指定的ppmap文件>的方式重建与原先LV相同的分配表,以激活原LV,从而恢复数据。
方案二:
分析得到原LV的PPMAP,直接通过第三方软件(北亚开发有WINDOWS端的JFS2文件系统解释软件)进行JFS2文件系统解释。如果是裸设备(RAW),可完整读出后再重新按块写回。
方案三:
如果原LV中存储的是ORACLE数据库,可以针对oracle数据文件的特征,以碎片的方式,从所有PP中提取并组合好所有的特定数据文件,再灾难方式恢复oracle系统。
AIX误删除LV后如何进行现场保护和数据恢复工作的更多相关文章
- CORTEX-M3中断的现场保护问题
在<Cortex-M3 Devices Generic User Guide.pdf>中介绍了异常入栈和出栈的情况,详见2.3 Exception model.Cortex-M3内核的寄存 ...
- AIX采用LV创ASM磁盘组
CREATE ASM ON AIX LV DEVICE OS:AIX 6100-03 ASM版本号 10205 # lspv hdisk0 000d295a6d68902b ...
- Windows已遇到关键问题,将在一分钟后自动重新启动,请立即保存工作
Windows已遇到关键问题,将在一分钟后自动重新启动,请立即保存工作 1. 把电脑右下角网络断开 2.同时按 "WIN+R" 打开“运行”命令窗口 输入“cmd”命令,按回车键“ ...
- AIX存储LV PV VG (转载)
1.基本概念:PV 物理卷:普通的直接访问的存储设备,有固定的和可移动的之分,代表性的就是硬盘.vg 卷组:AIX中最大的存储单位,一个卷组由一组物理硬盘组成,也就是由一个或多个物理卷组成.pp 物理 ...
- aix创建lv 在lv上创建文件系统
创建LV命令: mklv -y softlv -t jfs2 rootvg 15G 创建文件系统命令: crfs -v jfs2 -d/dev/softlv -m /soft -A yes 把soft ...
- Android 学习笔记之实时保存数据-现场保护onSaveInstanceState()
数据保存:在软件开发中我们希望保存下各个Activity数据,以实现客户数据的时时保存,达到较好的用户体验. 那么我们需要解决如下问题: 1.什么时候保存? 2.保存哪些数据? 我想保存应用产 ...
- IBM AIX创建lv
#lsvg 查看当前有哪些vgrootvgvgdb02vgdb01datavg#lslv maindb_index 查看maindb_index这个lv 位于哪个vg上,新的lv也要与之相同.LOGI ...
- AIX系统崩溃后oracle数据库的恢复方法
首先要确保数据库实例的完整性,包括控制文件,日志文件,表空间(系统表空间.用户表空间等). 新建同名数据库实例(表空间.用户等不需要). Sql>shutdown immediate关闭数据库 ...
- aix vg lv pv
lsvg lsvg -o lsvg rootvg 查看rootvg的信息 lsvg -p rootvg 查看rootvg卷里的物理硬盘以及分布信息 lsvg -l rootvg 查看rootvg卷下的 ...
随机推荐
- mac 下安装securecrt
下载文件链接中附带的文件. 1.先找到secureCRT的包内容,进入MACOS文件夹.替换crack中的secureCRT文件. 2.断网.进入软件,显示你的验证码过期.点continue.选择手动 ...
- ThinkPHP数据字段的缓存问题
在使用ThinkPHP开发应用时,在项目运行后会在应用(Application)目录下产生一个Runtime缓存文件夹 在生成Runtime之后,若改变数据表的字段结构,则在PHP代码中无法为新的字段 ...
- 解决ecshop进入后台服务器出现500的问题
ecshop安装完成以后,前台页面打开正常,但是后台页面大家会出现500错误,看了很多的论坛和网站,删除过top.htm里面的JS代码的,.htaccess文件的修改的,都没有解决,后来找到原因, 原 ...
- 【树莓派】h2数据库操作相关
之前在树莓派上面操作时候,遇到一些业务方面的bug,和团队中的同事经过多次尝试,但就是难以重现用户现场的问题. 但是问题却实实在在地发生,虽然并不是必然可重现的bug,但是也比较闹心: 发生了问题,也 ...
- Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程
1.选取三台服务器(CentOS系统64位) 114.55.246.88 主节点 114.55.246.77 从节点 114.55.246.93 从节点 之后的操作如果是用普通用户操作的话也必须知道r ...
- css3渐变生成器网页
http://westciv.com/tools/gradients/ http://www.colorzilla.com/gradient-editor/
- python如何保证输入键入数字
要求:python写一个要求用户输入数字,如果不是数字就一直循环要求输入,直到输入数字为止的代码 错误打开方式: while True: ten=input('Enter a number:') if ...
- React文档翻译系列(一)安装
原文地址:原文 本系列是针对React文档进行的翻译,因为自己在学习react的时候,最开始通过看博客或者论坛等中文资料,有些内容是零零散散的接收,并没有给自己带来很好的效果,所以后来决定把文档的原文 ...
- PMP和PRINCE2应该选择哪个?光环国际项目管理认证
对于项目管理课程的选择,我们不能盲目地做选择,一定要从自身实际出发.从来都没有更好的课程,只有更合适自己的课程. 那么,如何选择合适自己的项目管理课程呢? 让我们从PMP与PRINCE2之间的差异开始 ...
- 光环国际的PRINCE2培训是怎么上课的?
一.面授班级: 基础级:3天知识精讲(含案例分享+现场演练) 上课时间:上午9:00-12:00,下午1:30-4:30分 考试时间:第3天课程结束后5:30-6:30分 1 个小时闭卷考试 专业 ...