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

[复制链接]
  • TA的每日心情
    开心
    2015-2-11 15:23
  • 签到天数: 4 天

    [LV.2]九品芝麻官

    23

    主题

    17

    回帖

    400

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    400
    发表于 2013-1-24 22:55:41 | 显示全部楼层 |阅读模式
    在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磁盘。
    d1.png
        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设备。本例结果如下:
    d2.png
            可以看到hdisk3已经认到,可以使用lsattr -El hdisk3  查看设备详细情况,命令结果为:
    d3.png
            可以看到明确的iscsi设备细节,还可以通过bootinfo -s hdisk3查看目标iscsi容量是否正确(单位为MB,本例为演示,仅创建了个大小为4GB的ISCSI存储卷)
    d4.png
        7、使用dd命令对故障存储做完整镜像(建议使用块设备路径进行镜像):
    dd if=/dev/rhdisk0 of=/dev/rhdisk3   bs=4096k   conv=noerror,sync
    更详细部分,可参考之前的文章:<如何为IBM AIX的数据卷做完整镜像> 以及 <最全面的关于LINUX与UNIX下的dd命令详解>
    【AIX LV误删除数据恢复方案】
        在完整备份故障PV后,就可以着手恢复数据了。大致有3种方案可对数据进行恢复
        方案一:
            分析得到原LV的PPMAP,之后通过mklv -m <指定的ppmap文件>的方式重建与原先LV相同的分配表,以激活原LV,从而恢复数据。
        方案二:
            分析得到原LV的PPMAP,直接通过第三方软件(北亚开发有WINDOWS端的JFS2文件系统解释软件)进行JFS2文件系统解释。如果是裸设备(RAW),可完整读出后再重新按块写回。
        方案三:
            如果原LV中存储的是ORACLE数据库,可以针对oracle数据文件的特征,以碎片的方式,从所有PP中提取并组合好所有的特定数据文件,再灾难方式恢复oracle系统。
  • TA的每日心情
    开心
    2015-2-11 15:23
  • 签到天数: 4 天

    [LV.2]九品芝麻官

    23

    主题

    17

    回帖

    400

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    400
     楼主| 发表于 2013-1-25 00:18:51 | 显示全部楼层
    自己过来坐个沙发吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-3-28 21:52
  • 签到天数: 29 天

    [LV.4]七品知县

    2

    主题

    180

    回帖

    489

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    489
    QQ
    发表于 2013-1-28 08:53:32 | 显示全部楼层
    收藏了,這是什麽軟件,虛擬磁盤軟件還是虛擬機?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14

    主题

    899

    回帖

    1740

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1740
    发表于 2013-2-7 11:00:24 | 显示全部楼层
    太高端了,AIX见都还没见过。。。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-9-26 10:29
  • 签到天数: 69 天

    [LV.6]五品郎中

    1

    主题

    546

    回帖

    619

    积分

    [INTOHARD]连长

    Rank: 4

    积分
    619
    发表于 2013-2-7 11:36:30 | 显示全部楼层
    俺也没碰到过~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11

    主题

    498

    回帖

    1814

    积分

    [INTOHARD]营长

    Rank: 6Rank: 6

    积分
    1814
    发表于 2013-2-21 09:49:21 | 显示全部楼层
    看起来很厉害的样子,所以不知道在说什么。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-12-27 14:43
  • 签到天数: 1415 天

    [LV.10]一品大学士

    43

    主题

    4413

    回帖

    2万

    积分

    Intohard Team

    Rank: 7Rank: 7Rank: 7

    积分
    20256
    QQ
    发表于 2013-10-15 15:45:27 | 显示全部楼层
    JFS2文件解析怎么卖????
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2014-4-28 18:23
  • 签到天数: 22 天

    [LV.4]七品知县

    0

    主题

    86

    回帖

    184

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    184
    发表于 2013-10-15 18:55:39 | 显示全部楼层
    感谢分享,学习了。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表