FPs

Raid 常見操作速查二

raid5

盘阵操作

  • Mega 使用megacli
  • Adaptec 使用 arcconf
  • 具体使用lspci查看盘阵卡信息。

Megacli

常見操作

  • 显示盘阵总体状况
    • megacli -ShowSummary -a0 // -a0 表示第一个控制器
  • 获取控制器日志
    • megacli -AdpAlILog -a0 //-a0表示第一个控制器

注意: 不是单词 All,而是大写字母 A、小写字母 L 和大写字母 i。

  • 获取控制器状态
    • megacli -AdpAllInfo -a0
  • 获取控制器上的硬盘信息
    • megacli -PdList -a0
  • 定位某块磁盘(通过控制盘阵上对应的指示灯)
    • megacli -PdLocate -start -PhysDrv[0:5] -a0 // 0:5 是要定位的磁盘的 Enclosure ID 和 Slot Number
  • Offline 某块磁盘

    • megacli -PDOffline -PhysDrv[0:5,0:6] // 0:5, 0:6 分别是要 Offline 的磁盘的 Enclosure ID 和 Slot Number
  • 准备移除磁盘(将 Cache 中的数据写回磁盘中,如果不写回的话新加的硬盘可能会不被识别)

    • megacli -PdPrpRmv -PhysDrv[0:5] -a0 // 0:5 是将要移除的磁盘的 Enclosure ID 和 Slot Number
  • 获取盘阵信息

    • megacli -EncInfo -a0
  • 获取盘阵状态

    • megacli -EncStatus -a0
  • 获取盘阵 vdisk 和 pdisk

    • megacli -LdPdInfo -a0 //显示方式一般是 vdisk,然后是 vdisk 包含的 pdisk,然后再是 vdisk,pdisk 等
  • 显示特定 vdisk 的信息

    • megacli -LdInfo -Lx -a0 // x 是要显示信息的 vdisk 编号,或者 all
  • 获取控制器 RAID 配置信息

    • megacli -CfgDsply -a0
Virtual Drive Information:

Virtual Drive: 1 (Target Id: 1)    //LD1

Name                :Virtual Disk 1

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

Size                : 1.818 TB

Parity Size         : 0

State               : Optimal

Strip Size          : 1.0 MB

Number Of Drives    : 1

Span Depth          : 1

Default Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU

Current Cache Policy: WriteBack, ReadAheadNone, Direct, No Write Cache if Bad BBU

Default Access Policy: Read/Write

Current Access Policy: Read/Write

Disk Cache Policy   : Disk's Default

Encryption Type     : None

Is VD Cached: No

Physical Disk Information:

Physical Disk: 0

Enclosure Device ID: 0

Slot Number: 1  //S1,盘阵第一个插槽是S0
  • 删除一个vdisk

    • megacli -CfgLdDel -L0 -a0 //删除logic disk 0
  • 建立一个vdisk

    • megacli -CfgLdAdd -rX[E0:S0] -a0 //rX是用r0,r1,r5等;E0:S0表示盘阵0,插槽0
    • 'for i in {0..14};do echo megacli -CfgLdAdd -r0[0:$i] -a0 ;done' 一般来说是是[0:0]有时候是[E0:S0],试试就知道了
    • -CfgLdAdd -rX[E0:S0,E1:S1,...] [WT|WB] [NORA|RA|ADRA] [Direct|Cached]
    • [CachedBadBBU|NoCachedBadBBU] [-szXXX [-szYYY ...]]
    • [-strpszM] [-Hsp[E0:S0,...]] [-AfterLdX] [-Force]|[Secure]
    • [-Default| -Automatic| -None| -Maximum| -MaximumWithoutCaching] [-Cache] -aN
    • 如果在创建的时候返回了 The specified physical disk does not have the appropriate attributes to complete the requested command., 说明换上的盘很可能是一块带raid信息的老盘,需要手动清除 foreign 信息。
  • 带 Foreign 的硬盘操作

    • megacli -CfgForeign -Scan -a0 //返回 foreign 的盘的数量
    • megacli -CfgForeign
    • -[Dsply|Preview|Impor|Clear] [x]|[-Passphrase sssssssssss] -aN|-a0,1,2|-aALL
    • 如果创建时出现了上述错误信息,但执行 Foreign 相关操作无效果,则可能是该盘被配置为 JBOD
  • JBOD 硬盘操作

    • megacli -PdList -a0 // 查看信息,确定其状态是否是 JBOD
    • megacli -PDMakeGood -PhysDrv[E0:S0,E1:S1,...] | [-Force] -aN|-a0,1,2|-aALL // 将状态重置成 Unconfigured good,如提示无法操作,可加 -force 参数,强制执行并清除数据
  • 备份配置信息

    • megacli -CfgSave -f filename -a0
  • 将配置信息载入

    • megacli -CfgRestore -f filename -a0
  • 逻辑盘 cache 更改

    • MegaCli -LDSetProp WT -L0 -a0 // -L 指定logic disk,-a 指定控制器
    • -Lx|-L0,1,2|-LALL -aN|-a0,1,2|-aALL
    • cache 策略可以是 WT|WB|ForcedWB
    • megacli -LDSetProp -Cached -LAll -aAll //设置 read cache
    • -Cached|Direct
    • megacli -LDGetProp -Cache -L0 -a0 //获取 read cache 的状态
    • megacli -LDSetProp EnDskCache -LAll -aAll //启用磁盘 cache
    • megacli -LDSetProp ADRA -LALL -aALL //启用 ReadAhead
  • Rebuild相关

    • megacli -AdpAutoRbld -Dsply -a0 //显示 rebuild 状态
    • -AdpAutoRbld -Dsbl // 禁止 auto rebuild
    • -AdpAutoRbld -Dsply // 显示 rebuild 状态
    • -AdpAutoRbld -Enbl // 启用 auto rebuild
    • megacli -PDRbld -ProgDsply -PhysDrv[0:5] -a0 // 显示特定硬盘的 rebuild 状态, 0:5 是 Rebuild 的磁盘的 Enclosure ID 和 Slot Number
megacli -PDRbld -Start -PhysDrv [E:S] -aN
megacli -PDRbld -Stop -PhysDrv [E:S] -aN
megacli -PDRbld -ShowProg -PhysDrv [E:S] -aN

另外一份參考:MegaCLI cheatsheet

相关工具

  • megasasctl 和 megactl 需要安装 megactl 包
  • megaraidsas-status 和 megaraid-status 需要安装 megaraid-status 包
  • megaclisas-status 需要安装 megaclisas-status 包
  • megamgr 需要安装 megamgr 包

查询 SAS 盘阵信息

sudo megasasctl
sudo megaraidsas-status
sudo megaclisas-status

查询 SATA 盘阵信息

sudo megactl
sudo megaraid-status
sudo megamgr
2016-04-10 Linux Raid Disk