hdparm 命令

一、简介

Linux下的hdparm(英文全称:hard disk parameters)命令,主要用来查看硬盘的相关信息或对硬盘进行测速、优化、修改硬盘相关参数设定。它提供了一个命令行的接口用于读取和设置IDE或SCSI硬盘参数。

若没有安装hdparm ,可以通过sudo yum install hdparm 来安装。

二、格式说明

-a<快取分区>:设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定;
-A<01>:启动或关闭读取文件时的快取功能;
-c<I/O模式>:设定IDE32位I/O模式;
-C:检测IDE硬盘的电源管理模式;
-d<01>:设定磁盘的DMA模式;
-f:将内存缓冲区的数据写入硬盘,并清楚缓冲区;
-g:显示硬盘的磁轨,磁头,磁区等参数;
-h:显示帮助;
-i:显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供;
-I:直接读取硬盘所提供的硬件规格信息;
-k<01>:重设硬盘时,保留-dmu参数的设定;
-K<01>:重设硬盘时,保留-APSWXZ参数的设定;
-m<磁区数>:设定硬盘多重分区存取的分区数;
-n<01>:忽略硬盘写入时所发生的错误;
-p<PIO模式>:设定硬盘的PIO模式;
-P<磁区数>:设定硬盘内部快取的分区数;
-q:在执行后续的参数时,不在屏幕上显示任何信息;
-r<01>:设定硬盘的读写模式;
-S<时间>:设定硬盘进入省电模式前的等待时间;
-t;评估硬盘的读取效率;
-T:平谷硬盘快取的读取效率;
-u<01>:在硬盘存取时,允许其他中断要求同时执行;
-v:显示硬盘的相关设定;
-w<01>:设定硬盘的写入快取;
-X<传输模式>:设定硬盘的传输模式;
-y:使IDE硬盘进入省电模式;
-Y:使IDE硬盘进入睡眠模式;
-Z:关闭某些Seagate硬盘的自动省电功能。

--dco-freeze      Freeze/lock current device configuration until next power cycle
 --dco-identify    Read/dump device configuration identify data
 --dco-restore     Reset device configuration back to factory defaults
 --direct          Use O_DIRECT to bypass page cache for timings
 --drq-hsm-error   Crash system with a "stuck DRQ" error (VERY DANGEROUS)
 --fallocate       Create a file without writing data to disk
 --fibmap          Show device extents (and fragmentation) for a file
 --fwdownload            Download firmware file to drive (EXTREMELY DANGEROUS)
 --fwdownload-mode3      Download firmware using min-size segments (EXTREMELY DANGEROUS)
 --fwdownload-mode3-max  Download firmware using max-size segments (EXTREMELY DANGEROUS)
 --fwdownload-mode7      Download firmware using a single segment (EXTREMELY DANGEROUS)
 --idle-immediate  Idle drive immediately
 --idle-unload     Idle immediately and unload heads
 --Istdin          Read identify data from stdin as ASCII hex
 --Istdout         Write identify data to stdout as ASCII hex
 --make-bad-sector Deliberately corrupt a sector directly on the media (VERY DANGEROUS)
 --offset          use with -t, to begin timings at given offset (in GiB) from start of drive
 --prefer-ata12    Use 12-byte (instead of 16-byte) SAT commands when possible
 --read-sector     Read and dump (in hex) a sector directly from the media
 --repair-sector   Alias for the --write-sector option (VERY DANGEROUS)
 --security-help   Display help for ATA security commands
 --trim-sector-ranges        Tell SSD firmware to discard unneeded data sectors: lba:count ..
 --trim-sector-ranges-stdin  Same as above, but reads lba:count pairs from stdin
 --verbose         Display extra diagnostics from some commands
 --write-sector    Repair/overwrite a (possibly bad) sector directly on the media (VERY DANGEROUS)

实例


显示硬盘的相关设置:

hdparm /dev/sda
/dev/sda:
IO_support = 0 (default 16-bit)
readonly = 0 (off)
readahead = 256 (on)
geometry = 19457[柱面数]/255[磁头数]/63[扇区数], sectors = 312581808[总扇区数], start = 0[起始扇区数]

显示硬盘的柱面、磁头、扇区数:

hdparm -g /dev/sda
/dev/sda:
geometry = 19457[柱面数]/255[磁头数]/63[扇区数], sectors = 312581808[总扇区数], start = 0[起始扇区数]

