AIX中的PV相当于物理磁盘(针对于存储来说,PV相当于存储映射过来的卷;针对操作系统来说,PV相当于物理硬盘),若干个PV组成一个VG,AIX可以将容量不同的存储空间组合起来统一分配。AIX把同一个VG的所有PV按相同大小的存储颗粒(PP)进行空间编排。AIX系统中PV将被划分为多个PP,这些PP用于构建逻辑卷LV。
AIX的LVM层VGDA区域有一个固定的PP到LV的映射表,称为PPMAP。每个PV的所有PP从第一个(PP#1)开始,以固定大小32个字节记录每个PP归属于哪个LV。删除AIX中VG的某个LV,从底层看就是释放这个LV原先占用的PP,也就是清零之前所有占用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做完整镜像的方法:
方法一:如果存储自身有卷镜像功能,可以尝试之。
方法二:如果AIX环境中有足够空间,放得下需要镜像的pv,可以将pv镜像成文件(或LV)。如果是文件,
方法三:另外构建一台NFS server,以nfs的方式用dd将pv镜像到nfs上。当然如果aix上可以挂载cifs,甚至于直接可以镜像到windows的共享文件夹下。
方法四:构建块设备mapping至aix环境,直接以块设备至块设备的方法进行镜像。
AIX LV误删除数据恢复方案:
方案一:
基于镜像文件分析原LV的PPMAP,之后通过执行“mklv -m <指定的ppmap文件>”重建与原LV相同的分配表,激活原LV,从而恢复数据。
方案二:
基于镜像文件分析原LV的PPMAP,通过第三方软件(如北亚企安开发的WINDOWS端的JFS2文件系统解释软件)解释JFS2文件系统。如果是裸设备(RAW),可完整读出后再重新按块写回。
方案三:
如果原LV中存放的是ORACLE数据库,可以根据oracle数据库文件的特征,从所有PP中提取碎片,拼接组合成特定数据文件,从而恢复oracle数据库。