起因:因为有一台服务器用于数据的raid损坏了,由于服务器不能停机,所以需要使用命令方式来重建raid,为稳妥起见,先在一台相同的备机上验证了一下,记录方法如下,在博客上排版还真是一件痛苦的事情,太佩服那些排版漂亮的博主。

一、RAID主要属性如下:

——RAID Level:从下拉列表中选择可选的RAID级别。如RAID0,RAID5等。

——Strip Size:条带化大小定义了RAID配置中每个硬盘的数据块的大小。建议选择默认大小。

——Access Policy:选择数据访问的类型,主要包含:

1) RW, 允许读写操作。这是默认值。

2) Read Only(只读), 允许只读操作。

3) Blocked(禁止):不允许访问。

——Read Policy:指定虚拟驱动器的读取机制,主要包含:

1) Normal: 此选项禁用预读机制。这是默认值。

2) Ahead: 此选项启动预读机制。允许控制器提前顺序读取所需数据并且和其他数据一起存储在缓存中。这将提高顺序数据的读取速度,但是对读取随即数据的性能没有明显提升。

3) Adaptive:此选项启动可选预读机制。当两个或以上硬盘数据读取操作发生在顺序扇区中时,就启动预读机制(Ahead)。如果读取操作是随机的,控制器就会进入(Normal)默认模式。

——write Policy:指定虚拟驱动器的写操作机制,主要包含:

1) WBack: 即Write Back(回写)模式。

2) WThru: 即Write Through(直写)模式。这是默认设置。

3) Bad BBU:如果控制器的没有电池(BBU)或电池(BBU)故障,但仍想使用回写模式(WBack),则选用此选项。如果不选用此选项,当控制器检测到没有电池(BBU)或电池(BBU)损坏时,将自动切换至直写模式(WThru)。

——IO Policy:此选项允许读取一个特定的虚拟驱动器(Virtual disk)。不影响预读(read ahead)缓存。

1) Direct:该模式下读取的数据不在缓存中缓冲。而且直接从缓存传输的主机。如果相同的数据被再次读取,则直接从缓存读取。这是默认值。

2) Cached: 该模式下,所有读取的数据都要在缓存中缓冲。

——Disk Cache Policy:指定驱动器缓存的机制。

1) Enable:启动硬盘驱动器的缓存。

2) Disable:关闭硬盘驱动器的缓存。这是默认值。

3) Unchanged:保持现有的驱动器缓存机制不做改变。

——Disable BGI:指定后台初始化(Background initialization)状态:

1) No:保持后台初始化启动。这是指新的配置设定会在后台进行初始化并且此时可以使用WebBIOS进行其他的设置。这是默认值。

2) Yes:这项表示禁用后台初始化(Background initialization)。

——Select Size:指定虚拟驱动器(Virtual disk)的大小,以MB为单位。通常,这个值是该磁盘组RAID级别的最大容量。

二、查看RAID信息

# /opt/MegaRAID/MegaCli/MegaCli64 -LdInfo -Lall -aALL

Adapter 0 -- Virtual Drive Information:

Virtual Drive: 0 (Target Id: 0)

Name:

RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0

Size: 558.406 GB

Sector Size: 512

Is VD emulated: No

Mirror Data: 558.406 GB

State: Optimal

Strip Size: 256 KB

Number Of Drives: 2

Span Depth: 1

Default Cache Policy: WriteBack, ReadAhead, Cached, Write Cache OK if Bad BBU

Current Cache Policy: WriteBack, ReadAhead, Cached, Write Cache OK if Bad BBU

Default Access Policy: Read/Write

Current Access Policy: Read/Write

Disk Cache Policy: Enabled

Encryption Type: None

Bad Blocks Exist: No

PI type: No PI

Is VD Cached: No

Virtual Drive: 1 (Target Id: 1)

Name:

RAID Level: Primary-5, Secondary-0, RAID Level Qualifier-3

Size: 9.815 TB

Sector Size: 512

Is VD emulated: No

Parity Size: 1.089 TB

State: Optimal

Strip Size: 1.0 MB

Number Of Drives per span:10

Span Depth: 2

Default Cache Policy: WriteBack, ReadAhead, Cached, Write Cache OK if Bad BBU

Current Cache Policy: WriteBack, ReadAhead, Cached, Write Cache OK if Bad BBU

Default Access Policy: Read/Write

Current Access Policy: Read/Write

Disk Cache Policy: Enabled

Encryption Type: None

Bad Blocks Exist: No

PI type: No PI

Is VD Cached: No

此命令可以看到有多少个raid组,如果后续需要删除指定的RAID时需要用到,其中

“Target Id:n”,n即为第n组RAID,本例中我要删除ID 1的raid,

三、删除raid 50

