在企业中一般不是使用软
RAID , 而是直接使用RAID卡直接管理RAID , RAID一般有三种:HBA,adapter ,LSI RAID卡 , 并通过其中内置命令创建 , 管理RAID 这里说明storcli64命令的使用

1 基本语法

获取控制器号 : storcli64 /call show all

  • /c : 控制器号 输出结果中的Controller 值

  • /v RAID号

  • /e : 背板号 输出结果EID值

  • /f : 外部配置

  • /s : 槽位号 输出结果的Slt值

2 控制器管理命令

2.1 查看控制器状态

  • 查看RAID控制器摘要信息 : storcli64 show

  • 查看详细RAID控制器信息 : storcli64 show all

  • 查看帮助文档 : storcli64 -h

  • 查看控制器属性语法 : storcli64 /cx show <properties>

2.2 设置控制器

  • 查看蜂鸣器状态 : strocli64 /c0 show alarm

  • 设置某个属性语法 : storcli64 /cx set <properties>

  • 如设置蜂鸣器开启 : storcli64 /cx set alarm=on

3.磁盘管理

3.1 查看物理磁盘状态

storcli64 -PDList -aALL

[root@node01 ~]# storcli64 -PDList -aAll
Adapter #0
​
Enclosure Device ID: 104
Slot Number: 0
Drive's postion: DiskGroup: 0, Span: 0, Arm: 0
Enclosure position: 0
Device Id: 105
WWN: 5000c500b1d5889c
Sequence Number: 2
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SATA
​
Raw Size: 3.638 TB [0x1d1c0beb0 Sectors]
Non Coerced Size: 3.637 TB [0x1d1b0beb0 Sectors]
Coerced Size: 3.637 TB [0x1d1b00000 Sectors]
Logical Sector Size: 512 
Physical Sector Size:  512
Firmware state: Online, Spun Up
Commissioned Spare : No
Emergency Spare : No
Device Firmware Level: TN04
Shield Counter: 0
Successful diagnostics completion on :  N/A
SAS Address(0): 0x56c92bf000dcfb4c
Connected Port Number: 0(path0) 
Inquiry Data:             ZC177PAFST4000NM0035-1V4107                     TN04    
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: None 
Device Speed: 6.0Gb/s 
Link Speed: 6.0Gb/s 
Media Type: Hard Disk Device
Drive:  Not Certified
Drive Temperature :29C (84.20 F)
PI Eligibility:  No 
Drive is formatted for PI information:  No
PI: No PI
Drive's NCQ setting : Enabled
Port-0 :
Port status: Active
Port's Linkspeed: 6.0Gb/s 
Drive has flagged a S.M.A.R.T alert : No

对于每块物理磁盘的描述信息 , 主要关注一下几项 :

  1. Slot Number : 表示磁盘的插槽位置 , 可以根据Slot Number序列值推断是否有磁盘离线

  2. Medai Error Count : 表示磁盘可能错误 , 可能是磁盘有坏道 , 这个值不为0值得注意 , 数值越大 , 危险系数越高

  3. Other Error Count : 表示磁盘可能存在松动 , 可能需要重新再插入 Predictive Failure Count : ( 预测性失败统计)

  4. Firmware state : 表示磁盘的状态 , 可以判断磁盘是否损坏。正常状态是Online, Spun Up

3.2 查看磁盘

  • 查看控制器为0 背板为36槽位号为1的磁盘 storcli64 /c0/e36/s1 show

  • 查看控制器0 所有背板及背板上的所有磁盘信息 storcli64 /c0/eall/sall show

  • 查看所有控制器 所有背板 背板上的所有磁盘的详细信息 storcli64 /call/eall/sall show all

3.3 设置磁盘状态

  • 设置控制器 0 背板36 槽位号为1的磁盘状态为good storcli64 /c0/e36/s1 set good

  • 设置控制器 0 背板36 槽位号为1的磁盘状态为offline storcli64 /c0/e36/s1 set offline

  • 设置控制器为0 背板为36 槽位号为1的磁盘状态为online storcli64 /c0/e36/s1 set online

3.4 磁盘初始化

