NOVOTS KMS 词汇表 Glossary    联系我们 Contact Us
查询 Search  
   
按类别浏览 Browse by Category
NOVOTS KMS .: 操作系统 .: Unix/Linux .: RAID的实现

RAID的实现

RAID的实现:
RAID
:廉价冗余磁盘阵列,是将几块硬盘变成一个整体使用
后来因为它失去了原有的廉价目的,变得很昂贵,就更名为
独立冗余磁盘阵列
虽然我们无法实现硬件上得RAID因为实力有限,没有买那些设备,但是我们还是能实现RAID
下面我们就来看一下如何实现软RAID

第一:软RAID 0的实现:
首先介绍一下RAID 0 的原理,RAID 0是将一股数据流分成两份分别存在两个盘上,以实现提高一倍性能的现象,不仅如此,它还提供了很大的吞吐量,下面我们就实现一下软RAID 0
第一首先要创建两个分区【当然大于两个也是可以实现raid 0的】,在创建一个大小为2GRAID时需要
两个大小各为1G的分区,分区创建完之后记得让内核重读一下分区表,

1.  partprobe /dev/sda  

2.    

3.  [root@server56 raid10]# fdisk /dev/sda  

4.  Command (m for help): n  

5.  First cylinder (7011-15665, default 7011):        

6.  Using default value 7011  

7.  Last cylinder or +size or +sizeM or +sizeK (7011-15665, default 15665): +1G  

8.    

9.  Command (m for help): t  

10. Partition number (1-6): 5  

11. Hex code (type L to list codes): fd  

12. Changed system type of partition 5 to fd (Linux raid autodetect)  

13.   

14. Command (m for help): t  

15. Partition number (1-6): 6  

16. Hex code (type L to list codes): fd  

17. Changed system type of partition 6 to fd (Linux raid autodetect)  

18.   

19.    Device Boot      Start         End      Blocks   Id  System  

20. /dev/sda1   *           1          13      104391   83  Linux  

21. /dev/sda2              14        5235    41945715   8e  Linux LVM  

22. /dev/sda3            5236        5300      522112+  82  Linux swap / Solaris  

23. /dev/sda4            5301       15665    83256862+   5  Extended  

24. /dev/sda5            5301        5423      987966   fd  Linux raid autodetect  

25. /dev/sda6            5424        5546      987966   fd  Linux raid autodetect  

 

Linux raid autodetect是建立软RAID 是需要的系统类型一定记得在分区的时候给需要划分的那两个
分区指定成这样的类型,以下是所有可以为其指定的系统类型与系统类型的编号,在指定系统类型的时候
只需要输入前面的编号即可

1.  0  Empty           1e  Hidden W95 FAT1 80  Old Minix       bf  Solaris          

