Ubuntu 下通过安装 LSI megaraid megacli 命令行工具可以用来管理硬件磁盘阵列。具体安装步骤如下。
1. 添加 megaraid 源:
修改 /etc/apt/sources.list 在末尾添加
deb http://hwraid.le-vert.net/ubuntu precise main
然后执行:
apt-get update
apt-get install megacli megactl megaraid-status
如果执行提示 GPG 错误,需要执行如下命令添加证书:
wget -O - http://hwraid.le-vert.net/debian/hwraid.le-vert.net.gpg.key | sudo apt-key add -
然后再次执行:
apt-get install megacli megactl megaraid-status
这时候基本都能安装成功,下面是一些基本的命令:
查看虚拟驱动器的信息:
megacli -LDInfo -Lall -aALL
查看物理磁盘信息:
megacli -PDList -aALL
将所有事件写到指定文件:
megacli -AdpEventLog -GetEvents -f logfile -aALL
相关命令及其解析:
查看机器型号 # dmidecode | grep "Product" 查看厂商 # dmidecode| grep "Manufacturer" 查看序列号 # dmidecode | grep "Serial Number" 查看CPU信息 # dmidecode | grep "CPU" 查看CPU个数 # dmidecode | grep "Socket Designation: CPU" |wc –l 查看出厂日期 # dmidecode | grep "Date" 查看充电状态 # 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 查看充电进度百分比 # megacli -AdpBbuCmd -GetBbuStatus -aALL |grep "Relative State of Charge" 查询Raid阵列数 # megacli -cfgdsply -aALL |grep "Number of DISK GROUPS:" 显示Raid卡型号,Raid设置,Disk相关信息 # megacli -cfgdsply –aALL 显示所有物理信息 # megacli -PDList -aALL 显示所有逻辑磁盘组信息 # megacli -LDInfo -LALL –aAll 查看物理磁盘重建进度(重要) # megacli -PDRbld -ShowProg -PhysDrv [1:5] -a0 查看适配器个数 #megacli –adpCount 查看适配器时间 #megacli -AdpGetTime –aALL 显示所有适配器信息 #megacli -AdpAllInfo –aAll 查看Cache 策略设置 # megacli -cfgdsply -aALL |grep Polic硬盘方面:1、查看所有物理磁盘信息 megacli -PDList -aALLAdapter #0Enclosure Number: 1 Slot Number: 5 Device Id: 5 Sequence Number: 2 Media Error Count: 0 Other Error Count: 0 Predictive Failure Count: 0 Last Predictive Failure Event Seq Number: 0 Raw Size: 140014MB [0x11177328 Sectors] Non Coerced Size: 139502MB [0x11077328 Sectors] Coerced Size: 139392MB [0x11040000 Sectors] Firmware state: Hotspare SAS Address(0): 0x5000c50008e5cca9 SAS Address(1): 0x0 Inquiry Data: SEAGATE ST3146855SS S5273LN4Y1X0 ..... 2、查看磁盘缓存策略 megacli -LDGetProp -Cache -L0 -a0Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct or megacli -LDGetProp -Cache -L1 -a0Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct or megacli -LDGetProp -Cache -LALL -a0Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct or megacli -LDGetProp -Cache -LALL -aALLAdapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct or megacli -LDGetProp -DskCache -LALL -aALLAdapter 0-VD 0: Disk Write Cache : Disk's Default Adapter 0-VD 1: Disk Write Cache : Disk's Default 3、设置磁盘缓存策略 缓存策略解释: WT (Write through WB (Write back) NORA (No read ahead) RA (Read ahead) ADRA (Adaptive read ahead) Cached Direct 例子: megacli -LDSetProp WT|WB|NORA|RA|ADRA -L0 -a0 or megacli -LDSetProp -Cached|-Direct -L0 -a0 or enable / disable disk cache megacli -LDSetProp -EnDskCache|-DisDskCache -L0 -a0 4、创建/删除 阵列 4.1 创建一个 raid5 阵列,由物理盘 2,3,4 构成,该阵列的热备盘是物理盘 5 megacli -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct -Hsp[1:5] –a0 4.2 创建阵列,不指定热备 megacli -CfgLdAdd -r5 [1:2,1:3,1:4] WB Direct –a0 4.3 删除阵列 megacli -CfgLdDel -L1 –a0 4.4 在线添加磁盘 megacli -LDRecon -Start -r5 -Add -PhysDrv[1:4] -L1 -a0 意思是,重建逻辑磁盘组1,raid级别是5,添加物理磁盘号:1:4。重建完后,新添加的物理磁盘会自动处于重建(同步)状态,这个 时候 fdisk -l是看不到阵列的空间变大的,只有在系统重启后才能看见。 5、查看阵列初始化信息 5.1 阵列创建完后,会有一个初始化同步块的过程,可以看看其进度。 megacli -LDInit -ShowProg -LALL -aALL 或者以动态可视化文字界面显示 megacli -LDInit -ProgDsply -LALL –aALL 5.2 查看阵列后台初始化进度 megacli -LDBI -ShowProg -LALL -aALL 或者以动态可视化文字界面显示 megacli -LDBI -ProgDsply -LALL -aALL 6、创建全局热备 指定第 5 块盘作为全局热备 megacli -PDHSP -Set [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0 也可以指定为某个阵列的专用热备 megacli -PDHSP -Set [-Dedicated [-Array1]] [-EnclAffinity] [-nonRevertible] -PhysDrv[1:5] -a0 7、删除全局热备 megacli -PDHSP -Rmv -PhysDrv[1:5] -a0 8、将某块物理盘下线/上线 megacli -PDOffline -PhysDrv [1:4] -a0 megacli -PDOnline -PhysDrv [1:4] -a0 9、查看物理磁盘重建进度 megacli -PDRbld -ShowProg -PhysDrv [1:5] -a0