Linux下查看软、硬raid信息的方法。

软件raid:只能通过Linux系统本身来查看

cat /proc/mdstat

可以看到raid级别,状态等信息。

硬件raid: 最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdline,也有图形界面。如Adaptec公司的硬件卡就可以通过下面的命令进行查看:

# /usr/dpt/raidutil -L all

可以看到非常详细的信息。

当然更多情况是没有安装相应的管理工具,只能依靠Linux本身的话一般我知道的是两种方式:

# dmesg |grep -i raid

# cat /proc/scsi/scsi

显示的信息差不多,raid的厂商,型号,级别,但无法查看各块硬盘的信息。

另外经过实际测试,Dell的服务器可以通过命令来显示,而HP、IBM等的服务器通过上面的命令是显示不出的。只能够通过装硬件厂商的管理工具来查看。

cat /proc/scsi/scsi

可以看到是SCSI上的设备。一般情况可以看到RAID级别。lspci可以看到RAID卡的型号。

==========================================================

rpm -ivh MegaCli-1.01.09-0.i386.rpm

命令使用:
MegaCli -LDInfo -Lall -aALL 查raid级别
MegaCli -AdpAllInfo -aALL 查raid卡信息
MegaCli -PDList -aALL 查看硬盘信息
MegaCli -AdpBbuCmd -aAll 查看电池信息
MegaCli -FwTermLog -Dsply -aALL 查看raid卡日志

MegaCli常用参数介绍
MegaCli -adpCount 【显示适配器个数】
MegaCli -AdpGetTime –aALL 【显示适配器时间】
MegaCli -AdpAllInfo -aAll 【显示所有适配器信息】
MegaCli -LDInfo -LALL -aAll 【显示所有逻辑磁盘组信息】
MegaCli -PDList -aAll 【显示所有的物理信息】
MegaCli -AdpBbuCmd -GetBbuStatus -aALL |grep ‘Charger Status’ 【查看充电状态】
MegaCli -AdpBbuCmd -GetBbuStatus -aALL【显示BBU状态信息】
MegaCli -AdpBbuCmd -GetBbuCapacityInfo -aALL【显示BBU容量信息】
MegaCli -AdpBbuCmd -GetBbuDesignInfo -aALL 【显示BBU设计参数】
MegaCli -AdpBbuCmd -GetBbuProperties -aALL 【显示当前BBU属性】
MegaCli -cfgdsply -aALL 【显示Raid卡型号,Raid设置,Disk相关信息】

磁带状态的变化,从拔盘,到插盘的过程中。
Device |Normal|Damage|Rebuild|Normal
Virtual Drive |Optimal|Degraded|Degraded|Optimal
Physical Drive |Online|Failed –> Unconfigured|Rebuild|Online

============================================

MegaCli 常见用法
2008-10-24 09:32
1、准备

新版本的 MegaCli-1.01.24-0.i386.rpm 会把程序安装在/opt下,可以自定义安装目录,例如:

rpm –relocate /opt/=/usr/sbin/ -i MegaCli-1.01.24-0.i386.rpm

即把安装目录 /opt 替换成 /usr/sbin。
查看所有物理磁盘信息

MegaCli -PDList -aALL

Adapter #0

Enclosure 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): 0×0
Inquiry Data: SEAGATE ST3146855SS S5273LN4Y1X0
…..

2、查看磁盘缓存策略

MegaCli -LDGetProp -Cache -L0 -a0

Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct

or

MegaCli -LDGetProp -Cache -L1 -a0

Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct

or

MegaCli -LDGetProp -Cache -LALL -a0

Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct
Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct

or

MegaCli -LDGetProp -Cache -LALL -aALL

Adapter 0-VD 0: Cache Policy:WriteBack, ReadAheadNone, Direct
Adapter 0-VD 1: Cache Policy:WriteBack, ReadAheadNone, Direct

or

MegaCli -LDGetProp -DskCache -LALL -aALL

Adapter 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(修改之前可能需要先修改BBU:

MegaCli -LDSetProp CachedBadBBU -Lall -aALL)

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

或者以动态可视化文字界面显示

MegaCli -PDRbld -ProgDsply -PhysDrv [1:5] -a0

下载地址: http://gcolpart.evolix.net/debian/misc/dell/MegaCli-1.01.24-0.i386.rpm

=============================================

Dell 各系列的机器,只要是 PERC 的RAID控制器,都可以用 MegaRC 这个命令行工具来检测

MegaRC for Windows

http://www.lsi.com/files/support/rsa/utilities/megaconf/ut_win_megarc_1.10.zip

解压缩后,就是 megarc.exe

MegaRC for Linux

http://www.lsi.com/files/support/rsa/utilities/megaconf/ut_linux_megarc_1.11.zip

用 unzip 解压缩出来后,再 chmod 700 megarc*

Windows 和 Linux 下的参数都一样:

megarc -dispcfg -a0
./megarc -dispcfg -a0

输出结果如下:

Logical Drive : 0( Adapter: 0 ): Status: OPTIMAL
—————————————————
SpanDepth :01 RaidLevel: 5 RdAhead : Adaptive Cache
StripSz :064KB Stripes : 4 WrPolicy: WriteBack

