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系统。

时间: 2024-11-17 10:18:40

AIX下删除LV后的现场保护方法和数据恢复方案的相关文章

AIX下删除LV后的现场保护和数据恢复方案

在AIX环境下,因维护误操作.存储mapping错误等,不小心将LV误删除,这种损失通常是巨大的.删除后的不当保护及恢复操作可能使数据无法恢复,也可能增加处理的时间与算法复杂度.如何有效保护现场,并选择正确的数据恢复方案是非常重要的. AIX的存储层有太多文章描述,做为铺垫,简要描述一下.PV相当于物理磁盘(对于存储,是存储映射过来的卷,对于操作系统而言,等同于物理硬盘),若干个PV组成一个VG,意味着可以将容量不同的存储空间合起来统一分配.为了实现这个目的,AIX把同一个VG的所有PV按相同大

在AIX下新建LV 4K偏移量问题

问题现象: 在AIX下新建LV,然后在LV上建表空间,出现WARNING(Oracle recommends creating new datafiles on devices with zero offset) alter tablespace ZJ_DATA add datafile '/dev/rdata40_disk' size 2500M Wed Apr 27 22:45:36 2011 WARNING: You are creating datafile /dev/rdata41_d

DOS下删除文件和文件夹的方法

  在dos下删除文件夹或文件,先要确定文件夹或文件是否有特殊的属性,比如"系统"."只读"."隐藏",如果有,去掉这些属性,命令如下: 文件夹: attrib c:windows -s -r -h 文件:attrib -s -h -r c:windowsautorun.inf 删除命令如下 两种方案: 一.用rd内部命令 若你要删除的文件夹没有子文件夹,可以先用"cd 目录"进入欲删除目录 ,然后用del *.* 把所在的文

dos下删除文件夹和文件的方法_DOS/BAT

在dos下删除文件夹或文件,先要确定文件夹或文件是否有特殊的属性,比如"系统"."只读"."隐藏",如果有,去掉这些属性,命令如下 文件夹: attrib c:\windows -s -r -h  文件:attrib -s -h -r c:\windows\autorun.inf 删除命令如下, 删除文件夹(空):rd c:\windows  删除文件:del c:\windows\autorun.inf 注:如果是当前路径下操作,可以省略路径.

aix 下删除一个卷组vg

公司今天要删除一个asm磁盘组,这个磁盘组对应的卷组也要被删掉,释放硬盘空间.处理如下:删除datavg卷组 # lsvg -l datavgdatavg:LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINTlv_asm              jfs        2400    2400    2    closed/syncd  N/A# lspv            hdisk0  

Win7旗舰版系统下删除文件后不在回收站怎么办

  1.在win7系统桌面上鼠标右击"回收站"图标上选择"属性",打开"回收站属性"窗口; 2.在打开"回收站属性"窗口中,会发现在"选定位置的设置"处选择了"不将文件移到回收站中.移除文件后立即将其删除,这样才导致文件会被直接删除",这就是导致文件删除后不被放在回收站的原因了; 3.然后将其改为"自定义大小",并设置文件或文件夹删除后存放在回收站的最大容量,建议容量

win7系统下删除IE浏览器中证书的方法

由于siyue重装Win7系统之前办过网银证书,之后导入了错误的证书,这里说下如何删除证书. 一般的证书在IE浏览器属性的"内容"->"证书"那就可以删除,但是我的在这里没有显示,因此找了别的方法,分享给大家. 看看我的IE属性中的证书,在个人和其他标签中都没找到要删除的证书: 这种时候的删除方法: 1.点击"开始"按钮,输入"mmc",按下回车键.出现控制台. 2.在打开的"控制台"窗口中点击&qu

GridView控件点击删除按钮,删除成功后重新绑定数据,可是数据未能及时更新,需得重新打开页面才能更新

问题描述 GridView控件点击删除按钮,删除成功后重新绑定数据,可是数据未能及时更新,需得重新打开页面才能更新,急求解答!!!! 解决方案 解决方案二:没人呢?解决方案三:不可能的,看下你代码解决方案四:确定是在你删除以后重新绑定的?解决方案五:在删除成功后,要重新绑定.解决方案六:你打开页面有个查询绑定的方法,在删除成功后再次调用这个方法就行最好代码放上来...解决方案七:DataBind()解决方案八:参考:解决方案九: 解决方案十:这个要看一下你写的代码...重新绑定了就不需要刷新..

手动删除IE加载项的方法

怎么手动删除IE的加载项呢?对于不方便安装软件的用户来说是不是就不能删除IE加载项了呢?这里小编就为大家介绍一个在无需任何第三方软件的情况下删除IE加载项的方法. 1.先单击"开始",在搜素框里面输入"regedit",按下 Enter 键打开注册表编辑器. 2.将注册表展开至如下路径 HKEY_CLASSES_ROOTWow6432NodeCLSID 3.将注册表最小化,在打开IE浏览器,单击"工具",选择"管理加载项".