在AIX下误操作删除LV后如何最大程度挽救数据?[通俗易懂]

在AIX下误操作删除LV后如何最大程度挽救数据?[通俗易懂]今天北亚小编为大家分享一篇《在AIX下误操作删除LV后如何最大程度挽救数据?》首先大家要知道到底是LV?PV相当于物理磁盘(对于存储,是存储映射过来的卷,对于操作系统而言,等同于物理硬盘),若干个P…

在AIX下误操作删除LV后如何最大程度挽救数据?

今天北亚小编为大家分享一篇《在AIX下误操作删除LV后如何最大程度挽救数据?》首先大家要知道到底是LV?PV相当于物理磁盘(对于存储,是存储映射过来的卷,对于操作系统而言,等同于物理硬盘),若干个PV组成一个VG,意味着可以将容量不同的存储空间合起来统一分配。为了实现这个目的,AIX把同一个VG的所有PV按相同大小的存储颗粒进行空间编排,这个存储颗粒就是PP。而分配空间时,以若干个PP(可能是不同PV上的),做为使用集合,这个集合就是LV。
在AIX环境下,若因维护误操作、存储mapping错误等,不小心将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做完整镜像。
第一种方法:如果存储自身有卷镜像功能,可以尝试之。
第二种方法:如果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容量是否正确。
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系统。具体恢复过程小编在之后再为大家继续分享,本期分享就到这里喽!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/6413.html

(0)
上一篇 2023-04-10
下一篇 2023-04-10

相关推荐

  • Jupyter安装方法

    Jupyter安装方法Jupyter是一款支持多种编程语言的交互式计算环境,可以帮助用户轻松地将代码、文本、图像、视频等多种形式的内容融合在一起,进行数据分析和数据可视化。

    2024-05-11
    77
  • Python中的字母操作

    Python中的字母操作Python是一种广泛使用的编程语言。在实际项目中,经常需要处理文本数据,而文本数据中最常见的就是字母。Python提供了丰富的字母操作函数,方便开发者对文本数据进行处理和操作。本文将介绍Python中常用的字母操作,包括大小写转换、排序等。

    2024-04-05
    68
  • mysql in与or效率比较[通俗易懂]

    mysql in与or效率比较[通俗易懂]在网上一直看到的是or和in的效率没啥区别,一直也感觉是这样,前几天刚好在看《mysql数据库开发的36条军规》的文章,里面提到了or和in的效率问题,文中提到or的效率为O(n),而in的效率为O…

    2022-12-20
    156
  • Python字典更新操作简化

    Python字典更新操作简化字典是Python中的一种数据类型,用于存储键值对。每个键都对应着一个值,这些键值对在字典中是无序的,并且能够通过键快速查找相应的值。 Python中的字典用花括号{}来表示,如下所示:

    2024-02-22
    112
  • 华为和荣耀的区别哪个好_华为荣耀20 发布

    华为和荣耀的区别哪个好_华为荣耀20 发布  华为和荣耀是2019年中国市场唯二保持增长的品牌。两品牌依托华为集团,其产品在市场上都有很强的竞争力,那么华为和荣耀选择哪个好?   要回答这个问题,我们首先要弄清楚华为和荣耀的关系。荣耀和华为…

    2023-03-12
    152
  • 使用web技术作为python的简单介绍

    使用web技术作为python的简单介绍需要学习Linux、xhtml、css、javascript、数据库(关系型、nosql等)和需求分析等内容。

    2023-11-03
    154
  • Python如何清空列表

    Python如何清空列表
    列表是Python中非常常用的一种数据类型,它可以容纳多个元素,并且可以通过索引访问到其中的每个元素。
    在Python中,我们经常会遇到需要清空列表数据的情况,比如说在重新使用列表之前,需要将之前的数据清空掉。
    本文将介绍Python中常用的几种清空列表的方法,并且对它们进行详细的讲解。

    2024-05-12
    91
  • mysql笔记-

    mysql笔记-用单表接近一千万数据(四列:int,两个varchar,日期时间)测,发现几个效率几乎一致 count(0)=count(1)=count(数字)=count(*)>count(primary

    2023-02-15
    143

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注