磁盘在其他系统中使用过磁盘不干净的情况下需对磁盘进行初始化 , 初始化会清理掉磁盘上的所有数据

  • 查看正在初始化的磁盘 storcli64 /cx/ex/sx show initialization

  • 磁盘开始初始化 storcli64 /cx/ex/sx start initialization

  • 停止磁盘的初始化 storcli64 /cx/ex/sx stop initialization

3.5 磁盘定位

  • 开始定位 storcli64 /cx/ex/sx start locate

  • 停止定位 storcli64 /cx/ex/sx stop locate

4 RAID

4.1 新建RAID

必须含有的参数 RAID类型 RAID大小 RAID名称 和包含的磁盘

  • 语法 : storcli64 /cx add RAID r 0|1|5|6|10|50|60 Size=<RAID1_Sz>,<RAID2_Sz>,..|*all name=<RAIDNAME1>,drives=e:s|e:s-x|e:s-x,y;e:s-x,y,z

  • 示例 :

使用默认参数创建的RAID5 读策略为ra: Read ahead 写策略wt io策略为direct 条带大小为256 
 storcli64 /c0 add RAID r5 size=all name=diskarray01 drives=36:15-16,36:18
设置读写策略条带大小的RAID5
storcli64 /c0 add vd r5 size=all name=diskarray01 drives=50:5-7,50:9 awb ra cached strip=256

参数

值

描述

type

RAID 0|1|5|6|10|50|60

RAID配置

size

最大不超过所能设置的最大值

虚拟磁盘的大小 , 多个值逗号分开

name

最大15位字节

RAID名称

drives

e:s|e:s-x|e:s-x,y:

有效的enclosure和slot号 e enclosure ID .e:s-x enclosure中的slot号.

direct|cached

cached direct

IO策略 , 默认为direct

wt|wb

wt: Write through. wb: Write back. awb:Always Write back带电池的情况

写策略 , 默认为wt

nora|ra

ra: Read ahead. nora: No read ahead.

读策略 , 默认为ra

4.2热备

  1. 在查看磁盘状态信息时磁盘状态 : storcli64 /c0 /eall/sall show

    • UGOOD : 空闲盘。

    • DHS : 专属热备盘

    • GHS : 全局热备

  2. 添加专属热备

    • 获得dgs号 storcli64 /call/vall show 可看到DG及dgs的值为特定的DG配置热备

    • 获取空闲磁盘storcli64 /c0 /eall/sall show磁盘状态为UGOOD

    • 添加专属热备盘语法 : storcli64 /cx/ex/sx add hotsparedrive dgs=x //dgs号:表示对应的磁盘组号

      storcli64 /c0/e3/s6 add hotsparedrive dgs=0 
      #背板为3 , 槽位为6的磁盘做 dgs为0的RAID的专属热备                                
  3. 添加全局热备 storcli64 /cx/ex/sx add hotsparedrive

    storcli64 /c0/e3/s6 add hotsparedrive    
    #背板为3 , 槽位为6的磁盘作为全局热备
  4. 删除热备 storcli /c0/ex/sx delete hotsparedrive

  5. 删除RAID

    • 先查看要删除的RAID查看到对应的VD号 storcli64 /c0/vall show

    • 删除RAID storcli64 /cx/vx del

    storcli64 /c0/v1 del  删除虚拟设备号为1的RAID 
    storcli64 /cx/vx del force 删除含有用户数据(MBR或者分区信息)的RAID
  6. 查看RAID

    查看控制器上的所有
    RAID storcli64 /call/vall show
    查看具体的RAID虚拟设备号为1的详细信息
    storcli64 /c0/v1 show all
  7. RAID缓存设置

    设置写缓存语法 : storcli64 /cx/vx set wrcache=wt|wb|awb  
                    wt 是关闭缓存
                    wb 在RAID卡没有电池的情况下开启写缓存 
                    awb在RAID卡含有电池的情况下开启写缓存
    设置读缓存语法 : storcli64 /cx/vx set racache=nora|ra nora不会读缓存里面内容 ra 先读缓存里有的内容
    设置io 优先级的语法 : storcli64 /cx/vx set iopolicy=direct|cached
    开启读缓存 
    storcli64 /call/v1 set rdcache=ra 
    开启写缓存 
    开启写缓存需要先设置IO优先级为缓存 storcli /c0/v1 set iopolicy=cached
    storcli64 /call/v1 set wrcache=wb
    或者 storcli64 /call/v1 set wrcache=awb
    关闭读缓存 
    storcli64 /call/v1 set rdcache=nora
    关闭写缓存 
    storcli64 /call/v1 set wrcache=wt
  8. RAID初始化

    查看快速初始化 
    storcli64 /cx/vx show init  
    开启快速初始化 
    storcli64 /cx/vx start init
    开启完全初始化
    storcli64 /cx/vx start init full
    停止初始化
    storcli64 /cx/vx stop init
     RAID5(5块以上)和RAID6(6块以上)在进行快速初始化时会转到后台进行初始化
    查看后台初始化
    storcli64 /cx/vx show bgi
    停止初始化
    storcli64 /call/v1 stop bgi
    挂起初始化
    storcli64 /call/v1 suspend bgi
  9. RAID一致性校验

    查看校验
    storcli64 /cx/vx show cc
    开启一致性校验
    storcli64 /cx/vx start cc
    停止校验
    storcli64 /cx/vx stop cc
    查看一致性校验执行的具体时间
    storcli64 /cx show cc
    设置卡自带的一致性校验方式顺序或者并发
    storcli64 /cx set consistencycheck=seq|con
    关闭卡自带的一致性校验 
    storcli64 /cx set cc=off
  10. copyback

    storcli64 /cx/ex/sx start copyback target=e:s 
    开始copyback  , target 表示原热备盘
    storcli64 /cx/ex/sx stop copyback 
    停止copyback
    storcli64 /cx/ex/sx pause copyback 
    暂停copyback 
    storcli64 /cx/ex/sx resume copyback 
    恢复copyback 
    storcli64 /cx/ex/sx show copyback 
    显示copyback
    storcli64 /cx set copyback=<on|off> type=smartssd|smarthdd|all 
    设置copy类型

