RAID管理与恢复误删除文件

一、RAID磁盘阵列概述;

概述:

RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。

RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发 挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。

二、RAID工作模式;

RAID0,RAID1,RAID5,RAID10(比较典型的几种RAID模式)

RAID0(分条):可以把多块硬盘连成一个容量更大的硬盘群,可以提高磁盘的性能和吞吐量。RAID 0没有冗余或错误修复能力,成本低,要求至少两个磁盘,一般只是在那些对数据安全性要求不高的情况下才被使用。

容错性: 无 冗余类型: 无

热备盘: 无 读性能: 高

随机写性能: 高 连续写性能: 高

需要的磁盘数: 1+N 可用容量: N*

典型应用: 对数据安全性要求不高,但对读写性能要求极高,如图形工作站等

RAID1(镜像):把一个磁盘的数据镜像到另一个磁盘上,在不影响性能情况下最大限度的保证系统的可靠性和可修复性上,具有很高的数据冗余能力,但磁盘利用率为50%,故成本最高,多用在保存关键性的重要数据的场合。RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。

容错性: 有 冗余类型: 镜像

热备盘: 有 读性能: 低(与单块磁盘一样)

随机写性能: 低 连续写性能: 低

需要的磁盘数: 2*N(N代表磁盘数量) 可用容量: N/2

典型应用: 对数据安全性要求高,但是读写效率低,用于服务器或数据库存储等;

RAID5(奇偶校验):RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5可以为系统提供数据安全保障,但保障程度要比RAID5低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。

容错性: 有 冗余类型: 奇偶校验信息存储

热备盘: 有 读性能: 高(与RAID0相近)

随机写性能: 较低 连续写性能: 较低

需要的磁盘数: 大于等于3 可用容量: n - 1

典型应用: 随机数据传输要求安全性高,如金融、数据库、存储等。

RAID1+0(分条+镜像):Raid 10是一个Raid 0与Raid1的组合体,所以它继承了Raid0的快速和Raid1的安全。RAID 1在这里就是一个冗余的备份阵列,而RAID 0则负责数据的读写阵列。情况是从主通路分出两路,做Striping操作,即把数据分割,而这分出来的每一路则再分两路,做Mirroring操作,即互做镜像。

容错性: 有 冗余类型: 镜像

热备盘: 有 读性能: 高(与RAID0相近)

随机写性能: 低 连续写性能: 低

需要的磁盘数: N*2(N需要大于等于2) 可用容量: N / 2

典型应用: 集成了RAID0和RAID1的优点;

总结:

三、制作RAID;

1.配置硬RAID:

戴尔R410服务器配置硬RAID1: http://m.ouyaoxiazai.com/article/20/702.html

IBM X3650服务器配置硬RAID: http://blog.itpub.net/27771627/viewspace-1246405/

2.配置软RAID 0:

a. 添加三块硬盘sdb和sdc并进行分区,分为sdb1、sdc1,各5G,将其文件系统类型ID改为fd;

b. 重读分区表;

c. 安装软件包parted和mdadm工具;

d. mdadm命令创建Raid 0;

mdadm -C /dev/md0 -l 0 -n 2 /dev/sdb1 /dev/sdc1

选项:-C 指定Raid卷位置 -l 执行Raid等级 -n 指定分区数量

e. 查看Raid卷初始化进度,完成后/dev/md0卷的详细信息;

cat /proc/mdstat

mdadm --detail /dev/md0

f. 格式化/dev/md0卷;

g. 重启服务器,使其重新加载RAID关系;

h. 挂载使用:

vi /etc/fstab

/dev/md/lwh.linuxfan.cn:0 /a/ ext4 defaults 0 0

i. df -hT验证磁盘使用情况;

3.配置软RAID 1;

a. 分区为sdb2、sdc2,各5G,将其文件系统类型ID改为fd;

b. 重读分区表;

c. mdadm命令创建Raid 1;

mdadm -C /dev/md1 -l 1 -n 2 /dev/sdb2 /dev/sdc2

d. 查看/dev/md1卷的详细信息;

mdadm --detail /dev/md1

e. 格式化/dev/md1卷;

f. 重启服务器,使其重新加载RAID关系;

g. 挂载使用:

vi /etc/fstab

/dev/md/lwh.linuxfan.cn:1 /b/ ext4 defaults 0 0

h. df -hT验证磁盘使用情况;

4.配置软RAID 5;

a. 分区为sdb3、sdc3、sdd1,各5G,将其文件系统类型ID改为fd;

b. 重读分区表;

c. mdadm命令创建Raid 5;

mdadm -C /dev/md2 -l 5 -n 3 /dev/sdb3 /dev/sdc3 /dev/sdd1

