




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux系统下软件RAID的实现和配置 一、raid原理11、raid级别1二、在linux系统中raid的实现22、raid 0的实现过程23、raid 1的实现44、raid 5的实现55、模拟raid 1故障与排除6一、raid原理RAID是一种把多块独立的硬盘按不同方式组合起来形成一磁盘组,从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。不同的组织方式成为RAID级别。数据冗余的功能是在用户数据一旦发生损坏后,利用冗余信息可以使用损坏数据得以恢复,从而保障了用户数据的安全性。在用户看起来,组成的磁盘组就像是一个硬盘,对磁盘阵列的操作与单个硬盘一模一样。1、raid级别目前共有0-6共7种基本的RAID级别,常用的RAID级别是0,3,5。需要RAID控制器来管理物理硬盘,linux可以模拟RAID控制器,用来管理硬盘,但只支持级别0,1,4,5。1.1 raid 0RAID0通过把连接的数据访问分散到多个磁盘上来提高存储性能,这样,数据请求就可以被多个磁盘执行属于它自己的那部分数据请求。这种并行操作可以显著提高磁盘的整体存取性。1.2 raid 1RAID1又称为镜像,为了保证数据的可用性与可修复性,把用户的数据自动复制到另外一块磁盘上。1.3 raid 5RAID5是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,当RIAD5的一个磁盘数据发生损坏后,利用剩下的数据和相应的校验信息去恢复被损坏的数据。1.4 raid 10是RAID0和RAID1的组合形式,也称为RAID10。1.5 linux中软件raid(1). 使用linux内核实现软件RAID控制器(2). 需要内核支持(3). 需要相应的应用软件(raidtools)创建管理RAID设备(4). 软件RAID设备文件名:/dev/mdN(5). 软件RAID设备可以当分区看待,需要格式化后挂载 mkfs.ext3 /dev/md1 mount /dev/md1 /opt二、在linux系统中raid的实现2、raid 0的实现过程通过raid 0的实现过程来深入了解一下linux软件raid的实现过程与方法,对以后硬件raid的实现也有重要的指导意义。2.1 添加硬盘通过正常方式添加硬盘,然后分区,本实验环境是redhat linux 9,原硬盘设备是/dev/sda,新添加了两块硬盘/dev/hda, /dev/hdb。分区方案如下:/dev/hda1/dev/hdb1注:分区后要重启。2.2 安装raidtools2.2.1 查看raidtools安装情况rootredhat root# rpm -q raidtools /*默认情况已经安装了*/raidtools-1.00.3-22.2.2 查看raidtools配置文件rootredhat root# rpm -ql raidtools/sbin/arytst/sbin/detect_multipath/sbin/lsraid/sbin/mkraid /*创建raid的命令*/sbin/raid0run/sbin/raidhotadd/sbin/raidhotremove/sbin/raidreconf/sbin/raidsetfaulty/sbin/raidstart/sbin/raidstop/usr/share/doc/raidtools-1.00.3/multipath.conf.sample/usr/share/doc/raidtools-1.00.3/raid0.conf.sample #raid0示例配置文件/usr/share/doc/raidtools-1.00.3/raid1.conf.sample #raid1示例配置文件/usr/share/doc/raidtools-1.00.3/raid4.conf.sample #raid4示例配置文件/usr/share/doc/raidtools-1.00.3/raid5.conf.sample #raid5示例配置文件/usr/share/doc/raidtools-1.00.3/raidtab.sample #示例配置文件/usr/share/man/usr/share/man/man5/usr/share/man/man5/raidtab.5.gz.2.2.3 复制示例配置文件可以直接复制示例配置文件,在其基础上进行修改。#cp /usr/share/doc/raidtools-1.00.3/raid0.conf.sample /etc/raidtab2.2.4 编写配置文件rootredhat root# vi /etc/raidtabraiddev /dev/md0 # RAID设备的名称。raid-level 0 # raid的级别persistent-superblock 0 # 冗余磁盘数量chunk-size 16 # 保留块的大小,默认。nr-raid-disks 2 # RIAD磁盘的数量nr-spare-disks 0 # 不需要冗余device /dev/hda1 /*做RAID所需要的磁盘*/raid-disk 0 /*编号,与下面的不能重复*/device /dev/hdb1raid-disk 12.2.5 创建raid设备1创建raid设备rootredhat root# mkraid /dev/md0handling MD device /dev/md0analyzing super-block2格式化raid设备rootredhat root# mkfs.ext3 /dev/md02.2.6 挂载raid设备1挂载raid设备测试rootredhat /# mount /dev/md0 /optrootredhat /# df文件系统 1K-块 已用 可用 已用% 挂载点/dev/sda3 7851028 1169528 6282688 16% /dev/sda1 101089 9425 86445 10% /bootnone 127632 0 127632 0% /dev/shm/dev/md0 2063632 32828 1925976 2% /opt2开机自动挂载在/etc/fstab中加入以下内容。vi /etc/fstab/dev/md0 ext3 /opt defaults 0 02.2.7 卸载raid设备rootredhat /# umount /optrootredhat /# raidstop /dev/md0说明:如果想要真正的删除raid设备,必须把raidtab配置文件组删除,不然的话,linux在开机的时候会自动激动raid设备。3、raid 1的实现3.1 复制配置文件由于raid 1也是由两块硬盘来实现的,所以只需要修改/etc/raidtab配置文件就可以了。#cp /usr/share/doc/raidtools-1.00.3/raid1.conf.sample /etc/raidtabcp:是否覆盖/etc/raidtab? y3.2 修改配置文件rootredhat /# vi /etc/raidtabraiddev /dev/md1raid-level 1 /*raid级别1*/nr-raid-disks 2 /*需要2块磁盘*/nr-spare-disks 0chunk-size 4device /dev/hda1raid-disk 0device /dev/hdb1raid-disk 13.3 创建raid设备1创建raid设备rootredhat root# mkraid /dev/md1handling MD device /dev/md1analyzing super-blockdisk 0: /dev/hda1, 1048288kB, raid superblock at 1048192kBdisk 1: /dev/hdb1, 1048288kB, raid superblock at 1048192kB2格式化raid设备rootredhat root# mkfs.ext3 /dev/md13.4 挂载raid设备1挂载raid设备测试rootredhat /# mount /dev/md1 /optrootredhat /# df -h /*两块磁盘只有1G可用*/文件系统 容量 已用 可用 已用% 挂载点/dev/sda3 7.5G 1.2G 6.0G 16% /dev/sda1 99M 9.3M 85M 10% /bootnone 125M 0 125M 0% /dev/shm/dev/md1 1008M 17M 941M 2% /opt3.5 查看raid设备状态rootredhat /# lsraid -A -a /dev/md1dev 9, 1 /dev/md1 1494AA1E.343618C8.4B3F46CF.9FB01036 onlinedev 3, 1 /dev/hda1 1494AA1E.343618C8.4B3F46CF.9FB01036 gooddev 3, 65 /dev/hdb1 1494AA1E.343618C8.4B3F46CF.9FB01036 good4、raid 5的实现4.1 准备工作1硬盘的准备Raid 5最小需要3块磁盘。添加了三块硬盘/dev/sdb, /dev/sdc,/etc/sdd分区方案如下:容量为1G/dev/sdb1/dev/sdc1/dev/sdd1说明:改用scsi设备,因为在实验过程中分区出现了问题。2准备配置文件#cp /usr/share/doc/raidtools-1.00.3/raid5.conf.sample /etc/raidtabcp:是否覆盖/etc/raidtab? y4.2 修改配置文件rootredhat /# vi /etc/raidtabraiddev /dev/md0raid-level 5nr-raid-disks 3chunk-size 4# the best one for maximum performance:#parity-algorithm left-symmetric#nr-spare-disks 0device /dev/sdb1raid-disk 0device /dev/sdc1raid-disk 1device /dev/sdd1raid-disk 24.3 创建raid设备1创建raid设备rootredhat root# mkraid /dev/md0handling MD device /dev/md0analyzing super-blockdisk 0: /dev/sdb1, 1048560kB, raid superblock at 1048448kBdisk 1: /dev/sdc1, 1048560kB, raid superblock at 1048448kBdisk 2: /dev/sdd1, 1048560kB, raid superblock at 1048448kB2格式化raid设备rootredhat root# mkfs.ext3 /dev/md04.4 挂载raid设备1挂载raid设备测试rootredhat /# mount /dev/md0 /optrootredhat root# df -h文件系统 容量 已用 可用 已用% 挂载点/dev/sda3 7.5G 1.2G 6.0G 16% /dev/sda1 99M 9.3M 85M 10% /bootnone 125M 0 125M 0% /dev/shm/dev/md0 2.0G 33M 1.9G 2% /opt4.5 查看raid设备状态rootredhat /# lsraid -A -a /dev/md0dev 9, 0 /dev/md0 4BB6C6B3.D40E8D97.D59842DA.44EE03C5 onlinedev 8, 17 /dev/sdb1 4BB6C6B3.D40E8D97.D59842DA.44EE03C5 gooddev 8, 33 /dev/sdc1 4BB6C6B3.D40E8D97.D59842DA.44EE03C5 gooddev 8, 49 /dev/sdd1 4BB6C6B3.D40E8D97.D59842DA.44EE03C5 good5、模拟raid 1故障与排除5.1 准备raid 1环境1硬盘的准备添加了三块硬盘/dev/sdb, /dev/sdc,/etc/sdd分区方案如下:容量为1G/dev/sdb1/dev/sdc1/dev/sdd1说明:采用的上面的raid 5的准备环境,只需要两块磁盘,一块坏掉了,可以用另一块/dev/sdd1进行替换,如果有更多的磁盘,可以模拟raid5的故障恢复。2准备配置文件#cp /usr/share/doc/raidtools-1.00.3/raid5.conf.sample /etc/raidtabcp:是否覆盖/etc/raidtab? y5.2 改配置文件rootredhat /# vi /etc/raidtabraiddev /dev/md0raid-level 1 /*raid级别1*/nr-raid-disks 2 /*需要2块磁盘*/nr-spare-disks 0chunk-size 4device /dev/sdb1raid-disk 0device /dev/sdc1raid-disk 15.3 创建raid设备1创建raid设备rootredhat root# mkraid -R /dev/md0DESTROYING the contents of /dev/md0 in 5 seconds, Ctrl-C if unsure!handling MD device /dev/md0analyzing super-blockdisk 0: /dev/sdb1, 1048560kB, raid superblock at 1048448kBdisk 1: /dev/sdc1, 1048560kB, raid superblock at 1048448Kb注:由于磁盘已经创建过raid设备,必须加-R强行重新创建。2格式化raid设备rootredhat root# mkfs.ext3 /dev/md13挂载raid设备测试rootredhat root# mount /dev/md0 /mntrootredhat root# cp /var/log/messages /mnt /*拷贝文件测试*/rootredhat root# ls /mntlost+found messagesrootredhat root# df -h文件系统 容量 已用 可用 已用% 挂载点/dev/sda3 7.5G 1.2G 6.0G 16% /dev/sda1 99M 9.3M 85M 10% /bootnone 125M 0 125M 0% /dev/shm/dev/md0 1008M 17M 941M 2% /mnt5.4 模拟raid设备故障1查看raid设备状态rootredhat root# lsraid -A -a /dev/md0dev 9, 0 /dev/md0 F22EFF2A.1CFA82D6.498A576B.F90A79F7 onlinedev 8, 17 /dev/sdb1 F22EFF2A.1CFA82D6.498A576B.F90A79F7 gooddev 8, 33 /dev/sdc1 F22EFF2A.1CFA82D6.498A576B.F90A79F7 good2模拟raid设备故障说明:手工的模拟故障,造成真正的故障还不是很容易。rootredhat root# raidsetfaulty /dev/md0 /dev/sdb1rootredhat root# lsraid -A -a /dev/md0dev 9, 0 /dev/md0 F22EFF2A.1CFA82D6.498A576B.F90A79F7 onlinedev 8, 17 /dev/sdb1 F22EFF2A.1CFA82D6.498A576B.F90A79F7 faileddev 8, 33 /dev/sdc1 F22EFF2A.1CFA82D6.498A576B.F90A79F7 good由于raid 1是镜像,坏了一块盘,但是里面的数据还是能够读取的。5.5 模拟raid设备故障排除1添加一块磁盘并查看设备状态rootredhat root# raidhotadd /dev/md0 /dev/sdd1rootredhat root# lsraid -A -a /dev/md0dev 9, 0 /dev/md0 F22EFF2A.1CFA82D6.498A576B.F90A79F7 onlinedev 8, 17 /dev/sdb1 F22EFF2A.1CFA82D6.498A576B.F90A79F7 faileddev 8, 33 /dev/sdc1 F22EFF2A.1CFA82D6.498A576B.F90A79F7 gooddev 8, 49 /dev/sdd1 F22EFF2A.1CFA82D6.498A576B.F90A79F7 spare2观察冗余磁盘修复过程rootredhat root# more /proc/mdstatPersonalities : raid1read_ahead 1024 sectorsmd0 : active raid1 sdd12 sdc11 sdb10(F) 1048448 blocks 2/1 _U =. recovery = 97.2% (1020148/1048448) finish=0.0minspeed=10324K/secunused devices: rootredhat root# more /proc/mdstatPersonalities : raid1read_ahead 1024 sectorsmd0 : active raid1 sdd10 sdc11 sdb12(F) 1048448 blocks 2/2 UUunused devices: rootredhat root# lsraid -A -a /dev/md0dev 9, 0 /dev/md0 F22EFF2A.1CFA82D6.498A576B.F90A79F7 onlinedev 8, 49 /dev/sdd1 F22EFF2A.1CFA82D6.498A576B.F90A79F7 gooddev 8, 33 /dev/sdc1 F22EFF2A.1CFA82D6.498A576B.F90A79F7 good3删除原来损坏的设备rootredhat root# raidhotremove /dev/md0 /dev/sdb1rootredhat root# lsraid -A -a /dev/md0dev 9, 0 /dev/md0 F22EFF2A.1CFA82D6.498A576B.F90A79F7 onlinedev 8, 49 /dev/sdd1 F22EFF2A.1CFA82D6.498A576B.F90A79F7 gooddev 8, 33 /dev/sdc1 F22EFF2A.1CFA82D6.498A576B.F90A79F7 goodrootredhat root# more /proc/mdstatPersonalities : raid1read_ahead 1024 sectorsmd0 : active raid1 sdd10 sdc11 1048
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论