Linux软RAID部署系统分区之恢复攻略.docx
- 文档编号:2997065
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:17
- 大小:307.73KB
Linux软RAID部署系统分区之恢复攻略.docx
《Linux软RAID部署系统分区之恢复攻略.docx》由会员分享,可在线阅读,更多相关《Linux软RAID部署系统分区之恢复攻略.docx(17页珍藏版)》请在冰豆网上搜索。
Linux软RAID部署系统分区之恢复攻略
软RAID部署系统分区之恢复攻略
ChinaUnix网友:
Jerrywjl
作为在几乎所有Linux发行版操作系统中所带的逻辑卷管理方式(LVM),其最大的特点是部署灵活和操作方便。
而且在RedHatEnterpriseLinux中LVM也一直被作为默认的磁盘管理方式直接管理系统所在的设备文件。
同时LVM能够很好地支持例如软件Raid,裸设备等特殊磁盘类型,以及自带包括线性、条带、镜像、快照等多种功能,甚至在高版本系统中的Lvm2支持RHCS(RedHatClusterSuite)中的HALVM和ClusterLVM,能够实现HA集群中对块设备的资源共享。
写本文的初衷是因为最近不断在网上看到有朋友问及RAID尤其是软件RAID操作部署和管理方面的问题。
其实网上这样的文章不在少数,但遗憾的是在个人看来大部分内容千篇一律,所涉及的实际应用和难度也差强人意,而且雷同者或者克隆者甚多。
比较突出的问题是,相信大多数人都知道怎么去做raid,但是怎样维护,出了问题怎么去应用Raid功能的功能实现所谓的容错、备份和优化等,尤其是在一些关键的应用环境上,这方面内容则很少有人提及。
不是本人好出此风头,而是主要本着好人做到底,送佛送到西的原则,希望这篇文章能够对有需要的兄弟姐妹们提供一些帮助,当然各位在感激涕零的同时若能够良心发现考虑喝个茶,吃个包,增进一下感情的话,在下也乐意奉陪之至。
言归正传,这篇文章的目的是通过一个实际的案例来解释软件RAID的一些基本概念和特殊之处,同时关键的关键是在一些企业环境和某些业务上的应用以及维护管理方法。
尽管在大多数情况下软件Raid给人的感觉是难登大雅之堂。
首先来说说RAID:
RAID的概念对于所有的administrators来说应该都不陌生了。
RAID全称“RedundantArrayofIndependentDisks”即“独立磁盘冗余阵列”或简称“磁盘阵列”。
简单的说RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘)从而提供比单个硬盘更高的存储性能和提供数据备份技术。
组成磁盘阵列的不同方式称为RAID级别(RAIDLevels)。
当然不同的级别对应了不同的功能。
其中比较重要的当属冗余或者数据备份,数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性。
在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。
总之,对磁盘阵列的操作与单个硬盘一模一样。
在所有的RAID级别方面恐怕常用的就是Raid-0,1和5。
对于这三种Raid级别的具体区别,我不想再花时间去解释,但是一定要注意的是软件Raid还是硬件Raid。
因为尽管在级别上的定义是一样的,但是其在实现方式上有着本质的区别,这才是本文要关心的核心问题。
所谓硬件Raid就是依靠主板和服务器上的Raid控制器(硬件)来实现的Raid功能;硬件Raid效率要比软件Raid更高,但是从操作上面来讲Raid的配置和控制都是在服务器硬件层(BIOS)设置中实现的。
多数的服务器在安装系统之前都必须要建立磁盘阵列,并且系统也只能安装在磁盘阵列上。
那么一旦在BIOS完成这方面配置之后,无论是Raid的哪个级别,在操作系统中看到的磁盘都是最终形成的逻辑盘。
同样的,一旦Raid磁盘阵列出现问题,通常情况下修复也只能在硬件层面上进行。
事实上这才是我们所说的真Raid,但是硬件Raid一般来讲都需要专门的Raid控制器实现,在价格方面自然是要高出不少。
在这种情况下就产生了一个所谓软件Raid。
Raid实际上是依靠操作系统中自带的Raid配置软件来模拟硬件Raid实现阵列功能的一种做法。
相对硬件Raid来说,软件Raid效率显得不太高,但是胜在价格方面有优势,尤其是在当今这种半死不活的经济环境之下尤为吸引。
而且软件Raid还有一些其他的特性,比如其管理和控制可以在操作系统的层面上通过命令和工具实现;可以针对磁盘的分区来进行操作(尽管这是一个我现在都想不明白有什么用处的功能)。
从性价比来看,所谓穷人的宝马就是这么来的。
综上所述,作为和硬件Raid最大的区别就是软件Raid从操作系统的角度中可以看到所连接的磁盘或者分区的数量,也能够通过Raid工具软件对其进行控制和操作。
不过各位不要高兴太早,因为在软件和硬件Raid之间,还有一种Raid称为HostRaid,为什么说介乎于软硬之间呢?
因为HostRaid是一种把初级的RAID功能附加给SCSI或者SATA卡而产生的产品,他是最早由Intel所推行的一套标准。
实际上是把软件RAID功能集成到了产品的固件上,从而提高了产品的功能和容错能力。
HostRAID目前可以支持RAID0和RAID1,而且归根结底还是软Raid。
一般现在很多PC机上板载的Raid控制器,多半就是这种。
那么既然软件Raid要通过操作系统来控制和实现,因此有一个突出的问题就是他的数据同步只能同步到大多数情况下操作系统在正常运行中可见磁盘和分区的那个部分。
也就是说,以Raid-1为例,如果所有系统分区都安装到Raid-1上,那么软件Raid同步的信息只能是第一分区开始到磁盘结束的那个部分,而在第一分区之前的一些内容,实际上两个磁盘是不同步的。
简单地说就是系统安装中识别的第一块盘上会有启动引导记录等内容,而第二块盘上就没有了。
这就产生一个麻烦的问题——如果我们将所有系统分区都安装在软Raid-1构建的磁盘阵列上,那么如果第二块盘损坏,系统仍然可以开机而这个磁盘阵列也能降级使用,但是如果恰恰损坏的是第一块盘,由于在第二块盘上没有启动引导信息而导致系统无法启动,自然这个时候再添加镜像什么的也将变得无比麻烦。
因此本文就是设计了这样一个场景,来以图文的方式演示将系统根以及启动分区都安装在软件Raid-1上,对于第一块硬盘损坏之后的解决方法。
对于学习而言,坚持给自己找点麻烦是十分必要的!
不过对于这方面比较陌生的朋友来说最好找个虚拟环境进行测试,不要在玩出火的时候拎着一堆血淋淋的硬盘来戳我脊梁。
首先看我们的实验环境,一台RHEL4U7的虚拟机(选择最小安装),使用两块硬盘做Raid-1,所有的系统分区都放在Raid-1上,包括/boot,swap以及/分区。
具体情况如下:
软Raid-1其实在分区的时候就已经确定和部署好了:
在系统安装完成之后的基本情况如下:
[root@localhost~]#uname-r
2.6.9-78.ELsmp
[root@localhost~]#fdisk-l
Disk/dev/sda:
4294MB,4294967296bytes
255heads,63sectors/track,522cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/sda1*113104391fdLinuxraidautodetect
/dev/sda21478522112+fdLinuxraidautodetect
/dev/sda3795223566430fdLinuxraidautodetect
Disk/dev/sdb:
4294MB,4294967296bytes
255heads,63sectors/track,522cylinders
Units=cylindersof16065*512=8225280bytes
DeviceBootStartEndBlocksIdSystem
/dev/sdb1*113104391fdLinuxraidautodetect
/dev/sdb21478522112+fdLinuxraidautodetect
/dev/sdb3795223566430fdLinuxraidautodetect
Disk/dev/md0:
106MB,106823680bytes
2heads,4sectors/track,26080cylinders
Units=cylindersof8*512=4096bytes
Disk/dev/md0doesn'tcontainavalidpartitiontable
Disk/dev/md2:
3651MB,3651928064bytes
2heads,4sectors/track,891584cylinders
Units=cylindersof8*512=4096bytes
Disk/dev/md2doesn'tcontainavalidpartitiontable
Disk/dev/md1:
534MB,534577152bytes
2heads,4sectors/track,130512cylinders
Units=cylindersof8*512=4096bytes
Disk/dev/md1doesn'tcontainavalidpartitiontable
默认挂载情况:
[root@localhost~]#df-TH
FilesystemTypeSizeUsedAvailUse%Mountedon
/dev/md2ext33.6G806M2.7G24%/
/dev/md0ext3104M13M86M13%/boot
nonetmpfs131M0131M0%/dev/shm
以及/etc/fstab中的内容:
[root@localhost~]#cat/etc/fstab
#Thisfileiseditedbyfstab-sync-see'manfstab-sync'fordetails
/dev/md2/ext3defaults11
/dev/md0/bootext3defaults12
none/dev/ptsdevptsgid=5,mode=62000
none/dev/shmtmpfsdefaults00
none/procprocdefaults00
none/syssysfsdefaults00
/dev/md1swapswapdefaults00
/dev/hdc/media/cdromautopamconsole,exec,noauto,managed00
/dev/fd0/media/floppyautopamconsole,exec,noauto,managed00
Raid阵列情况:
[root@localhost~]#cat/proc/mdstat
Personalities:
[raid1]
md1:
activeraid1sdb2[1]sda2[0]
522048blocks[2/2][UU]
md2:
activeraid1sdb3[1]sda3[0]
3566336blocks[2/2][UU]
md0:
activeraid1sdb1[1]sda
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux RAID 部署 系统 分区 恢复 攻略