Logical Drive 0 : SpanLevel_0 Disks
Chnl Target StartBlock Blocks Physical Target St
—- —— ———- —— ——————
0 00 0×00000000 0x0887c000 ONLINE
0 01 0×00000000 0x0887c000 ONLINE
0 02 0×00000000 0x0887c000 ONLINE
0 03 0×00000000 0x0887c000 ONLINE

如果想要通过图形界面来查看,必须装那个大家伙了: Dell OpenManage Server Administrator
Linux下有90多M,Win下的有100多M。

Dell 在 Linux 下还有一个更好的工具:raidmon (for win 的目前还没发现)

目前支持 IDE / EIDE, SCSI RAID: LSI Logic CERC ATA 100, PERC 4/DC, PERC
4/Di, PERC 4/SC, LSI Logic (formerly AMI) PERC3/DC, PERC3/DCL, PERC3/QC,
PERC3/SC

perc-cerc-apps-6.03-A06.tar.gz

http://support.dell.com/support/downloads/download.aspx?c=us&l=en&s=gen&releaseid=R71524&formatcnt=2&fileid=92846

解包下来后,有个 Megamon-4.0-0a.i386.rpm

安装结束后 /etc/init.d/raidmon start

# tail -f /var/log/megaserv.log 就可以看到检测报告。有问题的时候,此log中会有体现。

还可以编辑 /etc/megamon.conf ,将管理员的信箱加在文件末尾,这样检测到错误的时候,会自动发送邮件。
(mail.35.cn 好象当成垃圾邮件过滤掉了)

因此建议 megarc(手工) 配合 raidmon(自动) 是个比较好的解决方案。

Dell 1950 的 PERC 5/i SAS RAID 控制器用这个命令行工具:

MegaCLI for Linux

http://www.lsi.com/support/downloads/megaraid/miscellaneous/Linux_MegaCLI_1.01.24.zip

MegaCLI for Windows

http://www.lsi.com/support/downloads/megaraid/miscellaneous/Windows_MegaCLI_1.01.25.zip

# unzip Linux_MegaCLI_1.01.24.zip
# unzip MegaCliLin.zip
# rpm -ivh MegaCli-1.01.24-0.i386.rpm

# /opt/MegaCli -CfgDsply -aALL

输出如下:

==============================================================================
Adapter: 0
Product Name: PERC 5/i Integrated
Memory: 256MB
BBU: Present
Serial No: 12345
==============================================================================

RAID Level: Primary-1, Secondary-0, RAID Level Qualifier-0
Size:285568MB
State: Optimal

Physical Disk: 0
Media Error Count: 0
Other Error Count: 0
Firmware state: Online

Physical Disk: 1
Media Error Count: 0
Other Error Count: 0
Firmware state: Online

Writeback和Writethrough区别

Write caching 或 write-through

write-through意思是写操作根本不使用缓存。数据总是直接写入磁盘。关闭写缓存,可释放缓存用于读操作。(缓存被读写操作共用)

Write
caching可以提高写操作的性能。数据不是直接被写入磁盘;而是写入缓存。从应用程序的角度看,比等待完成磁盘写入操作要快的多。因此,可以提高写性
能。由控制器将缓存内未写入磁盘的数据写入磁盘。表面上看,Write
cache方式比write-through方式的读、写性能都要好,但是也要看磁盘访问方式和磁盘负荷了。
write-back(write
cache)方式通常在磁盘负荷较轻时速度更快。负荷重时,每当数据被写入缓存后,就要马上再写入磁盘以释放缓存来保存将要写入的新数据,这时如果数据直
接写入磁盘,控制器会以更快的速度运行。因此,负荷重时,将数据先写入缓存反而会降低吞吐量。

Starting and stopping cache flushing levels

这两个设置影响控制器如何处理未写入磁盘的缓存内数据,并且只在write-back
cache方式下生效。缓存内数据写入磁盘称为flushing.你可以配置Starting and stopping cache flushing
levels值,这个值表示占用整个缓存大小的百分比。当缓存内未写入磁盘的数据达到starting flushing
value时,控制器开始flushing(由缓存写入磁盘)。当缓存内未写入磁盘数据量低于stop flush
value时,flushing过程停止。控制器总是先flush旧的缓存数据。缓存内未写入数据停留超过20秒钟后被自动flushing.
典型的start flushing level是80%。通常情况下,stop flushing
level也设置为80%。也就是说,控制器不允许超过80%的缓存用于write-back
cache,但还是尽可能保持这一比例。如果你使用此设置,可以在缓存内存更多的未写入数据。这有利于提高写操作的性能,但是要牺牲数据保护。如果要得到
数据保护,你可以使用较低的start and stop
values。通过对这两个参数的设置,你可以调整缓存的读、写性能。经测试表明,使用接近的start and stop flushing
levels时性能较好。如果stop level value远远低于start value,在flushing时会导致磁盘拥塞。