d. 查看/dev/md1卷的详细信息;

mdadm --detail /dev/md2

e. 格式化/dev/md2卷;

f. 重启服务器,使其重新加载RAID关系;

g. 挂载使用:

vi /etc/fstab

/dev/md/lwh.linuxfan.cn:2 /c/ ext4 defaults 0 0

h. df -hT验证磁盘使用情况;

5.为RAID 1添加热备盘;

注意:

新增加的硬盘需要与原硬盘大小一致;

如果原有阵列缺少工作磁盘(如raid1只有一块在工作,raid5只有2块在工作),这时新增加的磁盘直接变为工作磁盘,如果原有阵列工作正常,则新增加的磁盘为热备磁盘;

步骤:

a. 分区为sdd2,大小为5G,并将文件系统类型改为fd,并且重读分区表;

b. 将/dev/sdd2添加到RAID1,作为热备盘;

mdadm /dev/md/lwh.linuxfan.cn:1 --add /dev/sdd2

c. 查看RAID1卷的详细信息;

mdadm -D /dev/md/lwh.linuxfan.cn:1

d. 将RAID1卷中的活跃卷/dev/sdb2模拟故障;

mdadm /dev/md/lwh.linuxfan.cn:1 --fail /dev/sdb2

e. 查看RAID1卷的详细信息;

mdadm -D /dev/md/lwh.linuxfan.cn:1

f. 将故障卷在RAID1中进行移除;

mdadm /dev/md/lwh.linuxfan.cn:1 -r /dev/sdb2

g. 查看RAID1卷的详细信息;

mdadm -D /dev/md/lwh.linuxfan.cn:1

四、恢复误删除文件;

1.恢复的工具:extundelete

2.恢复的原理:

在数据被误删除后,第一时间要做的就是卸载被删除数据所在的分区;

如果是根分区的数据遭到误删,就需要将系统进入单用户模式,并且将根分区以只读模式挂载。这样做的原因很简单,因为将文件删除后,仅仅是将文件的inode节点中的扇区link指针-1,实际文件还储存在磁盘上,如果磁盘继续以读写模式挂载,这些已删除的文件的数据块就可能被操作系统在创建新文件时重新分配出去,在这些数据库被新的数据覆盖后,这些数据就真的丢失了,恢复工具也无力回天。所以!以只读模式挂载磁盘可以尽量降低数据库中数据被覆盖的风险,以提高恢复数据成功的比例。

3.案例:

[root@lwh ~]# fdisk /dev/sdb ##分区为sdb1

[root@lwh ~]# partx -a /dev/sdb

[root@lwh ~]# mkfs -t ext4 /dev/sdb1

[root@lwh ~]# mkdir /benet

[root@lwh ~]# mount /dev/sdb1 /benet

[root@lwh ~]# df -hT

[root@lwh ~]# touch /benet/1.file

[root@lwh ~]# cp /etc/fstab /benet

[root@lwh ~]# cp /etc/inittab /benet

[root@lwh ~]# echo "haha" >>/benet/haha.txt

[root@lwh ~]# ls /benet

1.file fstab inittab haha.txt

[root@lwh ~]# rm -rf /benet/*

[root@lwh ~]# ls /benet

[root@lwh ~]# umount /benet

[root@lwh ~]# yum -y install *2fs*

[root@lwh ~]# tar jxvf extundelete-0.2.4.tar.bz2

[root@lwh ~]# cd extundelete-0.2.4

[root@lwh extundelete-0.2.4]#./configure

[root@lwh extundelete-0.2.4]# make

[root@lwh extundelete-0.2.4]# make install

[root@lwh extundelete-0.2.4]# cd

[root@lwh ~]# extundelete /dev/sdb3 --inode 2 ##查看可以恢复的文件

[root@lwh ~]# extundelete /dev/sdb1 --resotre-all ##恢复所有文件

[root@lwh ~]# ls RECOVERED_FILES/ ##验证恢复的文件

1.file fstab haha inittab

4.extundelete命令其他语法:

extundelete /dev/sdb1 --restore-file 文件名 ##恢复单个文件,只指定文件名,不指定文件的任何路径

extundelete /dev/sdb1 --restore-directory 目录名 ##恢复目录

