一,raid级别介绍
Raid 0
一块硬盘或者以上就可做 Raid0【硬盘使用率100%】
优势:数据读取写入最快,最大优势提高硬盘容量,比如 3 块 80G 的硬盘做 Raid0 可用总容量为 240G。速度是一样。
缺点:无冗余能力,一块硬盘损坏,数据全无。
建议:做 Raid0 可以提供更好的容量以及性能,推荐对数据安全性要求不高的使用。
Raid 1
至少 2 快硬盘可做 Raid1【硬盘使用率50%】
优势:镜像,数据安全强,2 快硬盘做 Raid 一块正常运行,另外一块镜像备份数据,保障数据的安全。一块坏了,另外一块硬盘也有完整的数据,保障运行。
缺点:性能提示不明显,做 Raid1 之后硬盘使用率为 50%.
建议:对数据安全性比较看着,性能没有太高要求的人使用。
Raid5
至少需要 3 块硬盘 Raid5【硬盘使用率75%】
优势:以上优势,Raid5 兼顾。任意 N-1 块硬盘都有完整的数据。
缺点:只允许单盘故障,一盘出现故障得尽快处理。有盘坏情况下,Raid5 IO/CPU 性能狂跌,此时性能烂到无以复加。
建议:盘不多,对数据安全性和性能提示都有要求,Raid5 是个不错选择,鉴于出问题的性能,盘多可考虑 riad10
Raid6
至少需要 4 块硬盘做 Raid6【硬盘使用率50%】
优势:Raid6 是再 Raid5 的基础上为了加强数据保护而设计的。可允许损坏 2 块硬盘。
可用容量:C=(N-2)×D C=可用容量 N=磁盘数量 D=单个磁盘容量。
比如 4 块 1T 硬盘做 Raid6 可用容量是:(4-2)×1000GB=2000GB=2T
缺点:性能提升方面不明显
建议:对数据安全性要求高,性能要求不高的可选择。
Raid10
至少需要 4 快硬盘。Raid10 是 2 块硬盘组成 Raid1,2 组 Raid1 组成 Raid0,所以必须需要 4 块硬盘。
优势:兼顾安全性和速度。基础 4 盘的情况下,Raid10 允许对柜盘 2 块故障,随着硬盘数量的提示,容错量也会相对应提升。这是 Raid5 无法做到的。
缺点:对盘的数量要求稍高,磁盘使用率为一半。【硬盘使用率50%】
建议:硬盘数量足够的情况,建议 Raid10。
二,Linux系统storcli64工具使用
1,storcli64工具安装
storcli64已经基本代替了megacli,整合了LSI和3ware所有产品
64位系统命令的绝对路径为:/opt/MegaRAID/storcli/storcli64
工具常见应用场景:在无法停机情况下,单盘RAID0配置。
2,查看RAID卡ID,硬盘背板ID
./storcli64 show
设备RAID卡信息 有一张ID=0的AVAGOMegaRAIDSAS9460-8i卡
![](https://i-blog.csdnimg.cn/blog_migrate/f3240544483e7ecbc42640a722f61dbd.jpeg)
./storcli64 /c0 show
查看ID为0的RAID卡信息
./storcli64 /c0/eall show
查看所有硬盘背板ID等信息
3,创建和删除RAID
命令格式:
./storcli64 /ccontroller_id add vd rlevel size=capacity drives=enclosure_id:startid-endid
./storcli64 /ccontroller_id/vraid_id del
参数说明:
controller_id:RAID卡的ID
level:要配置的RAID级别 可为RAID 0、1、5、6、10、50、60
capacity:要配置的RAID容量
enclosure_id:硬盘所在Enclosure的ID
startid-endid:要加入RAID的硬盘的起始和结束ID
raid_id:要删除的RAID的ID
4,实战演练
# RAID卡ID=0 硬盘startid-endid ID=1 EnclosureID=252 创建RAID 0(单盘raid0)
./storcli64 /c0 add vd r0 drives=252:1
#RAID卡ID=0 硬盘startid-endid ID =0,1,2,3,4,5 EnclosureID=141的硬盘创建RAID 5(6块盘做一组raid5)
./storcli64 /c0 add vd r5 drives=141:0-5
#给硬盘ID=0,1,2,3,4,5 EnclosureID=141的硬盘创建RAID0(单独为每一块物理磁盘同时创建raid0)
./storcli64 /c0 add vd each type=raid0 drives=141:0,1,2,3,4,5
5,实战场景
12块数据盘需要每三块盘坐一组raid5,./storcli64 /c0 show查看硬盘状态为JBOD模式,无法做raid,需要将硬盘模式改为UG
语法结构:./storcli64 /ccontroller_id/eenclosure_id/sslot_id set state
controller_id:RAID卡的ID
enclosure_id:硬盘所在EID
slot_id:物理硬盘槽位编号
state:设置硬盘的状态
硬盘状态有以下参数:
jbod:通过该参数可以将硬盘设置为直通硬盘
online:将硬盘上线。当Degraded状态的RAID组中有成员盘是offline状态时,可通 过该参数,将RAID组中offline的成员盘重新加入RAID组,使offline状态的成员盘重新变成online状态
offline:将硬盘离线。使用该参数,会将目标硬盘脱离RAID组,导致具有冗余功能的RAID组降级(如果离线的硬盘数量超过RAID组最大故障硬盘数量,RAID组也会变成offline状态);没有冗余功能的RAID组会直接变成Failed(故障)状态。
good:ubad状态的硬盘,使用该参数可将硬盘设为ugood(foreign)状态,此时可选择导入或清除外来配置。 JBOD状态的硬盘,使用该参数可将硬盘设为ugood状态,ugood状态的硬盘可用于创建RAID或者热备盘
./storcli64 /c0/e8/s9 set good force 修改为UG模式
./storcli64 /c0 add vd r5 drives=8:2-4 2 3 4三块盘做一组raid5
6,设备单个硬盘状态为Ubad状态如何解决。
可以使用命令./storcli64 /c0/fall delete删除掉控制器c0的所有外部配置信息,删除后DG状态为空,可以正常使用。或者使用./storcli64 /c0 /fall import,导入外部配置来解决。
./storcli /c0/fall delete或者./storcli64 /c0 /fall import
7,设置全局热备和局部热备
语法结构:
./storcli64 /ccontroller_id/eenclosure_id/sslot_id add hotsparedrive [dgs=vd_id]
vd_id:局部热备盘所属虚拟磁盘的ID
enclosure_id:硬盘所在EID
#设置slot 3硬盘为全局热备盘。
./storcli64 /c0/e252/s3 add hotsparedrive
# 设置slot 3硬盘为vd0的局部热备盘
./storcli64 /c0/e252/s3 add hotsparedrive dgs=0
#删除热备盘
./storcli64 /c0/e252/s3 delete hostsparedrive
./storcli64 /c0/e252/s3 delete hostsparedrive dgs=0
8,设置RAID卡的硬盘直通功能的使能情况,并指定直通硬盘
语法结构:
./storcli64 /ccontroller_id set jbod=state
./storcli64 /ccontroller_id/eenclosure_id/sslot_id set JBOD
Stat:on (打开直通功能 才可做硬盘JBOD) off(关闭直通功能)
# 使能RAID卡的硬盘直通功能,并设置slot 7硬盘为直通盘。
./storcli64 /c0 set jbod=on
./storcli64 /c0/e252/s7 set JBOD
9,设置硬盘定位指示灯状态
命令功能:
点亮和熄灭指定硬盘的定位指示灯
命令格式:
./storcli64 /ccontroller_id/eenclosure_id/sslot_id action locate
参数说明:
controller_id:硬盘所在RAID卡的ID
enclosure_id:硬盘所在Enclosure的ID(可以为all,表示点亮所有Enclosure下属的硬盘的定位指示灯。)
slot_id:硬盘槽位号(可以为all,表示点亮Enclosure下属的所有硬盘的定位指示灯。)
action:要执行的操作(start:点亮硬盘的定位指示灯。stop:熄灭硬盘的定位指示灯。)
实战演练
# RAID卡ID=0 EnclosureID=143点亮slot= 7硬盘的定位指示灯。
./storcli64 /c0/e252/s5 start locate
10,丝滑小连招,创建raid
所有数据盘做一组raid6
./storcli64 /c0/vall show 查看设备所作的raid
./storcli64 /c0/v9 del force 删除VD1所作的raid10
./storcli64 /c0/eall/sall show 查看所有盘状态 UG模式可以直接做,JBOD模式需要修改成UG,参开上面
./storcli64 /c0 add vd r6 drives=252:4-7 做4块盘组一组raid6
完成创建。
11,Ansible批量做raid0
1,提前准备好设备清单,账户 密码 storcli64文件
2,ansible -i hosts all -m copy -a 'src=/home/xxxxx/storcli64 dest=/tmp'#将文件传到目标主机
3,ansible -i hosts all -m shell -a 'chmod 755 /tmp/storcli64'#给文件赋权
4,ansible -i hosts all -m shell -a '/tmp/storcli64 show'#查看设备几张raid卡
5,ansible -i hosts all -m shell -a '/tmp/storcli64 /c0/vall show'#查看raid卡ID为0的设备所作raid信息
6,ansible -i hosts all -m shell -a '/tmp/storcli64 /c0/v1 del force' #删除VD1所作的raid10
7,ansible -i hosts all -m shell -a '/tmp/storcli64 /c0/eall/sall show' #查看所有硬盘状态
8,ansible -i hosts all -m shell -a '/tmp/storcli64 /c0 add vd each r0 drives=252:2,3,4,5,6,7' #同时6块盘做单盘raid0
9,ansible -i hosts all -m shell -a '/tmp/storcli64 /c0/vall show'#验证实施结果查看设备所作raid
文档第一部分来源于网络,第二部分个人总结,有错误及时留言指正。
三,Linux系统sas3ircu工具使用
工具上传不上来,可以直接在网上找一下。
1,查看RAID卡信息
./sas3ircu list 查看所有控制器
./sas3ircu 0 display#查看RAID卡、物理硬盘的详细信息
2,硬盘点灯
点亮控制器0,背板号2,slot0硬盘指示灯:
./sas3ircu 0 locate 2:0 on
./sas3ircu 0 locate 2:0 off(关闭)
实例:客户报修sdx盘符I/O报错,硬盘指示灯均正常,如何进行硬盘定位?
思路:1、使用smartctl –a /dev/sdx 或者 ll /dev/disk/by-id/ | grep sdx 获取硬盘SN;
2、使用./sas3ircu 0 display | grep 硬盘SN -A 3 -B 8 获取该硬盘SN对应的背板号和slot号;
3、使用./sas3ircu 0 locate 2:0 on 点亮硬盘指示灯(假设硬盘槽位是2:0)
4、更换硬盘前建议客户将该故障硬盘umount,再进行更换。
3,删除,创建,raid组
controller_id:RAID卡的ID
RAIDgroup_ID:raid组的ID
Level:要配置的raid卡级别
Capacity:要配置的raid组容量(可配置为MAX)
enclosure_id:背板号ID
slot_id:硬盘slot槽位
name:raid组名称(自定义,也可以忽略)
创建
语法:sas3ircu controller_id create RAIDlevelcapacity enclosure_id:slot_id name noprompt(创建raid组)
创建控制器0 背板号为2 硬盘slot槽位为2 3 4 5 6 7 8 9 10 11的raid10(10块盘组一组raid10)
./sas3ircu 0 create raid10 MAX 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 2:11 noprompt
创建单盘raid0
./sas3ircu 0 create RAID0 MAX 2:12 noprompt
创建2块盘组一组raid1
./sas3ircu 0 create RAID1 MAX 2:12 2:13 noprompt
删除
语法:sas3ircu controller_id delete nopromp(删除全局raid)
sas3ircu controller_iddeletevolumeRAIDgroup_ID nopromp (删除指定raid组)
删除控制器0 ID为604的RAID组
./sas3ircu 0 deletevolume 604 noprompt
4,创建删除全局热备盘
./sas3ircu 0 hotspare 2:12(创建)
创建过程中会提示要先选YES再选NO方可创建成功。
./sas3ircu 0 hotspare delete 2:12(删除)
sas3ircu用法汇总
5,用法汇总
sas3ircu -h 查看帮助信息
sas3ircu list 查看所有RAID控制器信息
sas3ircu 0 display 查看第一块RAID控制器、volume、物理磁盘等信息。这里数字0代表第一块RAID卡,依次类推。如果只有一块RAID卡,也是0。
sas3ircu 0 status 查看第一块RAID控制器所有逻辑磁盘信息
sas3ircu 0 delete noprompt 删除第一块RAID控制器上所有RAID配置
sas3ircu 0 create raid 1 max 2:0 2:1 noprompt 在第一块RAID控制器上将第一块与第二块物理磁盘配置为RAID1,分配最大使用空间。
sas3ircu 0 create raid10 max 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 2:11 noprompt 在第一块RAID控制器上将第三块到第十二块物理磁盘配置为RAID10,分配最大使用空间.
sas3ircu 0 bootir 286 设置Volume ID号为286的RAID组为预先可引导模式
sas3ircu 0 hotspare 2:10 配置第11块物理硬盘为热备
sas3ircu 0 hotspare delete 2:10 删除热备硬盘
sas3ircu 0 logir 上传或清除日志信息