searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

RAID相关技术及常用RAID卡使用简介

2024-11-20 09:15:25
5
0

1. 简介

a. 什么是RAID

RAID:即Redundant Array of Independent Disks,独立磁盘冗余阵列。由多个独立的高性能磁盘组成磁盘子系统,提供比单个磁盘更高的存储性能数据冗余

RAID卡:提供RAID功能的硬件板卡。

RAID组:也叫硬盘组,“Drive Group”(简称“DG”)、“Array”、“RAIDGroup”(简称“RG”)。就是将一组物理硬盘组合起来(按照不同的RAID级别),作为一个整体对外体现,是虚拟磁盘的基础。

虚拟磁盘:“Virtual Drive”、“Virtual Disk”(简称“VD”)、“Volume”、“Logical Device”(简称“LD”)。即使用硬盘组划分出来的连续的数据存储单元,相当于一个个独立的硬盘,通过一定的配置,使其具有比单个物理硬盘更大的容量,及更高的安全性和数据冗余性。一般创建好的虚拟磁盘在linux系统重会识别为具体的盘符sdasdb等等。

这里要注意:一个RAID组可以创建多个VD

JBODJust a Bunch Of Disks),简单来说,JBOD模式下,RAID卡将其下属的磁盘直接上报给Linux系统,此时磁盘不组成RAID组,Linux系统中的盘符和物理磁盘一一对应。

总结:

1、 RAID卡下属的物理磁盘可以组成raid组,一个raid组可以创建多个虚拟磁盘;

2、 raid模式下,Linux系统中的盘符和RAID卡上创建的虚拟磁盘一一对应;

3、 jbod模式下,Linux系统中的盘符和RAID卡下属的物理磁盘一一对应;

4、 raid模式和jbod模式可以共存。

b.常用RAID卡介绍

厂家

RAID卡型号

工具

博通

LSI SAS3108

Avago SAS3508

Avago SAS3408iMR

Avago SAS3416iMR

Avago SAS3516

Avago MegaRAID SAS 9440-8i

Avago MegaRAID SAS 9460-8i

Avago MegaRAID SAS 9460-16i

。。。

下载链接见broadcom官网

微芯

MSCC SmartRAID 3152-8i

MSCC SmartHBA 2100-8i

。。。

下载链接见microchip官网

华为

SP686C

SP186

暂未公开发售,一般为hiraidadm工具。

 

2. RAID级别

a. RAID0

RAID0:代表了所有RAID级别中最高的存储性能。

RAID 0提高存储性能的原理是把连续的数据分散到多个硬盘上存取。这样,当系统有数据请求时就可以在多个硬盘上并行执行,每个硬盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高硬盘整体读写性能。

但由于其没有数据冗余,无法保护数据的安全性,只能适用于I/O速率要求高,但数据安全性要求低的场合。

组成RAID0所需的物理硬盘数一般为1~N


b. RAID1

RAID1:即每个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时同时从工作盘和镜像盘读出。

当更换故障盘后,数据可以重构,恢复工作盘正确数据。

RAID 1可靠性高,但其有效容量减小到总容量一半,因此常用于对容错要求较高的应用场合。

组成RAID1所需的物理硬盘数一般为2


c. RAID5

RAID5:是一种存储性能、数据安全和存储成本兼顾的存储解决方案。

RAID的某个成员盘出现故障时,通过其他成员盘上的数据可以重新构建故障硬盘上的数据。RAID 5既适用于大数据量的操作,也适用于各种小数据的事务处理,是一种快速、大容量和容错分布合理的磁盘阵列。

RAID 5可以理解为是RAID 0RAID 1的折衷方案,组成RAID5所需的物理硬盘数一般为3~N

PA=A0A1A2


d. RAID6

RAID6:在RAID 5的基础上,RAID 6增加了第二个独立的奇偶校验信息块。

两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块硬盘同时失效也不会影响数据的使用。

RAID 6需要分配给奇偶校验信息更大的硬盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”较差。

组成RAID6所需的物理硬盘数一般为4~N

PA=A0A1A2

QA=aA0bA1cA2


e. RAID10

RAID10:即RAID1+RAID0。组成RAID10所需的物理硬盘数一般为4~N


f. RAID50