Cache block size
这个值指缓存分配单元大小,可以是4K或16K。选择合适的值,可以明显的改善缓存使用性能。
如果应用程序更多时候访问小于8K的数据,而将cache block size设置为16K,每次访问仅使用一部分cache
block。在16K的cache
block里总是存储8K或更小的数据,意味着只有50%的缓存容量被有效使用,使性能下降。对于随机I/O和小数据块的传送,4K比较合适。另一方面,
如果是连续I/O 并使用大的segment size,最好选择16K。大的cache block size意味着cache
block数量少并可缩短缓存消耗延时。另外,对于同样大小的数据,cache block size大一些,需要的缓存数据传送量更小。

Linux下查看Raid磁盘阵列信息的方法的更多相关文章

  1. Linux下查看系统版本号信息的方法

    一.查看Linux内核版本命令(两种方法): 1.cat /proc/version 2.uname -a 二.查看Linux系统版本的命令(3种方法): 1.lsb_release -a,即可列出所 ...

  2. Linux下查看系统版本号信息的方法(转)

    一.查看Linux内核版本命令: 1.cat /proc/version [root@localhost ~]# cat /proc/versionLinux version 2.6.18-194.8 ...

  3. Linux下查看系统版本号信息的方法(转载)

    原文出处  http://www.ha97.com/2987.html 1.cat /proc/version [root@localhost ~]# cat /proc/versionLinux v ...

  4. linux vsftp查看ftp账号信息的方法

    linux vsftp查看ftp账号信息的方法 查看注册的FTP账号 在/etc/vsftpd/chroot_list 密码看不到 只能重置密码 passwd username

  5. linux下查看某个文件位置的方法

    linux下查看某个文件位置的方法: 例如,不知道apache的配置文件httpd.conf的位置,可以有两种方法来查看: 1.find / -name httpd.conf2.locate http ...

  6. linux查看Raid磁盘阵列信息

    软件raid:只能通过Linux系统本身来查看 cat /proc/mdstat 可以看到raid级别,状态等信息. 硬件raid: 最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdli ...

  7. Linux下查看USB设备信息

    首先需要将usbfs挂载一下,然后才能查看.$ mount -t usbfs none /proc/bus/usb$ cat  /proc/bus/usb/devices或者在文件(/etc/fsta ...

  8. linux服务器查看公网IP信息的方法

    最近在解决网络问题时,需要查看本机的出口公网IP信息,所以在网络上搜索和请求运维达人,获得如下两个方法: curl ifconfig.me 在linux系统中输入上述的命令,可以查看到本机连接的公网信 ...

  9. Linux下查看Mysql数据库端口的方法

    mysql 默认的端口是 3306,但是如果在安装的时候,修改了mysql的默认端口的话,可以采用以下方式查看 第一种方法: 直接查看数据库的配置文件 在/etc/mysql/my.cnf(Linux ...

随机推荐

  1. 转:Gerrit 学习

    转载:http://www.scmeye.com/thread-1665-1-1.html 入门Gerrit简介Gerrit是一个建立在Git版本控制系统之上,基于Web的代码审查工具,但如果你已经阅 ...

  2. jansson的使用

    https://jansson.readthedocs.org/en/2.5/gettingstarted.html https://github.com/akheron/jansson/blob/m ...

  3. -Prefix.pch has been modified 的错误修复

    方法一: 选择 Product > Clean 然后重新编译--运行: 方法二: 找到-Prefix.pch文件,把中间的 #ifdef __OBJC__ #import <UIKit/U ...

  4. Web 前端攻防(2014版)-baidu ux前端研发部

    http://fex.baidu.com/articles/page2/ Web 前端攻防(2014版) zjcqoo | 20 Jun 2014 禁止一切外链资源 外链会产生站外请求,因此可以被利用 ...

  5. oracle卸载清除注册表(彻底卸载)

    用Oracle自带的卸载程序不能从根本上卸载Oracle,从而为下次的安装留下隐患,那么怎么才能完全卸载Oracle呢? 那就是直接注册表清除,步骤如下: . 开始->设置->控制面板-& ...

  6. 用css3做一个求婚小动画

    概述 本案例主要是运用到了css3的animation.keyframes.transform等属性,熟悉了,就可以做更多的其他动画效果,这几个属性功能非常强大. 详细 代码下载:http://www ...

  7. lua入门之二:c/c++ 调用lua及多个函数返回值的获取

    当 Lua 调用 C 函数的时候,使用和 C 调用 Lua 同样类型的栈来交互. C 函数从栈中获取她的參数.调用结束后将返回结果放到栈中.为了区分返回结果和栈中的其它的值,每一个 C 函数还会返回结 ...

  8. TP3.2校验微信公众号||小程序 服务器地址

    1.在TP3.2里面,写一个控制器,用来校验微信公众号||小程序的服务器地址 <?php namespace Home\Controller; use Think\Controller; hea ...

  9. iOS添加到购物车的简单动画效果

    #pragma mark - 添加到购物车的动画效果 // huangyibiao - (void)addAnimatedWithFrame:(CGRect)frame { // 该部分动画 以sel ...

  10. Linux命令-终止进程命令:kill

    kill -l 查看进程信号 常用信号 例如: 例子参见:Linux命令-查看进程命令:pstree