#/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdDel -L1 -a0

删除命令中的L1,就是“Target Id:1”,a0指第一个raid卡设备“Adapter 0”。

删除后,如图可见group1已经被删除。

四、命令行重建raid

1、查看磁盘的Enclosure Device ID

# /opt/MegaRAID/MegaCli/MegaCli64-pdlist -a0 |more

2、创建RAID 50磁盘组。

其中20:2中的20就是Enclosure Device ID,2是Slot Number。

#/opt/MegaRAID/MegaCli/MegaCli64 -CfgSpanAdd -r50 -Array0[20:2,20:3,20:4,20:5,20:6,20:7,20:8,20:9,20:10,20:11] -Array1[20:12,20:13,20:14,20:15,20:16,20:17,20:18,20:19,20:20,20:21] -WB -RA -Cached -CachedBadBBU –strpsz1024 -a0

命令执行成功后提示:

3、发现问题:

Disk Cache Policy: Disk's Default磁盘缓存策略为磁盘默认。

原来使用webraid做的raid50的磁盘策略是:Disk Cache Policy: Enabled

Adapter 0 -- Virtual Drive Information:

Is VD Cached: No

Virtual Drive: 1 (Target Id: 1)

Name:

RAID Level: Primary-5, Secondary-0, RAID Level Qualifier-3

Size: 9.815 TB

Sector Size: 512

Is VD emulated: No

Parity Size: 1.089 TB

State: Optimal

Strip Size: 1.0 MB

Number Of Drives per span:10

Span Depth: 2

Default Cache Policy: WriteBack, ReadAhead, Cached, Write Cache OK if Bad BBU

Current Cache Policy: WriteBack, ReadAhead, Cached, Write Cache OK if Bad BBU

Default Access Policy: Read/Write

Current Access Policy: Read/Write

Disk Cache Policy: Disk's Default

Encryption Type: None

Bad Blocks Exist: No

PI type: No PI

Is VD Cached: No

Exit Code: 0x00

在命令中增加参数-Cache:

#/opt/MegaRAID/MegaCli/MegaCli64 -CfgSpanAdd -r50 -Array0[20:2,20:3,20:4,20:5,20:6,20:7,20:8,20:9,20:10,20:11] -Array1[20:12,20:13,20:14,20:15,20:16,20:17,20:18,20:19,20:20,20:21] -WB -RA -Cached -Cache -CachedBadBBU –strpsz512-a0

提示,原来是Cache放的位置不对,不能放在-CachedBadBBU –strpsz512这两个参数之前,所以会报以下错误。

命令修改为:

#/opt/MegaRAID/MegaCli/MegaCli64 -CfgSpanAdd -r50 -Array0[20:2,20:3,20:4,20:5,20:6,20:7,20:8,20:9,20:10,20:11] -Array1[20:12,20:13,20:14,20:15,20:16,20:17,20:18,20:19,20:20,20:21] -WB -RA -Cached -CachedBadBBU –strpsz1024-Cache -a0

Raid50是做好了,但是报以下错误,看来cache参数还不是Disk Cache Policy。

其他参数一一试过都没有用。

继续啃帮助发现此命令:设置磁盘缓存

# /opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -EnDskCache -L1 -a0

再次查看,OK了。

Virtual Drive: 1 (Target Id: 1)

Name:

RAID Level: Primary-5, Secondary-0, RAID Level Qualifier-3

Size: 9.815 TB

Sector Size: 512

Is VD emulated: No

Parity Size: 1.089 TB

State: Optimal

Strip Size: 1.0 MB

Number Of Drives per span:10

Span Depth: 2

Default Cache Policy: WriteBack, ReadAhead, Cached, Write Cache OK if Bad BBU

Current Cache Policy: WriteBack, ReadAhead, Cached, Write Cache OK if Bad BBU

Default Access Policy: Read/Write

Current Access Policy: Read/Write

Disk Cache Policy: Enabled

Encryption Type: None

Bad Blocks Exist: No

PI type: No PI

Is VD Cached: No

五、命令总结:

1、查看磁盘的Enclosure Device ID

# /opt/MegaRAID/MegaCli/MegaCli64-pdlist -a0 |more

2、删除raid 50

#/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdDel -L1 -a0

3、创建RAID 50

#/opt/MegaRAID/MegaCli/MegaCli64 -CfgSpanAdd -r50 -Array0[20:2,20:3,20:4,20:5,20:6,20:7,20:8,20:9,20:10,20:11] -Array1[20:12,20:13,20:14,20:15,20:16,20:17,20:18,20:19,20:20,20:21] -WB -RA -Cached -CachedBadBBU –strpsz1024 -a0

4、设置磁盘缓存策略为允许

