Linux存储管理命令与HAB相关命令

简介:

首先了解Linux中的设备命名规则:在安装和使用Linux的过程中,您必然会接触到不少像hda1、ttyS0、eth0这样的设备名称。在Linux中,每个设备必须在它的驱动程序控制下运行,驱动程序则与/dev目录下的特殊文件联系在一起,尽管这些文件并不是真正的文件,但在选择设备或者操作设备时都以这个文件的名称来代表这一设备。这些设备名称的命名都是有规则的:  在/dev目录下,每一个驱动器以一个单独的设备文件来表现。

  通常最常见的是硬盘,对于IDE硬盘一般可以有二到四个。这就是/dev/hda、/dev/hdb、/dev/hdc和/dev/hdd,hd是硬盘的意思,a则是代表第一个设备,hda1中的“1”代表hda的第一个硬盘分区,依此类推。而SCSI硬盘也就是/dev/sda、/dev/sdb等等,sd是SCSI设备的意思,第一个SCSI硬盘是/dev/sda, fd是软盘,设备名称是/dev/fd0。Linux 计算机中磁带机的设备名是: /dev/st*和/dev/nst*, 其中nst*是操作完成后不自动回卷磁带, st*则是自动 回卷, 一般常用nst*. 主机SCSI总线上找到的第一个磁带机是nst0和st0, 第二个则是nst1和st1, 依此类推. 磁带机的SCSI号越小, 其设备名也就越靠前。

1. lsmod

  lsmod命令用来列出当前系统加载的模块,可以当作硬件模块浏览器。
使用权限:
格式:lsmod [-hV]  
主要选项:
-h :显示帮助信息。
-V:显示软件版本信息。
应用说明:使用lsmod命令必须安装Linux安装盘中的modutils 软件包。我们看一个lsmod命令实例,如图1。

2. uname

  uname 命令用来显示输出系统信息。
使用权限:超级用户。
格式:uname [选项]
主要选项:  
-a, --all :显示所有的信息。 
-m, --machine :显示硬件类型 。
-n, --nodename :显示机器的网络节点主机名。 
-r, --release :显示操作系统发行版本。 
-s, --sysname :显示操作系统名。 
-p, --processor :显示主机处理器(CPU)类型。 
-v :显示操作系统版本。 
--help :显示本帮助并退出。 
--version: 显示版本信息并退出。   
应用实例:
#uname –a
Linux cao 2.4.20-8#1Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux

3 .lspci

  lspci命令用来查看主板所有硬件槽信息。
使用权限:所有用户。
格式:lspci [<switches>]
-v:显示详细信息。
-n:显示设备ID号。
-b:显示PCI、ISA扩展槽地址和中断。
-t:显示总线树结构。
-F <file> :从指定文件读信息。
-m:输出所有硬件信息。
应用实例:
当系统硬件出现故障时,可以使用lspci命令输出所有硬件信息。以帮助确定故障点。

4. sync

sync命令用来将内存缓冲区内的数据写入磁盘。

使用权限:所有用户。

格式:

sync

应用说明:在Linux系统中,当数据需要存入磁盘时,通常会先放到缓冲区内,等到适当的时刻再写入磁盘,如此可提高系统的执行效率。


5. e2label

e2label命令用来设定或显示ext2或ext3分区的卷标。

使用权限:超级用户。

格式:

e2label device [ new-label ]

主要选项:

device:分区设备名称。

new-label:新设定的卷标名称。不能超过16字符。

应用实例:为一个新创建的分区建立卷标名称:1111,使用命令:

#e2label /deva9 1111


6. findfs

findfs命令用来查找指定卷标的文件系统。

使用权限:超级用户。

格式:

findfs LABEL=<label>

findfs UUID=<uuid>

主要选项:

LABEL=<label> :卷标名称。

UUID=<uuid>:分区的UUID号。

应用说明:随着Linux系统中硬盘容量和数目的增加,Linux系统中分区数量也越来越多,使用findfs命令可以通过卷标名称或UUID号快速定位分区位置。

应用实例:

查找卷标名称是:ar/ftp的分区位置,使用命令:

#findfs LABEL=ar/ftp

/deva9


7. badblock

badblock 命令用来检查磁盘中损坏的区块。

使用权限:超级用户。

格式:

