V7000存储数据恢复_底层结构原理拆解及Mdisk磁盘掉线数据恢复方法
Storwize V7000(也就是我们常说的V7000)是新推出的一款中端存储系统,这款系统的定位虽然在中端,但是Storwize V7000提供有存储管理功能,这一功能以前只有高端存储才拥有(例如 Storwize V3700,Storwize V5000)。
底层存储结构支持:RIAD 0/RAID 10/RAID5/RAID 6
上层卷支持:普通卷/精简模式的卷/镜像模式的卷/精简镜像模式的卷
本文将为大家展示V7000存储的结构原理、配置方法以及Mdisk磁盘掉线的数据恢复方法。
【V7000底层结构及原理】
拆分来看V7000的底层原理结构其实不属于复杂的类型,整个存储结构一共分为四层。
第一层是物理硬盘,也就是数据实际存放的位置。
第二层Mdisk(就是存储中的raid),这一层是许多个多个物理磁盘的集合。
第三层叫做池,池又把诸多Mdisk组合而成为一个更大的逻辑容器。
第四层是卷,卷是面向用户的存储单位,它们是从池中分配出来的空间,(注:卷不可以跨池)。通过图形可以更加清楚的观察这四层结构:

介绍到这里大家应该就能明白了,只有第一层的物理磁盘才是最终存储数据的位置。而第二层、第三层、第四层都只是虚拟化而来的。在物理磁盘中的数据都是以小块为单位(Block)进行存储,即我们通常理解的存放在Mdisk中的数据会分成N多个Block平均分布在所有磁盘上。在Mdisk这一层,数据是以段为单位存储的,多个Mdisk组成了一个池,既在池中创建的卷会被分成若干个段放到不同的Mdisk中,不同卷的类型分布在池中的方式也不同,不过最终还是以段为单位存储在Midsk中的。
V7000的存储过程就是用户将数据存放到卷中,而卷又会被分割成若干个段分布在不同Mdisk中,而Mdisk又会将段分成若干个块分布在不同的磁盘中。最终数据全部是以块为单位分布在不同的磁盘中。
【如何配置Storwize V7000】
1、 使用管理IP连接V7000,输入用户名(默认:superuser/frombyte.com)和密码(密码:passw0rd)。

2、默认是没有任何配置的,需要先配置Mdisk,池以及卷,然后添加主机映射卷。

3、创建Mdisk,Mdisk的类型有RAID0,RAID0,RAID5以及RAID6。

4、创建池,可以将多个Mdisk划分到一个池中。

5、创建卷,卷是在池的基础之上配置的,卷的类型有通用,自动精简,镜像以及精简镜像。

6、创建主机并映射卷,主机的类型有光纤通道的主机和iscsi的主机。

