zoukankan      html  css  js  c++  java
  • Megacli 简易使用

    HP 服务器查询:
    hpacucli ctrl all show config
    hpacucli ctrl slot=1 show config detail 
    
    其他型号:
    MegaCli -LdPdInfo -aALL|more
    MegaCli -PDList -aAll| grep -Ei "(Enclosure Device|Slot Number|Raw Size|Firmware state|Foreign State|Foreign Secure)"
    
    # 查raid级别
    $ megacli -LDInfo -Lall -aALL 
    
    # 查raid卡信息
    $ megacli -AdpAllInfo -aALL 
    
    # 查看电池信息
    $ megacli -AdpBbuCmd -aAll 
    
    # 查看raid卡日志
    $ megacli -FwTermLog -Dsply -aALL 
    
    # 显示适配器个数
    $ megacli -adpCount 
    
    # 显示适配器时间
    $ megacli -AdpGetTime –aALL 
    
    # 显示所有适配器信息
    $ megacli -AdpAllInfo -aAll     
    
    # 显示所有逻辑磁盘组信息
    $ megacli -LDInfo -LALL -aAll    
    
    # 显示所有的物理信息
    $ megacli -PDList -aAll     
    
    # 查看充电状态
    $ megacli -AdpBbuCmd -GetBbuStatus -aALL |grep 'Charger Status' 
    
    # 显示BBU状态信息
    $ megacli -AdpBbuCmd -GetBbuStatus -aALL 
    
    # 显示BBU容量信息
    $ megacli -AdpBbuCmd -GetBbuCapacityInfo -aALL 
    
    # 显示BBU设计参数
    $ megacli -AdpBbuCmd -GetBbuDesignInfo -aALL    
    
    # 显示当前BBU属性
    $ megacli -AdpBbuCmd -GetBbuProperties -aALL    
    
    # 显示Raid卡型号,Raid设置,Disk相关信息
    $ megacli -cfgdsply -aALL    
    ## 磁带状态的变化,从拔盘,到插盘的过程中。
    Device           |Normal |Damage  |Rebuild |Normal
    Virtual Drive    |Optimal|Degraded|Degraded|Optimal
    Physical Drive   |Online |Failed Unconfigured|Rebuild|Online
    
    # 查看物理磁盘状态:
    $ megacli -PDRbld -ShowProg -PhysDrv  [Enclosure Device ID:Slot Number]  -a0
    ## Rebuild 中的物理磁盘状态中会显示:"Firmware state: Rebuild"
    
    # 查询 Rebuild 进度:
    $ megacli -pdrbld -showprog -physdrv[E:S] -aALL
    ## 返回内容类似于下面这样:
    Rebuild Progress on Device at Enclosure 32, Slot 5 Completed 77% in 101 Minutes.
    
    # 以文本进度条样式显示 Rebuild 进度:
    $ megacli -pdrbld -progdsply -physdrv[E:S] -aALL
    ## 屏幕显示类似下面的内容:
    Rebuild progress of physical drives...
    Enclosure:Slot               Percent Complete                       Time Elps
          032 :05   #######################87 %################*******  01:59:07 
    Press key to quit...
    
    # 查看 RAID 卡 Rebuild 参数:
    $ megacli -AdpAllinfo -aALL | grep -i rebuild
    ## 返回结果类似下面这样
    Rebuild Rate                     : 30%
    Auto Rebuild                     : Enabled
    Rebuild Rate                     : YesForce 
    Rebuild                    : Yes
    
    # 设置 RAID 卡 Rebuild 比例为60%:
    $ megacli -AdpSetProp { RebuildRate -60} -aALL
    ## 设置成功后返回:
    Adapter 0: Set rebuild rate to 60% success.
    
    重要参数
    参数名称 含义
    Firmware state 磁盘状态
    Firmware state: Online, Spun Up 磁盘正常
    Firmware state: Unconfigured(good), Spun Up 磁盘已安装,但未启用
    Firmware state: Unconfigured(bad) 故障, 对应hwcheck的 Non-Critical
    Firmware state: Failed 故障, 对应hwcheck的Critical
    Firmware state: Rebuild 重建,一般在更换磁盘时显示
    Enclosure Device ID: 32 设备
    Slot Number: 1 磁盘在服务器上的槽位
    Adapter #0 适配器编号,对应 -a 参数
    
    
    1,结合zabbix检测硬件磁盘是否有告警
    root@dx-it-tw07:~/wuxiaoyu# MegaCli -pdlist -a0 |grep -i alert
    Drive has flagged a S.M.A.R.T alert : Yes
    Drive has flagged a S.M.A.R.T alert : Yes
    Drive has flagged a S.M.A.R.T alert : No
    Drive has flagged a S.M.A.R.T alert : Yes
    Drive has flagged a S.M.A.R.T alert : No
    Drive has flagged a S.M.A.R.T alert : No
    Drive has flagged a S.M.A.R.T alert : No
    2,检测raid是否有降级
    MegaCli -AdpAllInfo -aALL -NoLog | grep "Degraded"
      Degraded        : 0 
    3,检测是否有坏盘
    MegaCli -AdpAllInfo -aALL -NoLog | grep "Failed Disks" 
      Failed Disks    : 0 
    
    查看连接RAID卡的全部硬盘详细信息
    
    MegaCli64 -PDList -aALL    ----其中ALL意思是所有的控制器,此处也可以用0表示
    
    MegaCli64 -PDList -aNN可以根据Adapter #0来确定
    
    磁盘信息过滤
    
    由于磁盘信息较多,所有可以根据自己的需要来过滤得到自己想要的信息
    
    MegaCli64 -PDList -aAll| grep -Ei "(Enclosure Device|Slot Number|Raw Size|Firmware state)"  ---粗过滤
    
    grep是过滤的意思
    
    -E参数是使用扩展正则表达式来过滤
    
    -i参数是不区分大小写来过滤
    
    Enclosure Device过滤出raid卡的ID;Slot Number过滤出磁盘的槽号;RawSize过滤出磁盘的大小;Firmware state过滤出磁盘的状态。
    
    获取指定磁盘信息
    
    MegaCli -pdInfo -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL
    
    N表示raid卡编号,0表示第一块raid卡;ALL表示所有的raid卡 ;E和S代表Enclosure Device和Slot Number
    
    磁盘上下线
    
    MegaCli64 -PDOffline/PDOnline -PhysDrv [E:S] -a0
    
    磁盘点灯
    
    MegaCli64 -PDLocate -start -physdrv[58:17] -a0
    hpacucli ctrl slot=2 pd 1I:1:0 modify led=on    HP 机器点灯
    
    MegaCli64 -PDLocate -stop -physdrv[58:17] -a0
    
    
    
    RAID组基础配置
    
    创建RAID组
    
    MegaCli -CfgLdAdd -r(0|1|5) [E:S, E:S, ...] -aN
    
    N表示raid卡编号,0表示第一块raid卡;ALL表示所有的raid卡 ;E和S代表Enclosure Device和Slot Number
    
    下面是一个创建raid5例子,属性为默认       固件状态会由Unconfigured变成Online
    
     下面给出一个创建raid10的例子,并设置属性
    
    删除RAID组
    
    MegaCli64 -CfgLdDel -LX -a0
    
    查看RAID组信息
    
    MegaCli -LDInfo -Lall -aALL (创建的示例已经使用过了)
    
    MegaCli -LdPdInfo -aALL   -----查看raid信息及raid组成磁盘信息。
    
    
    RAID Level对应关系:RAID级别一般通过 Primary 字段值来判断
    
    还需要结合Span Depth的值来判断值为1表示为 RAID-1,不为1表示 RAID-10; 还有一种情况:Primary-1, Secondary-3, RAID LevelQualifier-0 也是表示 RAID-10;
    
    RAIDLevel : Primary-0, Secondary-0, RAID Level Qualifier-0    对应RAID 0
    
    RAIDLevel : Primary-1, Secondary-0, RAID Level Qualifier-0    对应RAID 1
    
    RAIDLevel : Primary-5, Secondary-0, RAID Level Qualifier-3    对应RAID 5
    
    RAIDLevel : Primary-1, Secondary-3, RAID Level Qualifier-0    对应RAID 10
    
    修改RAID组属性
    
    MegaCli -LDGetProp -Cache -L0 -a0  获取cache属性
    
    WriteBack:写缓存策略
    
    WriteThrough:直接写入磁盘,不适用RAID卡缓存。
    
    ReadAheadNone:不开启预读
    
    ReadAhead:开启预读,在读操作的时候,预先把后面顺序的数据载入raid卡缓存,在顺序读的环境中能提供很好的性能,但是在随机读的环境中反而降低读的性能(适合文件系统,不适合数据库系统)
    
    ReadAdaptive:自适应预读,在缓存和I/O空闲时选择预读,默认策略。
    
    Direct:读操作不缓存到RAID卡缓存。
    
    Cached:读操作缓存到RAID卡缓存。
    
    如果BBU(电池)出现问题是否启用WriteCache
    
    No Write Cache if Bad BBU:如果BBU出现问题不使用WriteCache,从WriteBack自动切换到WriteThrough,默认配置。
    
    Write Cache OK if Bad BBU: 如果BBU出现问题仍启用WriteCache,这种配置是非常不安全的,除非是有UPS或者双电源的情况下。
    
    缓存策略解释:
    
    WT (WriteThrough)
    
    WB (WriteBack)
    
    NORA (ReadAheadNone)
    
    RA (ReadAhead)
    
    ADRA (ReadAdaptive)
    
    Cached
    
    Direct
    
    修改属性
    
    MegaCli64 -LDSetProp WT -L0 -a0    
    
    MegaCli64 -LDSetProp RA -L0 -a0
    
    MegaCli64 -LDSetProp Cached -L0 -a0
    
    
    清除RAID配置(慎用)
    
    MegaCli -CfgClr [-Force] -aN|-a0,1,2|-aALL
    
    
    RAID组扩展配置
    
    1.扩容过程中无法新建RAID组
    
    2.扩容过程中无法对其余RAID组扩容
    
    下面示例一个RAID5扩容:
    
    MegaCli64 -LDRecon -Start -r5 -Add -PhysDrv[58:7, 58:11] -L0 -a0
    
    查看扩容的进度(真的是超级慢)
    
    MegaCli64 -LDRecon -ShowProg -L0 -a0  显示扩容进度
    
    MegaCli64 -LDRecon -progdsply -L0 -a0  动态显示扩容进度
    
     好了,我终于等到1%了
    
    
    RAID组热备配置
    
    全局热备
    
    MegaCli64 -PDHSP -set -PhysDrv[E:S] -a0     添加全局热备
    
    MegaCli -PDHSP -rmv -PhysDrv[E:S] -a0  删除全局热备
    
    添加全局热备后,状态如下:
    
    此时下线成员盘,RAID组进入重构
    
    MegaCli64 -PDRbld -ShowProg -PhysDrv[E:S] -aALL 查看磁盘重构进度
    
     MegaCli64 -PDRbld -ProgDsply -PhysDrv[E:S] -aALL  动态显示重构进度
    
    局部热备
    
    在创建时添加局部热备
    
    MegaCli64 -CfgLdAdd -r1 [58:7,58:11] -Hsp[58:17] -a0
    
    查看RAID组信息:
    
    然后再添加一块全局热备
    
    准备工作完毕!现在下线成员盘,下线之后局部热备替换到成员组
    
    RAID组状态也变为降级
    
    rebuild的时间也很长,但此期间可以创建新的RAID组
    
    等待ing~~~~~~~~~~
    
    此时另一块盘也可以下线,不过下线rebuild就凉凉了…… 
    
    第二种是创建成功之后,给特定RAID组添加热备盘
    
    MegaCli64 -CfgLdAdd -r5 [58:7,58:11,58:17] -a0
    
    MegaCli64 -CfgLdAdd -r1 [58:19,58:23] -a0
    
    首先创建两个RAID组,然后把热备添加到第二个RAID组里(局部热备可以同时添加到多个RAID组)
    
    局部热备里的Array计算比较麻烦,这里就要用到上面提到的DG,要按DG的排序累加,一直累加到要添加热备的VD(要添加热备的VD也要计算)。
    
    1. 默认设Array为-1。
    
    2. 如果是RAID0,1,5,6,则Array加1。
    
    3. 如果是RAID10,50,则Array加2。
    
    4. 如果是RAID0,1,5,6,则返回Array最后计算的值。
    
    5. 如果是RAID10,50,则返回Array-1,Array。
    
    MegaCli64 -PDHSP -set -Dedicated [-Array1] -PhysDrv[58:18] -a0
    
    
    常见问题处理
    
    1.     Firmwarestate:Unconfigured(good), Spun down解决方法:
    
    重新热拔插指定硬盘,该状态会变成Firmware state:Unconfigured(good), Spun Up
    
    创建raid后磁盘状态也会由Spun down变成SpunUp
    解决办法:
    MegaCli -CfgLdAdd -r0 [48:5] WB Direct -a0   
    由Unconfigured(good), Spun Up  状态变为:  Firmware state: Online, Spun Up
    
    2.     Firmware state: Unconfigured(bad)解决办法:
    
    MegaCli64 -PDMakeGood -PhysDrv[E:S] -a0 固件状态会由Unconfigured(bad)变成Unconfigured(good), Spun Up
    
    # MegaCli64 -PDMakeGood -PhysDrv[252:7] -a0
    
    3.     Firmware state: failed解决办法:
    
    出现failed状态的硬盘大多已损坏,建议更换(或报修);但可以强制上线。
    
    强制上线步骤如下:
    
    可以先将磁盘下线。 # MegaCli -PDOffline-PhysDrv[E:S] -a0
    
    然后再上线。        # MegaCli -PDOnline -PhysDrv[E:S] -a0
    
    4.     以下状态的解决办法:
    
    Foreign State: Foreign
    
    Foreign Secure: Drive is notsecured by a foreign lock key
    
    
    MegaCli -LdPdInfo -aALL|more
    MegaCli -PDList -aAll| grep -Ei "(Enclosure Device|Slot Number|Raw Size|Firmware state|Foreign State|Foreign Secure)"
    MegaCli -pdlist -aall |grep 'Firmware state'
    MegaCli -pdInfo -PhysDrv[E0:S0,E1:S1,...] -aN|-a0,1,2|-aALL
    
    lsblk
    
    e2lable  /dev/sdn1  #显示文件系统的 lable name 
    e2lable /dev/sdn1  /data11  #修改/dev/sdb1的lable name 为 /data11
    办法一:可以清除恢复状态(慎用)
    
    # MegaCli64 -CfgForeign -Clear -a0  慎用
    
    办法二:导入配置,恢复虚拟磁盘组
    
    # 	MegaCli -CfgForeign -import -a0
    
    
    创建RAID组 (raid5 可以清除外来盘配置)
    
    MegaCli -CfgLdAdd -r(0|1|5) [E:S, E:S, ...] -aN
    
    扫描外来配置的个数:
    # /opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -scan -a0       
                                         
    There are 1 foreign configuration(s) on controller 0.
    
    Exit Code: 0x00
     
    清除外来配置:
    # /opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -clear -a0
                                         
    Foreign configuration 0 is cleared on controller 0.
    
    Exit Code: 0x00
    
    再次扫描外来配置的个数:
    # /opt/MegaRAID/MegaCli/MegaCli64 -cfgforeign -scan -a0 
                                         
    There is no foreign configuration on controller 0.
    
    Exit Code: 0x00
    
    
    
    5.     如何定位设备/dev/sd*由哪些磁盘组成并点亮指定硬盘。
    
     udevadm info -q path -n /dev/sda
    
    可以看出设备/dev/sda是raid下的Virtual Drive: 0
    
    然后确定Virtual Drive: 0是由哪些磁盘组成,并点亮磁盘
    
    MegaCli -ldpdinfo -a0|grep -Ei "(Virtual Drive:|RAID Level|^Size|Enclosure Device|Slot Number|Predictive Failure Count|Firmware state)"
    
    
    
    替换raid盘:
    
    
    MegaCli -PdGetMissing -a0
    MegaCli -PdReplaceMissing -PhysDrv[32:0] -array1,row0 -a0
     MegaCli -PDOnline -PhysDrv [32:0] -a0
    MegaCli -PdGetMissing -a0  再次查看
    

      

  • 相关阅读:
    一步一步学习sharepoint2010 workflow 系列第二部分:sharepoint无代码工作流 第3章 自定义工作流(Custom Designer workflows)
    巧用BroadcastReceiver实现开机“自”启动
    webview 与 javascript
    android webview设置内容的字体大小
    android中使用BitmapFactory的decodeStream()方法解码图片失败问题
    在ListView的item项里使用CheckBox或者Button时,OnItemClickListener无响应的问题
    修改Android中strings.xml文件, 动态改变数据
    在使用google map 时出现Android关于java.lang.NoClassDefFoundError问题
    android中String.xml可以传参数的资源
    android 代码实现应用强制装到手机内存
  • 原文地址:https://www.cnblogs.com/lixinliang/p/13527956.html
Copyright © 2011-2022 走看看