hdparm可以检测,显示与设定IDE,SCSI,SATA,SAS硬盘的硬件参数,
如: hdparm -I /dev/sdc 可以获取sdc的硬件信息
hdparm -W 0 /dev/sda 关闭磁盘写缓存, (这个缓存是在磁盘内部的, 一般不关闭, 只能整个盘有效)
iostat:
可以查看硬盘的io状态, 从这个命令中可以看出硬盘io的基本情况, 这个命令主要和硬盘的驱动对接. 如: iostat -x /dev/sdc 2 每个2秒查看一次硬盘的io情况 各个参数意义如下:
rrqm/s每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge)
wrqm/s 每秒这个设备相关的写入请求有多少被Merge了。 r/s每秒完成的读 I/O 设备次数w/s每秒完成的写 I/O 设备次数 rsec/s每秒读取的扇区数 wsec/s 每秒写入的扇区数 avgrq-sz 平均IO速度(以扇区为单位) avgqu-sz是平均请求队列的长度。毫无疑问,队列长度越短越好。
await 每一个IO请求的处理的平均时间(单位是微秒)。这里可以理解为IO的响应时间,一般地系统IO响应时间应该低于5ms,如果大于10ms就比较大了。 这个时间包括了队列时间和服务时间,也就是说,一般情况下,await大于svctm,它们的差值越小,则说明队列时间越短,反之差值越大,队列时间越长,说明系统出了问题。
svctm 表示平均每次设备I/O *** 作的服务时间(以毫秒为单位)。如果svctm的值与await很接近,表示几乎没有I/O等待,磁盘性能很好,如果await的值远高于svctm的值,则表示I/O队列等待太长, 系统上运行的应用程序将变慢。
%util 在统计时间内所有处理IO时间,除以总共统计时间。例如,如果统计间隔1秒,该设备有0.8秒在处理IO,而0.2秒闲置,那么该设备的%util = 0.8/1 = 80%,所以该参数暗示了设备的繁忙程度。一般地,如果该参数是100%表示设备已经接近满负荷运行了(当然如果是多磁盘,即使%util是100%,因为磁盘的并发能力,所以磁盘使用未必就到了瓶颈)。
parted/fdiisk
硬盘分区工具, 可以是gpt分区或mbr分区, 一般都是用gpt分区, 如: parted /dev/sdc print 查看分区情况, 具体用法可以man parted
badblocks
用来检测磁盘的坏道, 如 badblocks -v /dev/sdc 就可以用默认设置检查磁盘坏道. 如果检测到坏道,需要根据硬盘的使用的文件系统类型进行修复处理.
smartctl/smartd
S.M.A.R.T.是英文Self-Monitoring Analysis and Reporting Technology(自动检测分析及报告技术)的简写。它能对硬盘的磁头单元、硬盘温度、盘片表面介质材料、马达及其驱动系统、硬盘内部电路等进行监测,及时分析并预报硬盘可能发生的问题。
Smartctl/smartd就是利用硬盘的SMART功能来监测硬盘的健康状态的, 如:
smartctl -I /dev/sdc 查看硬盘信息
smartctl -H /dev/sdc 查看硬盘的健康状态
Smartctl --test=long /dev/sdc 全面检查硬盘的健康状态
Smartctl -X /dev/sdc 停止全面检查
smartd是一个守护进程, 它能监视拥有自我监视,分析和汇报技术(Self-Monitoring, Analysis, and Reporting)的硬盘. 配置在/etc/smarted.conf, 是存储系统必不可少的进程.
losetup
loop 设备是一种伪设备(pseudo-device),它能使我们像块设备一样访问一个文件.如: losetup -a 可以查看所有的loop设备的情况
sg3_utils
sg3_utils 是Linux下用来直接使用 SCSI命令集访问设备.只要支持scsi命令集就可以使用,如FC/USB Storage/ATAPI/SAS/SATA/iscsi等设备, 也可以访问SATA兼容设备, 如:
sg_inq: 查询/dev/sdc的信息
sgdisk: 硬盘分区查看,设置等.
sg_dd/sg_pdd: 顺序读写硬盘
sg_read/sg_write/sg_read_buffer/sg_write_buffer: 读写硬盘
sginfo: 查看硬盘信息
sg_format: 格式化硬盘(低级格式化)
sg_log: 查看硬盘的log信息
sg_luns: 查看target上有多少个lun
sg_map: 查看硬盘映射情况, 查看硬盘所在的bus, chan, id,lun,type.
sgpio: 控制盘位的LED灯
sg_ses: scsi enclosure service控制, ses是对接机箱状态监控,设置等服务
sg_scan: 扫描系统中的硬盘
sg_raw: 可以直接发送scsi命令, 如sg_raw -r 1k /dev/sg0 12 00 00 00 60 00 是inquiry命令
smp_utils
smp_utils是linux下来访问sas的smp协议的辅助工具, 是SAS系统管理的重要工具.
udevadm
udev的控制管理命令 udevadm info -a -p /block/sda 可以查看sda设备相关信息
更多linux知识可以查看《Linux就该这么学》
我之前用dd命令将Linux镜像写到U盘的时候,是先格式化之后再dd的。刚刚查了下:
dd命令
功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格
式转换。可以用该命令实现DOS下的diskcopy命令的作用。先用dd命令把软盘上的数据写
成硬盘的一个寄存文件,再把这个寄存文件写入第二张软盘上,完成diskcopy的功能。
需要注意的是,应该将硬盘上的寄存文件用rm命令删除掉。系统默认使用标准输入文件
和标准输出文件。
其实dd命令只会从磁盘头部开始往里面写文件,所以最好先使用format命令格式化磁盘之后,再dd。
格式化后dd镜像,用来装Linux亲测有用。
dd :用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。注意:指定数字的地方若以下列字符结尾,则乘以相应的数字: b=512 ; c=1 ; k=1024 ; w=2
参数注释:
4、备份与恢复MBR
·备份文件开始的512个字节大小的MBR信息到指定文件:
#dd if=/system/xbin/busybox of=/data/local/tmp/bb count=1 bs=512
· count=1 指仅拷贝一个块; bs=512 指块大小为512个字节
·恢复:
#dd if=/data/local/tmp/bb of=/data/local/tmp/bbb
·将备份的MBR信息写到磁盘开始部分
/dev/null ,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!
/dev/zero ,是一个输入设备,你可你用它来初始化文件。该设备无穷尽地提供 0 ,可以使用任何你需要的数目——设备提供的要多的多。他可以用于向设备或文件写入字符串 0 。
/dev/null ——它是空设备,也称为位桶( bit bucket )。任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)