2.   1  FAT12           24  NEC DOS         81  Minix / old Lin c1  DRDOS/sec (FAT-  

3.   2  XENIX root      39  Plan 9          82  Linux swap / So c4  DRDOS/sec (FAT-  

4.   3  XENIX usr       3c  PartitionMagic  83  Linux           c6  DRDOS/sec (FAT-  

5.   4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c7  Syrinx           

6.   5  Extended        41  PPC PReP Boot   85  Linux extended  da  Non-FS data      

7.   6  FAT16           42  SFS             86  NTFS volume set db  CP/M / CTOS / .  

8.   7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set de  Dell Utility     

9.   8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext df  BootIt           

10.  9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       e1  DOS access       

11.  a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e3  DOS R/O          

12.  b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e4  SpeedStor        

13.  c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          eb  BeOS fs          

14.  e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi ee  EFI GPT          

15.  f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ef  EFI (FAT-12/16/  

16. 10  OPUS            55  EZ-Drive        a6  OpenBSD         f0  Linux/PA-RISC b  

17. 11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f1  SpeedStor        

18. 12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f4  SpeedStor        

19. 14  Hidden FAT16 <3 61  SpeedStor       a9  NetBSD          f2  DOS secondary    

20. 16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     fb  VMware VMFS      

21. 17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE   

22. 18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto  

23. 1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep          

24. 1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT    

分区创建完之后记得输入w   保存退出,若以q退出则以上分区均没有了

分区创建完之后记得格式化,为其创建文件系统ext2ext3,无论你指定怎样的文件系统类型,但是两个分区的文件系统类型必须一样,这样才能保持一致与同步工作

1.    mkfs.ext2 /dev/sda5  

2.    mkfs.ext2 /dev/sda6

3.   


格式化完成之后就可以进行下一步了,建立软RAID 0

1.    mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sda5 /dev/sda6  


【此命令的意思是创建/dev/md0,如果没有就直接创建/dev/md0RAID等级为0,由/dev/sda5
/dev/sd6
组成】

创建完之后对整个格式化,因为此时这两个分区已经在逻辑上属于一个硬盘了,


此时你可以看一下/proc/mdstat

 

这里的chunks 是磁盘读写的最小数据单位,单位是k,默认是64k
还有默认的数据块儿大小是4096k,所以,每次内核都需要计算读了多少个chunk
但是使用命令


可以直接把需要读多少个chunk告诉内核,这样可以大大的
节省CPU的空间,-b是制定一个数据块儿的大小

接下来需要给RAID 0指定一个挂在点挂上就可以了


就可以挂载使用了,
使用fdisk -l 可以查看

 

此时,应该将RAID 0的配置信息保存,以备出现故障,下次可以恢复,


下次可以直接使用

然后使用命令

将其停止
此时再用 fdisk -l 就看不见了  就完成了完整的卸载
下次再使用时  直接


,内核会自动读取/etc/mdadm.conf实现挂载全部的软RAID

如果出现意外,RAID 0的一块儿盘坏了,那么将会丢失全部的数据,于是就出现了RAID 1
先介绍一下RAID 1的原理,RAID 1是将数据流同时存到两个盘上,就像镜子一样,两个盘上都有完整的
数据,即便其中之一不幸挂了,那么照样还是有完整的数据的,但是,两个盘上存有相同的数据那么
其中一块儿盘的空间就浪费了,但是它还是提供了强大的读取能力,虽然写入的速度会和原来一样
活着不如以前,但是还是有强大的吞吐量
那么要创建一个大小为2GRAID 1 那么久需要两个大小同为2G的盘,也就是两个同为2G大小的分区来
实现软RAID 1
首先还是需要两个大小为2G的分区,系统类型还是
Linux raid autodetect
重读分区


分完区后格式化


然后就可以创建软RAID 1


此时再将这个整体格式化
mkfs.ext3
注意格式化是要保持一致
创建挂载点


挂载RAID1


此时就可以使用了
可以cd /mnt/raid1检测 ls -l  会看到


fdisk -l 
也可以看到

此时记得保存其相关信息

 

卸载的步骤与卸载RAID 0 一样,
下次使用只需要

 

如果出现意外RAID虽然也可以正常工作,但是它是工作在跛脚的状态下的,此时很容易造成另一块盘的
损坏,那么就需要给它添加一个备用的盘,软raid也一样,需要一个备用的分区去做储备
那么再分一个与前两个相同的分区,系统类型依然是fd
分区完成后重读分区表,然后格式化成与RAID 1相同的文件系统然后
我们就模拟一个分区坏了,用命令


此时就需要刚才那个分区来用了,
先将好的盘安装好之后再一处坏的盘,避免次生危害



移除坏的盘:

 


由于RAID 0RAID 1都有不足之处,所有都存在一定的风险,所以将两种方法组合起来将会减小一定的
风险,并能提供很优越的读写性能,与强大的吞吐量,实现的方法就是用RAID 0做中间层提高读写的
能力,用RAID 1做底层提供容错的能力,这样就降低了丢失全部数据的风险


实现软RAID 10是要保证RAID 0 RAID 1没有挂载就是出去卸载状态的


这样既可实现软RAID 10
此时不需要格式化了
直接挂载就可以了
先建立挂载点


挂载


即实现了软RAID 10

此时应先保存配置信息


卸载的方法与前两种一样
重新装载也于前面相同

 

如此就实现以上三种软RAID

RAID是面试时的人们话题,所以需要熟记!!!
下面就尝试一下实现RAID 5
方法基本类似

 


这篇文章对你多有用?

相关文章

article lxx万全服务器的RAID组建步骤全服务器+板载RAID配置方法
万全服务器 板载RAID(集成LSI MEGA RAID...

(No rating)  11-30-2011    Views: 1454   
article raid的几种常用模式
 

(No rating)  11-25-2019    Views: 18   
article RAID 0 系统快速恢复一法
随着现在很多主板都集成了RAID。现在很多人都用上...

(No rating)  10-22-2012    Views: 952   

用户评语

添加评语
当前还没有评语.


.: .: .: .: .:
[ 登陆 ]
北京护航科技有限公司 2006

Novots Technologies Limited