硬盤是計算的重要組成部件之一,硬盤爲操做系統提供持久話存儲的功能,在Linux硬盤設備的性能和好壞可能關係到生成線的安全和用戶體驗等等。熟練的掌握硬盤管理相關的信息能讓咱們處理起這些問題來駕輕就熟。node
Linux中最爲重要到的哲學就是一切皆文件,硬盤設備也不例外,在Linux系統中硬盤設備通常存放在/dev/下面SATA、SCSI等接口類型的硬盤使用sd表示,第一塊sd的硬盤表示爲/dev/sda,第二塊sd的硬盤表示爲/dev/sdb。IDE硬盤使用hd表示,第一塊hd的硬盤表示爲/dev/hda,第二塊hd的硬盤表示爲/dev/hdb。以此類推。linux
下面介紹Linux下和硬盤相關的命令(不一樣髮型版命令可能不太相同)緩存
mount 掛載指定設備
格式:mount -t 文件系統類型(一般mount命令會自動識別) 設備路徑 掛載點
示例:
mount /dev/sda1 /mnt/ #將/dev/sda1 掛載到/mnt
mount /dev/cdrom /media/ #將cdrom(光盤設備)掛載到/media
mount -a #重讀/etc/fstab文件
umount 卸載指定設備
格式:umount 設備/掛載點
示例:
umount /dev/sda1 #卸載/dev/sda1 卸載到整個設備,好比說這個分區一共掛載到了/mnt /test /test1那麼這三個掛載點的掛載都將卸掉
umount /media/ #卸載掛在/media目錄上面的設備
df 查看當前系統掛載的分區狀況
格式
df 參數
經常使用參數
--help 查看幫助信息
-i 顯示inode狀況
-h 自動計算顯示的文件系統大小單位
-k 以kb方式大小輸出文件系統大小
-l 只顯示本地文件系統的信息
-T 顯示文件系統類型
-t 只顯示指定的文件系統
tune2fs 調整文件系統屬性
格式:
tune2fs 參數 分區
經常使用參數: -j 在不損壞原有數據的狀況下升級ext2爲ext3 -L 設定或修改卷標(卷名) -m 調整預留給超級用戶(root)的百分比,默認爲5% -c 指定掛載次數達到n次以後進行自檢,0或-1表示關閉此功能 -i 每次掛載使用多少天以後進行自檢,0或-1表示關閉此功能 -l 顯示超級塊中的信息
smartctl:(不支持虛擬機或雲主機等服務器) Smartctl是類Unix系統下SMART的命令行工具,它用於打印SMART自檢和錯誤日誌,啓用或禁用SMRAT自動檢測,以及初始化設備自檢等操做 Smartctl對於Linux物理服務器十分有用,在這些服務器上,能夠對智能磁盤進行錯誤檢查,並將與硬件RAID相關的磁盤信息摘錄下來 安裝: yum -y install smartmontools 經常使用選項: -i 打印設備的簡略信息,如序列號,轉速等 -s 設置是否開啓smart功能 -a 輸出關於指定硬盤的全部smart信息 -H 打印設備健康情況 -t 子參數 執行測試操做,在測試時會對硬盤的性能有一點影響 經常使用子參數: offline 進行脫機測試 short 運行短期的自我測試(通常不超過10分鐘) long 運行擴展的自我測試(通常時間較長1小時以上) select,N-M, 選擇對指定範圍的磁盤塊進行測試而不是整塊硬盤 示例: smartctl -i /dev/sdb 檢查SMART是否啓用,輸出的最後一行爲Device does not support SMART表示不支持SMART,輸出的最後一行爲SMART support is: Disabled表示禁用SMART,輸出的最後一行爲SMART support is: Enabled表示已啓用 smartctl -s on /dev/sdb 啓用硬盤的SMART功能 smartctl -s off /dev/sdb 禁用硬盤的SMART功能 smartctl -a /dev/sdb 查看硬盤的詳細信息 關鍵字段說明: Raw_Read_Error_Rate: 底層數據讀取錯誤率 Rotation Rate: 硬盤轉數信息,固態硬盤顯示Solid State Device User Capacity: 硬盤容量 Start_Stop_Count: 硬盤加電次數 Power_On_Hours: 硬盤累計使用時長(小時) Power-Off_Retract_Count: 非正常關閉硬盤的次數(忽然關閉,或者強制熱插拔硬盤的次數) Temperature_Celsius: 硬盤溫度 Seek_Error_Rate: 尋道錯誤率 smartctl -H /dev/sdb 獲取設備的健康狀態 smartctl -t short /dev/sdb 進行短期的智能測試 smartctl -l selftest /dev/sdb 查看硬盤的自檢結果 smartctl -c /dev/sdb 計算測試時間的大概值 smartctl -l error /dev/sdb 打印硬盤錯誤日誌
hdparm: hdparm命令提供了一個命令行的接口用於在驅動級別讀取和設置IDE或SCSI硬盤參數 安裝: yum -y install hdparm 命令格式: hdparm 參數 設備 經常使用參數: -h 查看幫助信息 -I 獲取硬盤的詳細信息,如序列號,硬盤轉述,接口類型等 -t 評估硬盤的讀取速度(不通過硬盤cache) -T 評估硬盤快取的讀取效率(內存中緩存的頻繁使用的數據) -a 設置硬盤的預讀取功能,對於讀取大文件有顯著的性能提高 -A 0/1 啓動或關閉讀取文件時的快取功能 -f 將內存緩衝區的數據寫入硬盤,並清空緩衝區(相似雨sync命令) --direct 一般和-t或-T參數一塊兒使用,經過原始io測試硬盤讀取速度,更好地指示原始設備和驅動程序的性能 --drq-hsm-error 很是危險的命令,僅在測試環境中模擬故障時使用,生成環境中千萬不要使用 -g 顯示硬盤的磁軌,磁頭,磁區等參數 -i 顯示硬盤的硬件規格信息,這些信息是在開機時由硬盤自己所提供 -I 直接讀取硬盤所提供的硬件規格信息(從驅動器讀取讀取硬盤信息) --make-bad-sector 很是危險的命令,僅在測試環境中模擬故障時使用,生成環境中千萬不要使用(故意建立一個壞扇區,用於測試raid等設備檢查扇區的功能) -r 將硬盤設置爲自讀模式 -S 設定硬盤進入省電模式前的等待時間 -y 強制IDE驅動器當即進入待機模式 -Y 強制IDE驅動器當即進入休眠模式 -w 設置硬盤的寫入快取 示例: hdparm -I /dev/sha #獲取硬盤的詳細信息 hdparm -C /dev/sda #檢測硬盤的電源管理模式 hdparm -t #測試硬盤的讀取速度(不通過cache) hdparm -T #測試硬盤快取的讀取速度 hdparm -Tt --direct /dev/sda #測試硬盤的真實讀取速度
其餘的一些相關命令:fsck 檢查並修復linux中的文件系統 格式: fsck 參數 文件系統分區 經常使用參數: -t 指定文件系統類型 -a 自動修復 e2fsck 專用於修復ext系列的文件系統 格式: e2fsck 參數 文件系統分區 經常使用參數: -f 強制檢查 -p 自動修復 mke2fs 專門管理ext系列的文件系統 格式: mke2fs 參數 文件系統分區 經常使用參數: -j 建立ext3類型的文件系統 -b 指定塊大小,默認爲4096,能夠值有,102四、2048.4096 -L 指定卷標 -m 指定預留給超級用戶的塊數百分比 -E 指定額外文件系統屬性 blkid 查看當前磁盤設備的相關屬性 格式: blkid 文件系統分區 字段說明: UUID:磁盤的惟一標識符 TYPT:文件系統類型 LABEL:卷標 e2label 查看或從新定義卷標 格式: e2label 文件系統分區 [卷標名] 示例: e2label /dev/sda1 查看卷標名 e2label /dev/sda1 test 設置卷標名其餘命令: lscpu 用於查詢CPU信息 lshw 用於顯示硬件信息表 hwinfo 用於查詢硬件信息 lsppci 用於列出PCI總線的信息以及鏈接到PCI總線上的設備信息 lsblk 用於列出塊設備的信息 lsscsi 用於列出SCSI的設備信息