HP-lefthand底层结构具体解释及存储灾难数据恢复

一、HP-lefthand的特点

HP-lefhand是一款很不错的SAN存储,使用iscsi协议为client分配空间。

它支持RAID5、RAID6以及RAID10。

而且还支持卷快照,卷动态扩容等。

常见的型号有:P4500,P4300,P4000等,基于市场占有量和软件定义存储的弊端,有一定的数据恢复市场需求。

HP-lefhand的存储系统是一款嵌入式LINUX系统,须要安装client软件才干配置lefthand。

服务端:

客服端:

二、HP-lefthand的存储结构

Lefthand存储一共分为三个级别。这三个级别共同构成了整个存储,这三个几别分别例如以下:

物理磁盘:实际的物理磁盘。

逻辑磁盘:将多个物理磁盘组成一个逻辑的磁盘。也就是RAID。

逻辑卷:在RAID之上,将不同RAID组成一个大空间,将大空间中不同的区域组成一个卷。

拓扑图例如以下 :

从整个拓扑图中能够看出,首先须要将物理磁盘组成逻辑磁盘RAID。然后将几个逻辑磁盘组成一个大的存储空间,最后将大的存储空间划分成若干个小块。用户使用的卷是由若干个不连续的小块组成的。

也就是卷中存储的用户数据终于会被分成若干个片段存放在不同的逻辑磁盘中,而逻辑磁盘是由多个物理磁盘组成的。终于数据会被分成N个片段放在不通的物理磁盘中。

卷:用户的可用空间,上面说过卷由不同RAID的N个不连续的片段组成,卷中存储的是文件系统以及用户的数据。

RAID:由多个物理磁盘组成,大多是RAID5或RAID6。

RAID是lefthand能识别的最小单元。也就是要想创建卷,必须先创建RAID。

由于卷是由不同RAID的N个不连续的片段组成。所以RAID中须要记录它存储的片段是哪一个卷的,而且是卷的第几个片段。因此在RAID的前面会有一部分空间用来存储记录这些片段的MAP。

物理磁盘:物理磁盘中记录的是全部数据,而且数据是不连续的。假设上层是RAID5或RAID6。那么物理磁盘中还包含校验数据。

三、存储灾难恢复

通过上面对lefthand底层存储的剖析,我们能够非常清楚的知道用户的数据是怎样存储到磁盘上的。也就意味着假设存储出现灾难。我们能够非常快的知道哪里出现故障了。而且针对问题做出解决方式。

针对lefthand上不同的存储灾难表现。相应的数据恢复解决方式例如以下:

一:当物理磁盘和RAID都完善的情况下,因为用户误删除卷。

能够依照lefthand存储中残留的map信息找回误删除的卷。北亚开发的frombyte
recovery for Lefthand中也有此模块。二:当物理磁盘完善。RAID损坏的情况下,可能由于RAID中某块磁盘由于坏道过多而离线。导致RAID瘫痪。从而导致卷不可用。能够通过RAID重组、之后激活(需事先备份,确保方案的可回溯)的方法进行数据恢复。假设lefthand的操作系统无法恢复。也能够使用frombyte
recovery for Lefthand对恢复后的RAID进行卷解释。

三:当卷中文件系统或文件出现问题时。实则与lefthand本身无关,能够通过在client直接做恢复。

建议,恢复时添加还有一台恢复主机, 通过iscsi multipath以仅仅读连接。

可參考文章:某法院HP-P4500存储数据恢复案例

作者:邓奇。北亚数据恢复中心project师

邮件:dq@frombyte.com

电话:4006505808-801

