Linux系統管理之硬盤管理

硬盤是計算的重要組成部件之一,硬盤爲操作系統提供持久話存儲的功能,在Linux硬盤設備的性能和好壞可能關係到生成線的安全和用戶體驗等等。熟練的掌握硬盤管理相關的信息能讓我們處理起這些問題來得心應手。
#
Linux中最爲重要到的哲學就是一切皆文件,硬盤設備也不例外,在Linux系統中硬盤設備一般存放在/dev/下面SATA、SCSI等接口類型的硬盤使用sd表示,第一塊sd的硬盤表示爲/dev/sda,第二塊sd的硬盤表示爲/dev/sdb。IDE硬盤使用hd表示,第一塊hd的硬盤表示爲/dev/hda,第二塊hd的硬盤表示爲/dev/hdb。以此類推。
#
#
下面介紹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,可以值有,1024、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的設備信息
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章