5. 日志

查看RAID基本详细日志
# storcli64 /cx show AliLog
​
清除所有日志事件 
# storcli64 /cx clear events 
​
删除TTY(用于故障定位的固件输出信息) 日志  
# storcli64 /cx delete termlog
​
将日志信息保存到指定文件  
# storcli64 /cx show events file=<absolute path>
​
查看产生日志文件的历史信息  
# storcli64 /cx show eventloginfo
​
查看term log 日志配置或者日志信息 
# storcli64 /cx show termlog type=config|contents

5 异常情况

5.1 异常断电对初始化影响

RAID0,RAID1 , RAID5(小于5块盘),RAID(小于6块盘),RAID10 , RAID50 , RAID60在重启之后不会再进行初始化 RAID5(5块以上) 和 RAID6(6块以上) 会停止前台初始化 , 在后台进行初始化 , 使用命令 storcli64 /c0 show bgi可以查看到

5.2 拔盘热备和1块数据盘恢复

先拔掉raid的热备盘,再拔掉1个数据盘,使存储处于降级状态。

而后开始恢复数据盘操作:

将数据盘盘插回去
查看磁盘状态
# storcli64 /c0/ex/sall show all
磁盘状态为ubad
​
设置磁盘状态为good
# storcli64 /c0/ex/sx set good
​
查看磁盘状态
storcli64 /c0/ex/sx show
磁盘状态为 UGOOD -F
​
导入磁盘
storcli64 /c0/fall import 
​
查看磁盘状态 
storcli64 /c0/ex/sx show
磁盘状态为 Onln 0
磁盘状态为 UGOOD -  磁盘为可用状态
​
查看raid状态
storcli64 /c0/vx show
raid已重新上线,RAID恢复正常
​
插回热备盘,按照上述方法导入,重新成为热备

7.3 RAID 已损坏恢复磁盘可用

卸载已损坏raid上建的文件系统:umount ....

删除已顺坏raid上的lvm管理映射:

dmsetup remove /dev/p1/* (p1为raid上存储池名)

echo 1 > /sys/block/sdb/device/delete (sdb为实际区下)

删除损坏的raid: storcli64 /cx/vx del

熊熊