# /opt/MegaRAID/MegaCli/MegaCli64 -LDSetProp -EnDskCache -L1 -a0

linux下创建raid50,使用MegaCli命令创建RAID50相关推荐

  1. linux剪切到另一个文件夹,linux下文件夹操作常见命令如创建、复制、剪切、重命名、清空和删除命令 实例说明...

    linux下文件夹操作常见命令如创建.复制.剪切.重命名.清空和删除命令 实例说明,在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinoz ...

  2. linux 文件复制 剪切,linux下文件或文件夹的创建、复制、剪切、重命名、清空和删除等命令总结...

    linux下文件或文件夹的创建.复制.剪切.重命名.清空和删除等命令总结 linux下文件或文件夹的创建.复制.剪切.重命名.清空和删除等命令总结. 一.目录创建 在/home/wwwroot目录下新 ...

  3. Linux下安装Weblogic10.3.6并创建简单集群测试

    Linux下安装Weblogic10.3.6并创建简单集群进行测试 一.卸载随系统安装的openjdk 1.先查看安装的jdk信息,常用命令有rpm -qa | grep java, rpm -qa  ...

  4. Linux下C语言编程-进程的创建

    Linux下C语言编程-进程的创建 作者:hoyt 1.进程的概念 Linux操作系统是面向多用户的.在同一时间可以有许多用户向操作系统发出各种命令.那么操作系统是怎么实现多用户的环境呢?在现代的操作 ...

  5. LINUX下ORACLE表空间及用户创建

    LINUX下ORACLE表空间及用户创建 记录详细过程以备使用(https://www.cnblogs.com/csyd/p/10370544.html) Connected to Oracle Da ...

  6. Linux下常见的文本处理命令

    众所周知,在Linux下"一切皆文件"的原则,一切配置文件都可以以文本的方式进行编辑.存储.故对文本文件的操作能力,决定着你是否能够在Linux下操纵自如.今天,就写下几个关于Li ...

  7. svn在linux下的使用(svn命令)[转]

    svn在linux下的使用(svn命令)[转] 原地址:http://www.rjgc.net/control/content/content.php?nid=4418 1.将文件checkout到本 ...

  8. Linux按压缩率大小排序,Linux下常用压缩 解压命令与压缩比率对比

    常用的格式有: tar, tar.gz(tgz), tar.bz2, 不同方式,压缩和解压方式所耗CPU时间和压缩比率也差异也比较大. 1. tar 只是打包动作,相当于归档处理,不做压缩:解压也一样 ...

  9. linux下tar命令解压缩,tar解压缩命令 Linux下的tar压缩解压缩命令详解

    <tar解压缩命令 Linux下的tar压缩解压缩命令详解>由会员分享,可在线阅读,更多相关<tar解压缩命令 Linux下的tar压缩解压缩命令详解(14页珍藏版)>请在人人 ...

最新文章

  1. etcd分布式之服务发现需要
  2. 使用 Autofac 进行依赖注入
  3. python读写文件实例_python读写文件的简单示例
  4. 鲜花海报设计没有思路?看这里吧!
  5. linux命令行终端设置tab补全文件名或路径不区分大小写(大小写不敏感)
  6. C# sql参数拼接时,防止sql注入
  7. md 文件编辑 Markdown 使用教程
  8. STM32单片机全自动锂电池容量电量检测放电电流电池电压ACS712
  9. VScode 英文翻译成中文插件(英语差的福音)
  10. 集群容错机制:failover、failfast、failback、failsafe、forking
  11. linux系统amd驱动怎么安装教程,ubuntu amd显卡驱动安装教程
  12. kafka单条消息太大引起的线上故障
  13. VUE 当前页获取来源路由地址
  14. 不学c语言能学mysql吗_学C语言难不难?以及简说数据库
  15. Qt -设计嵌入式设备用户界面的利器
  16. 将id=5以及emp_no=10001的行数据替换成id=5以及emp_no=10005
  17. JVM内存不足增大运行时内存
  18. python:Excel
  19. Python面试题解析之前端、框架和其他
  20. ubuntu硬盘修复

热门文章

  1. 开源求职招聘微信小程序源码+完整搭建教程
  2. Java程序员必会!java工具栏不见了
  3. opencv3.3+dnn+caffe深度学习来实现图片的分类识别
  4. 【令牌不能为空】接口无法调用的原因分析
  5. Jackson详情分析:用于诊断和疾病监测的血清学检测
  6. SpringBoot项目中过滤器Filter的配置
  7. Oracle MySQL Hive sql判断字符串中包含某个字符的个数
  8. ArchLinux+Win10双系统安装踩坑指南(2021.08)
  9. 神马搜索移动网站优化指南
  10. 驾校科目一总结(跟着宝哥学java题外总结:::)