测试硬盘的读取速度:

hdparm -T /dev/sda
/dev/sda:
 Timing cached reads:   4684 MB in  2.00 seconds = 2342.92 MB/sec
 
测试硬盘缓存的读取速度:

hdparm -T /dev/xvda
/dev/xvda:
Timing cached reads: 11154 MB in 1.98 seconds = 5633.44 MB/sec

检测硬盘的电源管理模式:

hdparm -C /dev/sda
/dev/sda:
drive state is: standby [省电模式]

查询并设置硬盘多重扇区存取的扇区数,以增进硬盘的存取效率:

hdparm -m /dev/sda
hdparm -m    #参数值为整数值如8 /dev/sda



附:硬盘坏道修复方法

检查:smartctl -l selftest /dev/sda
卸载:umount /dev/sda*
修复:badblocks /dev/sda
1.安装
1)源码编译
https://sourceforge.net/projects/hdparm/files/latest/download
tar -xvf hdparm-9.56.tar.gz
cd hdparm-9.56
make
make install
2)rpm -ivh hdparm-9.43-5.el7.x86_64.rpm
http://mirrors.163.com/centos/7.5.1804/os/x86_64/Packages/
2.常用指令
a.安全擦除
hdparm –user-master u –security-set-pass PASSWORD /dev/sda 设置密码
hdparm –user-master u –security-erase PASSWORD /dev/sda 安全擦除
类似安全擦除:
hdparm –yes-i-know-what-i-am-doing –sanitize-crypto-scramle /dev/sdx
hdparm –yes-i-know-what-i-am-doing –sanitize-status /dev/sdx
b.设置硬盘容量(硬盘必须直连服务器,通过raid卡无法执行此项指令)
yum install sg3_utils.x86_64
sg_readcap /dev/sdb
hdparm -N VP –yes-i-know-what-i-am-doing /dev/sdb (VP: certain LBA blocks)
c.解锁
hdparm –user-master u –security-set-pass PASSWORD /dev/sda
hdparm –user-master u –security-unlock PASSWORD /dev/sda
hdparm –user-master u –security-disable PASSWORD /dev/sda

常用参数

语  法:hdparm [-CfghiIqtTvyYZ] [-a <快取分区>][-A <01>][-c <I/O模式>][-d <01>][- k <01>][-K <01>][-m <分区数>][-n <01>][-p < PIO模式>][-P <分区数>][-r <01>][-S <时间>][-u <01>][-W <01>][-X <传输模式>][设备]

补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。

参  数:
-a<快取分区>    设定读取文件时,预先存入块区的分区数,若不加上<快取分区>选项,则显示目前的设定。
-A<01>    启动或关闭读取文件时的快取功能。
-c<I/O模式>    设定IDE32位I/O模式。
-C    检测IDE硬盘的电源管理模式。
-d<01>    设定磁盘的DMA模式。
-f    将内存缓冲区的数据写入硬盘,并清楚缓冲区。
-g    显示硬盘的磁轨,磁头,磁区等参数。
-h    显示帮助。
-i    显示硬盘的硬件规格信息,这些信息是在开机时由硬盘本身所提供。
-I    直接读取硬盘所提供的硬件规格信息。
-k<01>    重设硬盘时,保留-dmu参数的设定。
-K<01>    重设硬盘时,保留-APSWXZ参数的设定。
-m<磁区数>    设定硬盘多重分区存取的分区数。
-n<01>    忽略硬盘写入时所发生的错误。
-p<PIO模式>    设定硬盘的PIO模式。
-P<磁区数>    设定硬盘内部快取的分区数。
-q    在执行后续的参数时,不在屏幕上显示任何信息。
-r<01>    设定硬盘的读写模式。
-S<时间>    设定硬盘进入省电模式前的等待时间。
-t    评估硬盘的读取效率(不经过磁盘cache)-T    平估硬盘快取的读取效率。
-u<01>    在硬盘存取时,允许其他中断要求同时执行。
-v    显示硬盘的相关设定。
-W<01>    设定硬盘的写入快取。
-X<传输模式>    设定硬盘的传输模式。
-y    使IDE硬盘进入省电模式。
-Y    使IDE硬盘进入睡眠模式。
-Z    关闭某些Seagate硬盘的自动省电功能。

----------------------------------------

补充说明:hdparm可检测,显示与设定IDE或SCSI硬盘的参数。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值