误删除了linux的raid1,RAID管理与恢复误删除文件相关推荐

  1. linux RAID管理与恢复误删除文件

    一.RAID磁盘阵列概述: 二.RAID工作模式: 三.制作RAID: 四.恢复误删除文件: 一.RAID磁盘阵列概述: 概述: RAID(Redundant Array of Independent ...

  2. Linux 下固态硬盘恢复误删除文件

    首发地址:学习日记 Linux 下固态硬盘恢复误删除文件 – 学习日记 上次分享了一则Linux下恢复误删除文件的视频,有朋友在视频下方询问是否机械硬盘,由此引出今天这则Linux下固态硬盘恢复误删除 ...

  3. linux mdadm 源码,Linux下软RAID管理工具mdadm的基本操作实践

    RAID (Redundant Array of Independent Disks独立磁盘冗余阵列)是将多颗独立的硬盘整合成一个存储单元的数据存储技术. 1)RAID 类型有多种,分别提供不同级别的 ...

  4. linux文件恢复dbf,linux平台下数据文件被误删后,如何及时得知并进行恢复-dbf文件怎么打开...

    我们知道在windows平台下,一旦文件在程序中打开,则不能被删除,所以不存在误删数据文件的情况,如下图所示. 但是在LINUX操作系统中,被进程打开的文件仍可以被删除,因此存在DM7数据文件可能被误 ...

  5. Linux系统配置及服务管理_02章_文件和用户管理

    文章目录 一.文件管理命令 Linux目录结构 1.1.创建文件 1.2. 创建目录 1.3. 复制 1.4.移动 1.5.删除 1.6.查看文件 1.7.修改文件内容 1.8.文件类型 二.用户管理 ...

  6. linux rm 命令删除文件恢复_Linux之恢复误删除文件

    前言 每当我们在生产环境服务器上执行rm命令时,总是提心吊胆的,因为一不小心执行了误删,然后就要准备跑路了,毕竟人不是机器,更何况机器也有 bug. 那么如果真的删除了不该删除的文件,比如数据库.日志 ...

  7. LINUX恢复误删除文件的两种方法(部分成功)

    当然是个人使用的机器啦.如果是服务器,要恢复就比较麻烦,及早切断其他用户什么的. 先查看有哪些盘. df 1.使用extundelete sudo extundelete /dev/sda1 --re ...

  8. linux 系统部署raid 5,CentOS 7.4搭建RAID5及测试实例

    前言 一.RAID的定义与作用 RAID(独立冗余磁盘阵列).RAID技术通过把多个硬盘设备组合成一个容量更大的,安全性更好的磁盘阵列.把数据切割成许多区段后分别放在不同的物理磁盘上,然后利用分散读写 ...

  9. Linux入门学习(六)—— 怎么更改文件的所有者、所属组?以及怎么更改系统创建的默认权限?

    引言:上期回顾(想要学习的童鞋可以点击看看) 关于文件的入门操作这是最后一个章节,如果是新手从第一章开始安装linux系统学习,到上一章学会修改文件的权限,那我相信之前的文章对你是所有帮助的.之前有介 ...

最新文章

  1. 【Codeforces】967C Stairs and Elevators (二分)。
  2. volatile修饰的变量_看了这篇volatile详细介绍,面试你会害怕?
  3. 复杂网络下多码率视频流切换关键技术
  4. 【操作系统】高速缓存和缓冲区
  5. Python学习笔记之函数(一)
  6. linux boot efi分区 容量,解决Ubuntu上由于/boot容量不足引起的无法更新系统
  7. Cobalt Strike 3.13的新功能
  8. 使用Servlet技术~登录-02
  9. 软件工程期末考试试题及答案(详细、经典)
  10. matlab 创建同型矩阵_以经典同型样式创建新地图
  11. 情迁QQ机器人新增的茉莉词库功能调教
  12. 微信小程序轮播图调用接口
  13. 杭州地铁四期极有可能被砍掉一部分线路,可能是某条新建线路,或者是某条延伸段
  14. COleDateTime SYSTEMTIME CTime
  15. DirectX11.2前哨战 R7/R9显卡性能首测
  16. 360图书馆 解除网页防复制
  17. 在html中插入avi视频,兮夜2000杀成就达成,JDG优势局连续失误
  18. 【凯子哥带你夯实应用层】都说“知乎”逼格高,我们来实现“知乎”回答详情页动画效果
  19. mysql中是如何处理周数,一年的第一周到底从哪天开始计算?
  20. 海蜘蛛路由(中文软路由软件) v3.2.7免费版(Free)

热门文章

  1. VC++6.0 报错error spawning cl.exe解决方法【推荐】
  2. 云弹性:它如何影响云计算?
  3. 分数的加法,有理数加法
  4. ETF操作实战记录:2022-2-22
  5. Java程序入门教程 | Java
  6. 2020年英语专升本英语阅读「Part II 阅读专区」【文章(图片)、答案、词汇记忆】
  7. 了不起的Node.js: 将JavaScript进行到底
  8. A. DS内排—直插排序
  9. Django之博客系统搭建一
  10. 求解两圆相交的交点坐标