lsiutil to add hot spare drive on line for mpt raid controllers

environment: HP ProLiant ML150 G5 with Ubuntu 8.04 installed

  • Run “mpt-status –i 1” to get the current array information.

    ioc0 vol_id 1 type IM, 2 phy, 231 GB, state DEGRADED, flags ENABLED
    ioc0 phy 0 scsi_id 2 ATA      GB0250C8045      HPG2, 232 GB, state ONLINE, flags NONE
    ioc0 phy 1 scsi_id 9 ATA      GB0250EAFJF      HPG1, 232 GB, state FAILED, flags OUT_OF_SYNC
  • Run “cat /proc/scsi/scsi” to get the available drives information
  • Run “lsiutil”
    • Select the correct port, you can find the information from the 1st step
    • Select 8, and then 16 to confirm the physical drive information, recommended
    • Then select 21 to enter “RAID actions”
    • Select 50 “Create hot spare”
    • You need to figure out the 2 parameters yourselves, I forgot to write down
    • 1st is something like the drive number, you have to compare the information I asked you to collect
    • 2nd is something like the spare group, I suggest you use the same number you use for “mpt-status –i”
    • Then if you select 2 “show physical disks” you will see your hot spare drive
    • Last we run 99 “reset port” to activate the hot spare.
    • Select 0 until you back to shell
  • Run “mpt-status –i 1” again to confirm it is now recovering
    ioc0 vol_id 1 type IM, 2 phy, 231 GB, state DEGRADED, flags ENABLED RESYNC_IN_PROGRESS
    ioc0 phy 2 scsi_id 2 ATA      GB0250C8045      HPG2, 232 GB, state ONLINE, flags NONE
    ioc0 phy 0 scsi_id 3 ATA      GB0250EAFYK      HPG1, 232 GB, state ONLINE, flags OUT_OF_SYNC

MegaCli命令速查[转]

转自http://hi.baidu.com/ytjwt/blog/item/6d2dfd108c85db70cb80c4e1.html

最近,老是磁盘error,而自己确没有迅速的定位,实在是感到杯具,看到同事们MegaCli查看raid及磁盘错误信息,我这里粘贴下网上别人用的命令,方便自己查阅(另dmesg:显示开机信息,dmidecode,硬件信息)

MegaCli用起来还是很简单的。摘抄一些比较常用的参数如下:

显示适配器个数: 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
查看Cache 策略设置: MegaCli -cfgdsply -aALL |grep Policy
查看充电进度百分比: MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Relative State of Charge’

当挂载一磁盘到raid卡上时,是通过fdisk -l查看不了的。我们需要对其做raid,

在线创建raid:

MegaCli -CfgLdAdd -r0 [1:10] WB Direct -a0
MegaCli -CfgLdAdd -r0 [1:11] WB Direct -a0
echo "scsi add-single-device 0 2 1 0" >/proc/scsi/scsi
echo "scsi add-single-device 0 2 2 0" >/proc/scsi/scsi

这样在fdisk -l 就能看到了

RAID 5时,当磁盘坏了,备盘变为online后,如果坏的磁盘已经修好,那么我们需要把修好的盘变为备盘,命令如下:

MegaCli -PDHSP -Set [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0
# MegaCli -PDHSP -set -PhysDrv[A:B] -aC
A:  it’s Enclosure Number
B: It’s Slot NUmber
C: It’s Array ID2

各种设备和磁盘的不同状态:

Device         |Normal|Damage|Rebuild|Normal
Virtual Drive     |Optimal|Degraded|Degraded|Optimal
Physical Drive     |Online|Failed –> Unconfigured|Rebuild|Online

完整的操作手册在这里:http://www.lsi.com/DistributionSystem/AssetDocument/80-00156-01_RevF.pdf

PS:
关于缓存与电池的操作

强制打开写入缓存(慎用

MegaCli -LDSetProp CachedBadBBU -LALL -aALL
MegaCli -LDSetProp ForcedWB -LALL -aALL

设定没有电池就不缓存:

MegaCli -LDSetProp WB -LALL -aALL
MegaCli -LDSetProp NoCachedBadBBU -LALL -aALL

linux下使用mdadm进行软raid升级

参考:http://scotgate.org/2006/07/03/growing-a-raid5-array-mdadm/

好多年没有玩过raid了,最近又开始搞起来了硬件配置,这才知道,现在的raid与五年前的raid相比已经有很大进行了。大部分的raid卡都支持raid升级了,不仅仅是阵列里面的硬盘数可以升级,连raid级别都可以改变,实在是让人叹为观止。

linux下的软raid也可以进行升级,目前我只知道可以进行硬盘数目的添加。具体操作方法如下:

1,先添加逻辑盘到阵列中做备用盘(spare)

mdadm --add /dev/md1 /dev/sdf1

2,然后升级阵列到你想要的硬盘数目。示例中的4就是阵列中不包括备用盘的硬盘数目为4个

mdadm --grow /dev/md1 --raid-devices=4

3,最后进行分区检查并进行逻辑容量扩容。

fsck.ext3 /dev/md1
resize2fs /dev/md1

什么是RAID,在linux下面创建软件RAID

什么是RAID

RAID(Redundant Arrays of Independent Disks,独立磁盘冗余阵列)是一种使用多硬盘驱动器来存储数据的数据存储系统。可以使用多种不同的存储技术来实现不同等级的冗余、错误恢复和性能。简单的说,RAID是一种把多块独立的硬盘(物理硬盘)按不同方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据冗余的技术。

从实现的方式来说,RAID可以分为硬RAID与软RAID:

  • 通过用硬件来实现RAID功能的就是硬RAID,比如:各种RAID卡,还有主板集成能够做的RAID的都是硬RAID。
  • 通过用操作系统来完成RAID功能的就是软RAID,比如:在我们后面来做的软RAID1。

Read More »

关于做了软raid或者LVM的启动故障(fstab丢失)解决

在进行系统修复的时候,通常都要进行chroot操作,这时候,如果fstab也丢失或者损坏的话

救援光盘就会找不到原来的系统,或者找到一个错误的系统

如果只是普通的文件系统,比如ext2,ext3之类,或者大家都知道怎么应付

其实也比较简单,进入救援模式的命令行之后,mount上原有的根分区,然后 建立新的,或者修改错误的fstab即可

做了LVM的其实也简单,只要一个命令,激活逻辑卷组,生成dev设备文件

lvm vgchange -a y

然后,只不过把平常大家熟悉的hda, hdb或者sda, sdb换成LVM的卷组与逻辑卷名即可

但是,如果是软raid的话,很多人可能无从下手,因为找不到可以mount的设备

如果直接mount/dev/mdX的话,会提示出错

其实在救援光盘中,是可以找到软raid信息的

但是我不清楚,为什么他不直接给挂上去

在救援模式下,我们在挂载软raid之前,只要用一个小命令

raidstart /dev/mdX

这样子,救援系统就可以重建你的软raid /dev/mdX 然后再跟以前一样mount上去就OK了