【服务器数据恢复】HP EVA虚拟化磁盘阵列数据恢复原理方案

EVA存储结构&原理:
EVA是虚拟化存储,在工作过程中,EVA存储中的数据会不断地迁移,再加上运行在EVA上的应用都比较繁重,磁盘负载高,很容易出现故障。EVA是通过大量磁盘的冗余空间和故障后rss冗余磁盘动态迁移保护数据。但是如果磁盘掉线数量到达一个临界点,EVA存储就会崩溃。

EVA存储内部的结构组成不同于普通的基于RAID的存储,内部称之为VRAID。
EVA对每个物理磁盘(PV)进行签名(写在每个磁盘的0扇区),签名后将物理磁盘分配到不同的DISK GROUP。在DISK GROUP中,每个PV会按一定大小划分为若干存储单元(PP),PP的大小为2的整数次幂,大小在2-16M之间。
每个PV中有一定数量的PP,这些PP一起形成整个DISK GROUP的可用空间。
所有的PV按照5-15的数量组成若干组RSS,每组RSS就是一个冗余组,但RSS不等同于常规RAID。常规RAID是基于磁盘的RAID算法,而RSS是基于PP的RAID算法。
为提高性能,EVA存储会有倾向地轮流分配不同的RSS组,这些RSS之间的数据存储是基于JBOD的,每个RSS组成的stripe的成员是不同PV中不同位置的PP。
无论RSS中成员数量有多少个,对于VRAID5,一个stripe中的PV数总是5个;对于VRAID6,一个stripe中的PV数总是6个。
当一个RSS中某个PV离线,控制器会从同一个RSS组中其他磁盘中寻找可用的PP,在逻辑上实现每个stripe的rebuild,从而保证整个存储的安全性。
当一个RSS中损坏的磁盘数量少于等于6个的时候,EVA会合并此RSS到另一个RSS中,这样可用的冗余空间就是共享的了,空间就可以从另一个较安全的RSS中迁移过来。
为了保证有足够的空间提供冗余保护,在创建DISK GROUP时,EVA会提供一个Protection Level的保护级别:single表示用2个磁盘的空间做冗余,double表示用4个磁盘的空间做冗余,但这个冗余不同于hotspare,这个冗余空间仅会预留到每个PV的尾部。

EVA存储常见故障:
1、RSS中多个磁盘掉线,超过冗余保护级别。
2、加入新磁盘迁移数据时,新磁盘存在物理故障。
3、删除VDISK或EVA初始化。
4、主机与存储无法连接。

EVA存储数据恢复原理:
EVA存储核心结构部分来自于所有vdisk的运算pp map表,这个pp map表会因为磁盘的不断迁移而迁移,所有故障均可通过此map表恢复。
如果pp map表不存在,根据不同的条带之间的冗余关系,可通过优化算法对所有PP进行条带性集合,形成若干组正确的条带数据,然后基于文件系统结构、数据结构等特征重组若干条带。

EVA存储数据恢复方案:
1、将EVA主机一端的连线拔出,直接接到主机hba卡上,认出所有物理硬盘。将磁盘以只读方式做完整镜像(eva主机与扩展柜之间多是铜线连接,可能需要在扩展柜上增加光纤收发模块,再通过光链路接到hba卡上。也可以将所有硬盘拆下来放入其他光纤通道柜中进行镜像)。
使用EVA扩展柜进行镜像:

2、通过北亚企安自主研发的frombyte recovery for hp eva程序重组vdisk,直接写入成镜像文件或目标物理磁盘。
3、解释镜像文件或目标磁盘,然后迁移镜像或导出内部文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/460543.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL用心总结

大家好,好久不见,今天笔者用心一步步写一份mysql的基础操作指南,欢迎各位点赞收藏 -- 启动MySQL net start mysql-- 创建Windows服务 sc create mysql binPath mysqld_bin_path(注意:等号与值之间有空格) mysql -h 地址 -…