RAID50:即RAID5+RAID0。组成RAID10所需的物理硬盘数一般为6~N


g. RAID60

RAID60:即RAID6+RAID0。组成RAID60所需的物理硬盘数一般为8~N


 

3. 使用

a. 判断raid卡类型

一般命令行使用lspcilsscsi两种命令判断raid卡类型:

博通卡:一般关键词为MegaRAIDBroadcom等关键词。

微芯卡:一般关键词为PMxxxxLOGICAL等关键词。

 

b. 博通卡相关操作


StorCLI的安装路径为/opt/MegaRAID/storcli/,或者直接拷贝压缩包下的storcli64工具后chmod

查卡

 ./storcli64 show

记录Ctl字段,卡编号,后续命令中的{card}字段。

 

查看当前VD列表

 ./storcli64 /c{card} show

记录VD LIST中的VD字段,虚拟磁盘编号,后续命令中的{vd}字段。

 

查看当前PD列表
 ./storcli64 /c{card} show

记录PD LIST中的EIDSlt字段,分别为物理磁盘的框号和槽位号,后续命令中的{enc_id}{slot_id}字段。

 

查询VD详细信息

 ./storcli64 /c{card}/v{vd} show all

查询PD详细信息

./storcli64 /c{card}/e{enc_id}/s{slot_id} show all

删除VD

 ./storcli64 /c{card}/v{vd} del

创建VD

 ./storcli64 /c{card} add vd r{raid_level} size={size/all} drives={enc_id}:{slot_id}

VD扩容

 ./storcli64 /c{card}/v{vd} expand size={size}

RAID组扩盘

 ./storcli64 /c{card}/v{vd} start migrate type=r{raid_level} option=add drives={enc_id}:{slot_id}

JBOD

 ./storcli64 /c{card} set jbod={on|off}; ./storcli64 /c{card}/e{enc_id}/s{slot_id} set jbod

 

c. 微芯卡相关操作


ARCCONF工具的安装路径为/usr/Arcconf,或者直接拷贝压缩包下的Arcconf工具后chmod

查卡

 ./arcconf list

记录ID字段,卡编号,后续命令中的{card}字段。

 

查看当前VD列表

 ./arcconf list {card}

记录Logical device information中的ID字段,虚拟磁盘编号,后续命令中的{vd}字段。

 

查看当前PD列表

 ./arcconf list {card}

记录Physical device information中的Physical IDLun ID字段,分别为物理磁盘的框号和槽位号,后续命令中的{enc_id}{slot_id}字段。

 

查看当前VD详细信息

./arcconfgetconfig{card}ld

查看当前PD详细信息

./arcconfgetconfig{card}pd

删除VD

 ./arcconf delete {card} logicaldrive {vd} noprompt

创建VD

 ./arcconf create {card} logicaldrive {size/max} {raid_level} {enc_id} {slot_id} ...

VD扩容

 ./arcconf modify {card} from {vd} to {size} {raid_level} {enc_id} {slot_id} ...

RAID组扩盘

 ./arcconf modify {card} array {raid_id} expand {enc_id} {slot_id} ...

JBOD

 ./arcconf uninit; ./arcconf uninit {card} {enc_id} {slot_id} noprompt

d. 华为卡相关操作

暂未对外发布工具下载链接。

查卡

     hiraidadm show allctrl

查看当前VD

     hiraidadm c{card} show vdlist; hiraidadm c{card}:vd{vd} show

查看当前PD

     hiraidadm c{card} show pdlist; hiraidadm c{card}:e{enc_id}:s{slot_id} show

删除VD

     hiraidadm c{card}:vd{vd} delete [noprompt]

创建VD

     hiraidadm c{card} create vd raid{raid_level} name=vd0 size={size/max_left} drives={enc_id}:{slot_id}

VD扩容

     hiraidadm  /c{card}/v{vd} expand size={size}

RAID组扩盘

     暂无。

JBOD

     hiraidadm  /c{card} set jbod={rawdrive|off}; hiraidadm c{card}:e{enc_id}:s{slot_id} set jbod

 

 

0条评论
0 / 1000
c****5
1文章数
0粉丝数
c****5
1 文章 | 0 粉丝
c****5
1文章数
0粉丝数
c****5
1 文章 | 0 粉丝
原创

