一般狀況下可使用fdisk、df等命令查看硬盤的分區狀況以及當前已使用空間大小、剩餘空間大小等信息。可是若是要查看硬盤的硬件信息如 硬盤型號、序列號、已運行時間等信息該用什麼工具查看呢?linux
在Linux下可使用hdparm工具查看硬盤的相關信息或對硬盤進行測速、優化、修改硬盤相關參數設定。我主要經常使用這個工具來測試硬盤速度。緩存
hdparm(hard disk parameters)
功能說明:顯示與設定硬盤的參數。安全
該命令用來獲取或設置SATA/IDE設備的參數。注意了,既能夠獲取也能夠設置,因此使用這個命令的時候務必要當心。固然咱們只是爲了獲取查看硬盤信息,故不會對硬盤及系統形成什麼危害。一般會配合 -i 或 -I(大寫的i) 選項來取得硬盤的硬件信息。用法以下:服務器
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
d.升級固件版本
hdparm --fwdownload /root/Desktop/xxx.bin --yes-i-know-what-i-am-doing --please-destroy-my-drive /dev/sdc
————————————————oracle
hdparm -I /dev/sda工具
語法:hdparm [-CfghiIqtTvyYZ][-a <快取分區>][-A <0或1>][-c ][-d <0或1>][-k <0或1>][-K <0或1>][-m <分區數>][-n <0或1>][-p ][-P <分區數>][-r <0或1>][-S <時間>][-u <0或1>][-W <0或1>][-X <傳輸模式>][設備]
參數說明:
post
-a<快取分區> 設定讀取文件時,預先存入塊區的分區數,若不加上<快取分區>選項,則顯示目前的設定。
-A<0或1> 啓動或關閉讀取文件時的快取功能。
-c 設定IDE32位I/O模式。
-C 檢測IDE硬盤的電源管理模式。
-d<0或1> 設定磁盤的DMA模式。
-f 將內存緩衝區的數據寫入硬盤,並清楚緩衝區。
-g 顯示硬盤的磁軌,磁頭,磁區等參數。
-h 顯示幫助。
-i 顯示硬盤的硬件規格信息,這些信息是在開機時由硬盤自己所提供。
-I 直接讀取硬盤所提供的硬件規格信息。
-k<0或1> 重設硬盤時,保留-dmu參數的設定。
-K<0或1> 重設硬盤時,保留-APSWXZ參數的設定。
-m<磁區數> 設定硬盤多重分區存取的分區數。
-n<0或1> 忽略硬盤寫入時所發生的錯誤。
-p 設定硬盤的PIO模式。
-P<磁區數> 設定硬盤內部快取的分區數。
-q 在執行後續的參數時,不在屏幕上顯示任何信息。
-r<0或1> 設定硬盤的讀寫模式。
-S<時間> 設定硬盤進入省電模式前的等待時間。
-t 評估硬盤的讀取效率。
-T 平谷硬盤快取的讀取效率。
-u<0或1> 在硬盤存取時,容許其餘中斷要求同時執行。
-v 顯示硬盤的相關設定。
-W<0或1> 設定硬盤的寫入快取。
-X<傳輸模式> 設定硬盤的傳輸模式。
-y 使IDE硬盤進入省電模式。
-Y 使IDE硬盤進入睡眠模式。
-Z 關閉某些Seagate硬盤的自動省電功能。
hdparm經常使用參數使用舉例:
一、顯示硬盤的相關設置:
[root@oracle ~]# hdparm /dev/sda
/dev/sda:
IO_support = 0 (default 16-bit)
readonly = 0 (off)
readahead = 256 (on)
geometry = 19929[柱面數]/255[磁頭數]/63[扇區數], sectors = 320173056[總扇區數], start = 0[起始扇區數]測試
二、顯示硬盤的柱面、磁頭、扇區數:
[root@oracle ~]# hdparm -g /dev/sda
/dev/sda:
geometry = 19929[柱面數]/255[磁頭數]/63[扇區數], sectors = 320173056[總扇區數], start = 0[起始扇區數]優化
三、測試硬盤的讀取速度:
ui
[root@oracle ~]# hdparm -t /dev/xvda
/dev/xvda:
Timing buffered disk reads: 422 MB in 3.01 seconds = 140.20 MB/sec
[root@oracle ~]# hdparm -t /dev/xvda
/dev/xvda:
Timing buffered disk reads: 408 MB in 3.01 seconds = 135.59 MB/sec
[root@oracle ~]# hdparm -t /dev/xvda
/dev/xvda:
Timing buffered disk reads: 416 MB in 3.01 seconds = 138.24 MB/sec
四、測試硬盤緩存的讀取速度:
[root@oracle ~]# hdparm -T /dev/xvda
/dev/xvda:
Timing cached reads: 11154 MB in 1.98 seconds = 5633.44 MB/sec
[root@oracle ~]# hdparm -T /dev/xvda
/dev/xvda:
Timing cached reads: 10064 MB in 1.98 seconds = 5077.92 MB/sec
[root@oracle ~]# hdparm -T /dev/xvda
/dev/xvda:
Timing cached reads: 10600 MB in 1.98 seconds = 5351.73 MB/sec
五、檢測硬盤的電源管理模式:
[root@oracle ~]# hdparm -C /dev/sda
/dev/sda:
drive state is: standby [省電模式]
六、查詢並設置硬盤多重扇區存取的扇區數,以增進硬盤的存取效率:
[root@oracle ~]# hdparm -m /dev/sda
[root@oracle ~]# hdparm -m 參數值爲整數值如8 /dev/sda
附:硬盤壞道修復方法
檢查:smartctl -l selftest /dev/sda
卸載:umount /dev/sda*
修復:badblocks /dev/sda
smartctl 命令
smartctl命令默認在系統中不存在,須要安裝smartmontools工具包以後才能使用。這個一個用於控制和監控支持smart技術的硬盤的命令。一般配合 -a 選項咱們能夠查看到比較詳盡的硬盤信息(好比序列號、硬盤容量、已運行時間、硬盤健康情況等)。這個命令仍是至關有用的。用法以下(得先 apt-get install smartmontools 以安裝smartmontools工具包):
smartctl -a /dev/sda
若是這裏顯示Failure,那麼最好馬上給服務器更換硬盤
SMART只能報告磁盤已經再也不健康,可是報警後還能繼續運行多久是不肯定的
一般,SMART報警參數是有預留的,磁盤報警後,不會當場壞掉,通常能堅持一段時間
有的硬盤SMART報警後還繼續跑了好幾年,有的硬盤SMART報錯後幾天就壞了
可是一旦出現報警,僥倖內心是萬萬不能的……