深度学习中常用激活函数介绍

深度学习中常用激活函数介绍 在深度学习中,激活函数的作用主要是引入非线性特性,提高模型的表达能力。具体如下: 解决线性不可分问题:激活函数可以将输入特征的复杂度提升,使得神经网络能够处理非线性问题&#xff0c…

美赛结束后,还可以转学术论文发表!

美赛论文转学术论文 写在前面学术论文发表的意义论文发表指导 写在前面 2024年美赛已经顺利结束了,美赛虽然画上了句号,但大家的科研竞赛之路才刚刚开始。 大家都在赛事中完成了一份具有发表基础的文章,想要这篇文章价值最大化,…

Java基础常见面试题总结-并发(二)

volatile底层原理 volatile是轻量级的同步机制,volatile保证变量对所有线程的可见性,不保证原子性。 当对volatile变量进行写操作的时候,JVM会向处理器发送一条LOCK前缀的指令,将该变量所在缓存行的数据写回系统内存。由于缓存一…

jquery写表格 手动合并单元格

<!DOCTYPE html> <html><head><style>.special-row th:first-child,.special-row th:nth-child(2) {background-color: yellow;text-align: center;}</style> </head><body><div id"tableWrapper"> <!-- 添加包裹…

[红日靶机渗透] ATKCK红队评估实战靶场三

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【ATK&CK红队评估实战靶场】 【VulnHub靶场复现】【面试分析】 &#x1f…

百卓Smart管理平台 uploadfile.php 文件上传漏洞复现(CVE-2024-0939)

0x01 产品简介 百卓Smart管理平台是北京百卓网络技术有限公司(以下简称百卓网络)的一款安全网关产品,是一家致力于构建下一代安全互联网的高科技企业。 0x02 漏洞概述 百卓Smart管理平台 uploadfile.php 接口存在任意文件上传漏洞。未经身份验证的攻击者可以利用此漏洞上传…

【Linux驱动】块设备驱动(三)—— 块设备读写(不使用请求队列)

并非每种块设备都会用到请求队列&#xff0c;从上节可以知道&#xff0c;请求队列的作用是管理和调用IO请求&#xff0c;那么反过来想&#xff0c;如果IO请求较少&#xff0c;那就可以无需使用请求队列。在以下情况中&#xff0c;可以不使用请求队列。 单任务环境: 当系统中只有…

SUSE 12 SP5安装Ansible2.9.6

安装依赖 zypper install gcc python-devel安装pip wget https://pypi.python.org/packages/source/s/setuptools/setuptools-11.3.tar.gz tar -xf setuptools-11.3.tar.gz cd setuptools-11.3 python setup.py install easy_install https://mirrors.aliyun.com/pypi/packag…

单片机的省电模式及策略

目录 一、单片机省电的核心策略 二、单片机IO口的几种模式 三、单片机的掉电运行模式 &#xff08;1&#xff09; 浅谈cpu运行为什么会需要时钟&#xff1f; &#xff08;2&#xff09;STC15系列单片机内部可以配置时钟 &#xff08;3&#xff09;分频策略&#xff0c;降低…

机器学习——有监督学习和无监督学习

有监督学习 简单来说&#xff0c;就是人教会计算机学会做一件事。 给算法一个数据集&#xff0c;其中数据集中包含了正确答案&#xff0c;根据这个数据集&#xff0c;可以对额外的数据希望得到一个正确判断&#xff08;详见下面的例子&#xff09; 回归问题 例如现在有一个…

vue3的常用功能

文章目录 一、前言二、自动注册全局组件2.1、自动注册components目录下所有vue组件并以组件的文件名为组件的名称2.2、使用这个插件2.3、为全局组件添加类型提示 三、函数式图片预览四、手动封装 svgIcon 组件五、封装拖拽钩子函数六、vscode 中 vue3 代码片段七、最后 一、前言…