RAID相关技术及常用RAID卡使用简介

2024-11-20 09:15:25
5
0

1. 简介

a. 什么是RAID

RAID:即Redundant Array of Independent Disks,独立磁盘冗余阵列。由多个独立的高性能磁盘组成磁盘子系统,提供比单个磁盘更高的存储性能数据冗余

RAID卡:提供RAID功能的硬件板卡。

RAID组:也叫硬盘组,“Drive Group”(简称“DG”)、“Array”、“RAIDGroup”(简称“RG”)。就是将一组物理硬盘组合起来(按照不同的RAID级别),作为一个整体对外体现,是虚拟磁盘的基础。

虚拟磁盘:“Virtual Drive”、“Virtual Disk”(简称“VD”)、“Volume”、“Logical Device”(简称“LD”)。即使用硬盘组划分出来的连续的数据存储单元,相当于一个个独立的硬盘,通过一定的配置,使其具有比单个物理硬盘更大的容量,及更高的安全性和数据冗余性。一般创建好的虚拟磁盘在linux系统重会识别为具体的盘符sdasdb等等。

这里要注意:一个RAID组可以创建多个VD

JBODJust a Bunch Of Disks),简单来说,JBOD模式下,RAID卡将其下属的磁盘直接上报给Linux系统,此时磁盘不组成RAID组,Linux系统中的盘符和物理磁盘一一对应。

总结:

1、 RAID卡下属的物理磁盘可以组成raid组,一个raid组可以创建多个虚拟磁盘;

2、 raid模式下,Linux系统中的盘符和RAID卡上创建的虚拟磁盘一一对应;

3、 jbod模式下,Linux系统中的盘符和RAID卡下属的物理磁盘一一对应;

4、 raid模式和jbod模式可以共存。

b.常用RAID卡介绍

厂家

RAID卡型号

工具

博通

LSI SAS3108

Avago SAS3508

Avago SAS3408iMR

Avago SAS3416iMR

Avago SAS3516

Avago MegaRAID SAS 9440-8i

Avago MegaRAID SAS 9460-8i

Avago MegaRAID SAS 9460-16i

。。。

下载链接见broadcom官网

微芯

MSCC SmartRAID 3152-8i

MSCC SmartHBA 2100-8i

。。。

下载链接见microchip官网

华为

SP686C

SP186

暂未公开发售,一般为hiraidadm工具。

 

2. RAID级别

a. RAID0

RAID0:代表了所有RAID级别中最高的存储性能。

RAID 0提高存储性能的原理是把连续的数据分散到多个硬盘上存取。这样,当系统有数据请求时就可以在多个硬盘上并行执行,每个硬盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高硬盘整体读写性能。

但由于其没有数据冗余,无法保护数据的安全性,只能适用于I/O速率要求高,但数据安全性要求低的场合。

组成RAID0所需的物理硬盘数一般为1~N


b. RAID1

RAID1:即每个工作盘都有一个镜像盘,每次写数据时必须同时写入镜像盘,读数据时同时从工作盘和镜像盘读出。

当更换故障盘后,数据可以重构,恢复工作盘正确数据。

RAID 1可靠性高,但其有效容量减小到总容量一半,因此常用于对容错要求较高的应用场合。

组成RAID1所需的物理硬盘数一般为2


c. RAID5

RAID5:是一种存储性能、数据安全和存储成本兼顾的存储解决方案。

RAID的某个成员盘出现故障时,通过其他成员盘上的数据可以重新构建故障硬盘上的数据。RAID 5既适用于大数据量的操作,也适用于各种小数据的事务处理,是一种快速、大容量和容错分布合理的磁盘阵列。

RAID 5可以理解为是RAID 0RAID 1的折衷方案,组成RAID5所需的物理硬盘数一般为3~N

PA=A0A1A2


d. RAID6

RAID6:在RAID 5的基础上,RAID 6增加了第二个独立的奇偶校验信息块。

两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块硬盘同时失效也不会影响数据的使用。

RAID 6需要分配给奇偶校验信息更大的硬盘空间,相对于RAID 5有更大的“写损失”,因此“写性能”较差。

组成RAID6所需的物理硬盘数一般为4~N

PA=A0A1A2

QA=aA0bA1cA2


e. RAID10