HP-lefthand底层结构具体解释及存储灾难数据恢复的更多相关文章

  1. Java程序猿从笨鸟到菜鸟之(九十二)深入java虚拟机(一)——java虚拟机底层结构具体解释

    本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 在曾经的博客里面,我们介绍了在java领域中大部分的知识点,从最基础的java最基本的语法 ...

  2. V7000存储数据恢复_底层结构原理拆解及Mdisk磁盘掉线数据恢复方法

    Storwize V7000(也就是我们常说的V7000)是新推出的一款中端存储系统,这款系统的定位虽然在中端,但是Storwize V7000提供有存储管理功能,这一功能以前只有高端存储才拥有(例如 ...

  3. TCP/IP数据包结构具体解释

    [关键词] TCP IP 数据包 结构 具体解释 网络 协议 一般来说,网络编程我们仅仅须要调用一些封装好的函数或者组件就能完毕大部分的工作,可是一些特殊的情况下,就须要深入的理解 网络数据包的结构, ...

  4. [转]谈NAND Flash的底层结构和解析

    这里我想以一个纯玩家的角度来谈谈关于NAND Flash的底层结构和解析,可能会有错误的地方,如果有这方面专家强烈欢迎指正. NAND Flash作为一种比较实用的固态硬盘存储介质,有自己的一些物理特 ...

  5. Redis底层结构全了解

    第一篇文章,思来想去,写一写Redis吧,最近在深入研究它. 一丶Redis底层结构 1. redis 存储结构 redis的存储结构从外层往内层依次是redisDb.dict.dictht.dict ...

  6. String,StringBuffer,StringBuillder的底层结构

    一:StringBuffer的底层 (1)线程安全的字符串操作类 (2)通过synchronized关键字声明同步方法,保证多线程环境下数据安全 public synchronized StringB ...

  7. java集合专题 (ArrayList、HashSet等集合底层结构及扩容机制、HashMap源码)

    一.数组与集合比较 数组: 1)长度开始时必须指定,而且一旦指定,不能更改 2)保存的必须为同一类型的元素 3)使用数组进行增加/删除元素-比较麻烦 集合: 1)可以动态保存任意多个对象,使用比较方便 ...

  8. IPv4头部结构具体解释

    IPv4头部结构具体解释 下面为书中原文摘录: $(function () { $('pre.prettyprint code').each(function () { var lines = $(t ...

  9. 深入PHP变量存储结构 标签: PHP存储

    1.深入PHP变量存储结构 标签: PHP存储  分类: 编程语言(10)  首先声明,我并没有去读PHP的源码,只是对于PHP的有时候诡异的表现感兴趣,找了一下开发人员laruence的博客结合PH ...

随机推荐

  1. 题解 CF821D 【Okabe and City】

    其实,这道题不用long long也能AC. 题意是给你一个矩阵,有一些格子被点亮有一些没有,每一次只能在被点亮的格子上面走. 然后你每一次都可以选择点亮一行或一排(非永久),现在问你最少点多少次可以 ...

  2. luogu 1865 数论 线性素数筛法

    洛谷 1865 数论 线性素数筛法 最基本的线性素数筛法,当做复习欧拉筛法了,没有尝试过使用更暴力的筛法... WA了一次,手抖没打\n 传送门 (https://www.luogu.org/prob ...

  3. ant打包和jar包混淆

    Ant是一种基于Java的build工具.相似于c语言中的makefile,这里做一记录.方便后面查看. <?xml version="1.0" encoding=" ...

  4. 如何将MVC AREA中的某一个页设为起始页

    public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.Ignore ...

  5. Hadoop编译源码

    Hadoop编译源码 克隆一个虚拟机 然后一步一步安装就行 安装所需:链接: https://pan.baidu.com/s/1jIZlQmi 密码: gggv 5.1 前期准备工作 1)CentOS ...

  6. winforms控件

     我们在开发窗体应用时,控件是必不可少的今天我们就来认识一下控件 在认识控件之前还要先来认识一下窗体具体如下: 认识窗体和控件 窗体                                   ...

  7. MyBatis数据持久化(八)sql复用

    在mybatis中,我们可以將sql语句中公共的部分提取出来,然后需要该段sql的地方通过include标签引入即可,这样可以达到sql语句复用的目的. 例如我们有两条相似的查询语句: <sel ...

  8. (转载)Android引导界面实现

    Android引导界面实现 Android   2014-07-10 14:47:36 发布 您的评价:       4.0   收藏     3收藏 ViewPager类提供了多界面切换的新效果,是 ...

  9. 「JavaSE 重新出发」01. Java介绍

    「白皮书」关键术语 简单性(C++--) 面向对象 分布式 健壮性 安全性 体系结构中立 可移植性 解释型 高性能 多线程 动态性 Java 发展历程 SUN公司--Stanford Universi ...

  10. Mysql语法:navicat for mysql 添加注释

    在 navicat 中有三种注释的书写方式: 以 # 开头的字符串,可以多个 # 连续以 – 开头的字符串,注意:只能是 – ,而且 – 后面需要加一个半角空格以 /* */ 包围的字符串,类似于 J ...