至此整个配置的大致流程就算完了,
【Mdisk磁盘掉线数据恢复案例】
1、存储架构
存储型号:Storwize V7000
磁盘数量:24块(600G SAS磁盘)
Mdisk数量:2个Mdisk,(RAID 5)
卷数量:2个2T的通用模式,1个3T精简模式。
2、故障原因
由于磁盘自然老化导致Mdisk有部分磁盘掉线、上层卷无法访问。由于全局热备只设置了一个并且管理人员也没有在磁盘掉线后及时更换,造成数据丢失。
3、数据恢复方法
首先要把所有磁盘进行镜像处理,然后通过分析镜像可以得出哪些磁盘是同一组Mdisk。
然后分析一组Mdisk有没磁盘掉线情况发生。如果有磁盘掉线就直接在Mdisk组中将掉线磁盘去除掉,生成Mdisk,接着分析Mdisk之间的结构生成池(frombyte.com)。再分析卷的结构,由于不同的卷也有着不同的类型,所以存储结构也不一样。
分析完卷的结构后就可以生成每个卷的数据了。
由于对IBM V7000系列存储的底层结构研究的很透彻,所以对此系列存储的故障,数据几乎都可以挽救。但是,有一种情况数据是无法挽救的,所有磁盘被重建了。因为在创建完Mdisk之后,系统会对Mdisk做初始化,也就是清零。因此,如果存储被重建并且完成了初始化,那么这种情况下数据基本无法恢复了。
V7000存储数据恢复_底层结构原理拆解及Mdisk磁盘掉线数据恢复方法的更多相关文章
- C# 爬虫框架实现 流程_爬虫结构/原理
目录链接:C# 爬虫框架实现 概述 首先需要讲的是,爬虫的原理.其实在我看来,爬虫只是用来解决以下四个问题的工具: 提取哪些网页 提取网页上的哪些内容 存储到哪里(推荐数据库/开源类/Console) ...
- java集合专题 (ArrayList、HashSet等集合底层结构及扩容机制、HashMap源码)
一.数组与集合比较 数组: 1)长度开始时必须指定,而且一旦指定,不能更改 2)保存的必须为同一类型的元素 3)使用数组进行增加/删除元素-比较麻烦 集合: 1)可以动态保存任意多个对象,使用比较方便 ...
- HP-lefthand底层结构具体解释及存储灾难数据恢复
HP-lefthand底层结构具体解释及存储灾难数据恢复 一.HP-lefthand的特点 HP-lefhand是一款很不错的SAN存储,使用iscsi协议为client分配空间. 它支持RAID5. ...
- Atitit.数据库表的物理存储结构原理与架构设计与实践
Atitit.数据库表的物理存储结构原理与架构设计与实践 1. Oracle和DB2数据库的存储模型如图: 1 1.1. 2. 表数据在块中的存储以及RowId信息3 2. 数据表的物理存储结构 自然 ...
- HashSet集合存储数据的结构和HashSet集合存储元素不重复的原理
HashSet集合存储数据的结构 HashSet集合存储元素不重复的原理 //创建HashSet集合对象 Hashset<String> set = new HashSet<> ...
- Java 并发系列之二:java 并发机制的底层实现原理
1. 处理器实现原子操作 2. volatile /** 补充: 主要作用:内存可见性,是变量在多个线程中可见,修饰变量,解决一写多读的问题. 轻量级的synchronized,不会造成阻塞.性能比s ...
- [转]谈NAND Flash的底层结构和解析
这里我想以一个纯玩家的角度来谈谈关于NAND Flash的底层结构和解析,可能会有错误的地方,如果有这方面专家强烈欢迎指正. NAND Flash作为一种比较实用的固态硬盘存储介质,有自己的一些物理特 ...
- iOS分类底层实现原理小记
摘要:iOS分类底层是怎么实现的?本文将分如下四个模块进行探究分类的结构体编译时的分类分类的加载总结本文使用的runtime源码版本是objc4-680文中类与分类代码如下//类@interfaceP ...
- Java虚拟机(一)结构原理与运行时数据区域
我们来学习Java虚拟机的结构原理与运行时数据区域. 1.Java虚拟机概述 Oracle官方定义的Java技术体系主要包括以下几个部分: Java程序设计语言 各种平台的Java虚拟机 Class文 ...
随机推荐
- 【BZOJ4698】Sandy的卡片(后缀数组)
[BZOJ4698]Sandy的卡片(后缀数组) 题面 讨厌权限题!!! 因为我交不了... 洛谷 题面 做完差之后就是裸的最长公共子串 没了.. 数组往死里开吧... #include<ios ...
- 【BZOJ3626】LCA(树链剖分,Link-Cut Tree)
[BZOJ3626]LCA(树链剖分,Link-Cut Tree) 题面 Description 给出一个n个节点的有根树(编号为0到n-1,根节点为0).一个点的深度定义为这个节点到根的距离+1. ...
- CSS黄金三段--消除边框的影响
以前常常因为padding.margin等影响了整个边框的大小,只能傻傻的算大小.现在的黄金三段真的是帮了大忙了,下面的代码放在CSS相应的内容中,就可以使得边框的大小就是你设置的width的属性值. ...
- Postman使用小技巧
Postman使用小技巧 2017-09-13 目录: 1 自动生成流水号2 保存响应结果 1 自动生成流水号 返回 为了让接口具有幂等性,在设计时,往往有一个字段是唯一的(比如流水号,交易编号等), ...
- asp.net core 发布centos 7 遇到的坑
只是简单记录 .net core 在linux 的安装部署步骤,大神可以忽略 虚拟机:VMware Workstation Pro Linux 版本:http://mirrors.aliyun.com ...
- c++标准头文件
C++标准库的所有头文件都没有扩展名.C++标准库的内容总共在50个标准头文件中定义,其中18个提供了C库的功能. <cname>形式的标准头文件[ <complex>例外]其 ...
- EasyUI Parser 解析器
Parser(解析器)应用场景 1,自动调用parser 只要我们书写相应的class,easyui就能成功的渲染页面,这是因为解析器在默认情况下,会在dom加载完成的时候($(docunment). ...
- FineUI控件集合
FineUI(开源版)基于 ExtJS 的开源 ASP.NET 控件库. using System; using System.Collections.Generic; using System.Te ...
- Spring源码学习:第2步--使用SLF4j+Log4j日志框架替换掉其自身的commons-logging日志框架
正如Spring官方文档所述,其底层的实现选择了commons-logging作为日志框架.这一"失足"性的选择,竟连Spring自身都抱怨.但是,谁叫Spring如此优秀呢,即使 ...
- C#将.spl剥离成.emf文件格式
本文转载自 星战紫辉 http://www.cppblog.com/rawdata/archive/2009/02/23/74653.html 但C#代码实现为本人原创.https://github. ...