RAID10:即RAID1+RAID0。组成RAID10所需的物理硬盘数一般为4~N


f. RAID50

RAID50:即RAID5+RAID0。组成RAID10所需的物理硬盘数一般为6~N


g. RAID60

RAID60:即RAID6+RAID0。组成RAID60所需的物理硬盘数一般为8~N


 

3. 使用

a. 判断raid卡类型

一般命令行使用lspcilsscsi两种命令判断raid卡类型:

博通卡:一般关键词为MegaRAIDBroadcom等关键词。

微芯卡:一般关键词为PMxxxxLOGICAL等关键词。

 

b. 博通卡相关操作


StorCLI的安装路径为/opt/MegaRAID/storcli/,或者直接拷贝压缩包下的storcli64工具后chmod

查卡

 ./storcli64 show

记录Ctl字段,卡编号,后续命令中的{card}字段。

 

查看当前VD列表

 ./storcli64 /c{card} show

记录VD LIST中的VD字段,虚拟磁盘编号,后续命令中的{vd}字段。

 

查看当前PD列表
 ./storcli64 /c{card} show

记录PD LIST中的EIDSlt字段,分别为物理磁盘的框号和槽位号,后续命令中的{enc_id}{slot_id}字段。

 

查询VD详细信息

 ./storcli64 /c{card}/v{vd} show all

查询PD详细信息

./storcli64 /c{card}/e{enc_id}/s{slot_id} show all

删除VD

 ./storcli64 /c{card}/v{vd} del

创建VD

 ./storcli64 /c{card} add vd r{raid_level} size={size/all} drives={enc_id}:{slot_id}

VD扩容

 ./storcli64 /c{card}/v{vd} expand size={size}

RAID组扩盘

 ./storcli64 /c{card}/v{vd} start migrate type=r{raid_level} option=add drives={enc_id}:{slot_id}

JBOD

 ./storcli64 /c{card} set jbod={on|off}; ./storcli64 /c{card}/e{enc_id}/s{slot_id} set jbod

 

c. 微芯卡相关操作


ARCCONF工具的安装路径为/usr/Arcconf,或者直接拷贝压缩包下的Arcconf工具后chmod

查卡

 ./arcconf list

记录ID字段,卡编号,后续命令中的{card}字段。

 

查看当前VD列表

 ./arcconf list {card}

记录Logical device information中的ID字段,虚拟磁盘编号,后续命令中的{vd}字段。

 

查看当前PD列表

 ./arcconf list {card}

记录Physical device information中的Physical IDLun ID字段,分别为物理磁盘的框号和槽位号,后续命令中的{enc_id}{slot_id}字段。

 

查看当前VD详细信息

./arcconfgetconfig{card}ld

查看当前PD详细信息

./arcconfgetconfig{card}pd

删除VD

 ./arcconf delete {card} logicaldrive {vd} noprompt

创建VD

 ./arcconf create {card} logicaldrive {size/max} {raid_level} {enc_id} {slot_id} ...

VD扩容

 ./arcconf modify {card} from {vd} to {size} {raid_level} {enc_id} {slot_id} ...

RAID组扩盘

 ./arcconf modify {card} array {raid_id} expand {enc_id} {slot_id} ...

JBOD

 ./arcconf uninit; ./arcconf uninit {card} {enc_id} {slot_id} noprompt

d. 华为卡相关操作

暂未对外发布工具下载链接。

查卡

     hiraidadm show allctrl

查看当前VD

     hiraidadm c{card} show vdlist; hiraidadm c{card}:vd{vd} show

查看当前PD

     hiraidadm c{card} show pdlist; hiraidadm c{card}:e{enc_id}:s{slot_id} show

删除VD

     hiraidadm c{card}:vd{vd} delete [noprompt]

创建VD

     hiraidadm c{card} create vd raid{raid_level} name=vd0 size={size/max_left} drives={enc_id}:{slot_id}

VD扩容

     hiraidadm  /c{card}/v{vd} expand size={size}

RAID组扩盘

     暂无。

JBOD

     hiraidadm  /c{card} set jbod={rawdrive|off}; hiraidadm c{card}:e{enc_id}:s{slot_id} set jbod

 

 

文章来自个人专栏
存储相关技术简介
1 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0