系统操作和维护
在AIX环境下,如果由于维护误操作、存储映射错误等原因意外删除了LV。这种损失通常是巨大的。删除后保护和恢复不当可能会使数据不可恢复,还可能增加处理时间和算法复杂度。如何有效地保护网站,选择正确的数据恢复方案非常重要。
描述AIX存储层的文章太多了。作为铺垫,简单描述一下。PV相当于物理磁盘(对于存储来说,是存储映射的卷,对于操作系统来说,相当于物理硬盘)。几个PV组成一个VG,也就是说不同容量的存储空间可以组合起来统一分配。为了达到这个目的,AIX将同一个VG的所有PV按照相同大小的存储粒子排列在空间中,这个存储粒子就是PP,在分配空间时,将几个PP(可能在不同的PV上)作为一个集合,这个集合就是LV。
AIX的LVM层VGDA区有一个固定的从PP到LV的映射表,叫做PPMAP。每个PV的所有PP从第一个(PP#1)开始,书PP所属的LV以32字节的固定大小记录。在AIX中删除VG的一个LV,最底层最根本的就是释放这个LV原来占用的PP,也就是清空0之前所有占用PP的32字节PPMAP条目,还要做一些清理LV名称、清理LV设备汇总信息等工作。
删除LV后,不建议贸然尝试使用mklv等操作来尝试灾难恢复。mklv虽然本质上不会清除pp内容区,但在某些情况下会损坏数据,比如故障前后的PP分配表不一样,但之前的PP表分配正确,文件系统可能会识别甚至挂载。但麻烦的是,有些结构被挂机后可能会出错,这样就会被系统自动纠正,事情会变得更糟。即使是只读挂载也不是最好的方式。
如果时间允许,删除AIX LV后的恢复方案大致如下:
1.保持VG状态,并且不创建任何新的LV。
2.使用备份方式完全镜像VG中的所有PV。
3.在镜像中执行数据提取和恢复。或者在保护镜像后,用分析后的PPMAP重建丢失的LV。
以上方案的目的是:所有的操作都可以尽量追溯。
[如何完全镜像故障卷]
如何对AIX中的PV进行完全镜像(从目前的数据恢复技术来看,大部分的处理和分析过程都是基于WINDOWS环境的,所以镜像方案考虑到了镜像的数据可以在WINDOWS下直接访问):
第一种方法:如果存储本身有卷镜像的功能,可以试试。
第二种方法:如果AIX环境中有足够的空间来镜像pv,那么可以将pv镜像到一个文件(或LV)中。如果是文件,可以通过FTP等方式传输。(不推荐这种方法)
第三种方法:另建一个nfs服务器,用dd按照nfs的方式把pv镜像到NFS。当然,如果cifs可以挂载在aix上,甚至可以直接镜像到windows的共享文件夹。但是如果在windows下生成大文件,可能会越来越慢。可以尝试使用WINDOWS2008或者选择其他方案。
第四种方法:建议方案。具体来说,就是构建一个映射到aix环境的块设备,通过块设备到块设备的方法直接镜像。可选的数据块设备有fc lun、iscsi等。没有fc环境的支持,至少iscsi(可以是软iscsi)是一个足够好的解决方案。
以windows作为iscsi目标,AIX AIX作为iscsi发起方为例,下面是详细流程:
1.配置网络环境,确保可以连接AIX和WINDOWS网络。
2.在WINDOWS上构建iscsi目标,以starwind为例创建一个名为pv0的ISCSI磁盘。
图1:
3.返回到aix平台并确定是否安装iscsi启动器:
Lsdev |grep iscsi,如果提示“iscsi0可用ISCSI协议设备”表示已经安装了ISCSI客户端,设备号为iscsi 0。您还可以使用lslpp -L|grep -i iscsi来确认iscsi软件包是否已安装。如果没有,请先安装iscsi启动器。
4.在aix环境下修改文件/etc/iscsi/targets,并在末尾增加一行(本例中,windows iscsi目标的ip为192.168.1.9,IQN如上图所示)。192 . 168 . 1 . 9 3260 iqn . 2008-08 . com . star wind软件:电话-pv0
5.在aix平台上执行cfgmgr -l iscsi0(参见步骤3中的设备号)并重新扫描iscsi设备。
6.lspv检查iscsi设备是否被识别。该示例的结果如下:
图2:
可以看到hdisk3已经识别出可以使用lsattr -El hdisk3查看设备的详细信息。命令结果是:
图3:
可以看到iscsi设备的具体细节,也可以通过bootinfo -s hdisk3检查目标iscsi容量是否正确(以MB为单位,本例是为了演示,只创建4GB的ISCSI存储卷)。
图4:
7.使用dd命令完全镜像故障存储(建议使用块设备路径进行镜像):ddif=/dev/rhdisk 0 of=/dev/rhdisk 3 bs=4096 kconv=no error,sync。
[AIX LV误删数据恢复方案]
完全备份故障PV后,您可以开始恢复数据。恢复数据大致有三种方案。
选项1:
通过分析得到原lv的PPMAP,然后通过mklv -m指定的ppmap文件重构与原LV相同的分配表,从而激活原LV,恢复数据。
选项2:
分析得到原始LV PPMAP,直接用第三方软件(北亚开发的带WINDOWS的JFS2文件系统解释软件)解释JFS2文件系统。如果是裸设备,可以完整读出,然后分块写回。
选项3:
如果oracle数据库存储在原来的LV中,那么可以根据oracle数据文件的特点,从所有的PP中以碎片化的方式提取并组装出所有特定的数据文件,然后以灾难的方式恢复ORACLE系统。
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。