badblocks [-b block_size] [-i input_file] [-o output_file] [-svw]

 [-c blocks_at_once] [-p num_passes] device [last_block [start_count]

主要选项:

-b block_size:指定磁盘的区块大小,单位为字节。

-i input_file:读出上次的检查的结果中的坏块列表。

-o output_file:将检查的结果写入指定的输出文件。

-s:   在检查时显示进度。

-v:  执行时显示详细的信息。

-w:  在检查时,执行写入测试。

-c blocks_at_once:每个区块检查次数。确省值16次。

-p num_passes:通过的数量。确省值0。

start_count:指定要从哪个区块开始检查。

last_block:指定结束检查的区块。

device:指定要检查的磁盘装置。

应用实例:

#badblocks -b 4096 /deva1 -o badblocks-list

以4096的一个block,每一个block检查16次,将结果输入badblocks-list,badblocks-list是一个文本文件。如果硬盘正常的话,应该badblocks-list是没有任何内容的。


8.iostat


 以前一直不太会用这个参数.现在认真研究了一下iostat,因为刚好有台重要的服务器压力高,所以放上来分析一下.下面这台就是IO有压力过大的服务器


$iostat -x 1

Linux 2.6.33-fukai (fukai-laptop)          _i686_    (2 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle

           5.47    0.50    8.96   48.26    0.00   36.82

 

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util

sda               6.00   273.00   99.00    7.00  2240.00  2240.00    42.26     1.12   10.57   7.96  84.40

sdb               0.00     4.00    0.00  350.00     0.00  2068.00     5.91     0.55    1.58   0.54  18.80

rrqm/s:   每秒进行 merge 的读操作数目.即 delta(rmerge)/s

wrqm/s:  每秒进行 merge 的写操作数目.即 delta(wmerge)/s

r/s:           每秒完成的读 I/O 设备次数.即 delta(rio)/s

w/s:         每秒完成的写 I/O 设备次数.即 delta(wio)/s

rsec/s:    每秒读扇区数.即 delta(rsect)/s

wsec/s:  每秒写扇区数.即 delta(wsect)/s

rkB/s:      每秒读K字节数.是 rsect/s 的一半,因为每扇区大小为512字节.(需要计算)

wkB/s:    每秒写K字节数.是 wsect/s 的一半.(需要计算)

avgrq-sz: 平均每次设备I/O操作的数据大小 (扇区).delta(rsect+wsect)/delta(rio+wio)

avgqu-sz: 平均I/O队列长度.即 delta(aveq)/s/1000 (因为aveq的单位为毫秒).

await:    平均每次设备I/O操作的等待时间 (毫秒).即 delta(ruse+wuse)/delta(rio+wio)

svctm:   平均每次设备I/O操作的服务时间 (毫秒).即 delta(use)/delta(rio+wio)

%util:      一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的.即 delta(use)/s/1000 (因为use的单位为毫秒)


如果 %util 接近 100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘

可能存在瓶颈.

idle小于70% IO压力就较大了,一般读取速度有较多的wait.

同时可以结合vmstat 查看查看b参数(等待资源的进程数)和wa参数(IO等待所占用的CPU时间的百分比,高过30%时IO压力高)

另外 await 的参数也要多和 svctm 来参考.差的过高就一定有 IO 的问题.

avgqu-sz 也是个做 IO 调优时需要注意的地方,这个就是直接每次操作的数据的大小,如果次数多,但数据拿的小的话,其实 IO 也会很小.如果数据拿的大,才IO 的数据会高.也可以通过 avgqu-sz × ( r/s or w/s ) = rsec/s or wsec/s.也就是讲,读定速度是这个来决定的.










    本文转自UVN2015  51CTO博客,原文链接:http://blog.51cto.com/10851095/1713423,如需转载请自行联系原作者


相关文章
|
1天前
|
缓存 关系型数据库 Linux
Linux目录结构:深入理解与命令创建指南
Linux目录结构:深入理解与命令创建指南
|
1天前
|
数据挖掘 Linux vr&ar
Linux命令实战:解决日常问题的利器
Linux命令实战:解决日常问题的利器
|
1天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
11 0
|
1天前
|
安全 Linux Shell
linux基础命令详解
linux基础命令详解
8 0
|
2天前
|
Linux
Linux常用命令2
Linux常用命令2
4 0
|
2天前
|
Linux
Linux常用命令1
Linux常用命令1
8 0
|
2天前
|
人工智能 Linux Shell
linux命令-条件判断-test
linux命令-条件判断-test
8 1
|
2天前
|
Linux
linux设置全局命令
linux设置全局命令
9 0
|
2天前
|
Linux 虚拟化 Windows
linux之df命令 查看分区大小
linux之df命令 查看分区大小
10 1