Linux系統管理之硬碟管理

来源:https://www.cnblogs.com/python-and-linux/archive/2018/07/31/9390378.html
-Advertisement-
Play Games

硬碟是計算的重要組成部件之一,硬碟為操作系統提供持久話存儲的功能,在Linux硬碟設備的性能和好壞可能關係到生成線的安全和用戶體驗等等。熟練的掌握硬碟管理相關的信息能讓我們處理起這些問題來得心應手。 Linux中最為重要到的哲學就是一切皆文件,硬碟設備也不例外,在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的設備信息 

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.ansible的安裝 1)使用源碼安裝Python3.5 安裝支持包 yum -y install lrzsz vim net-tools gcc gcc-c++ ncurses ncurses-devel unzip zlib-devel zlib openssl-devel openssl ...
  • 在Shell里存在的一些特殊變數:$!、$@、$#、$$、$*、$0、$n、$_、$? [root@shell ~]# sh shell.sh aaa bbb ccc$0 獲取當前執行的shell腳本的文件名:shell.sh$n 獲取當前執行的shell腳本的第n個參數值,n=1..9:$1=aa ...
  • [TOC] 1. 前期預備知識 1.1 串口通訊電路圖 ![image_1bqjjhr9leo112efe02df51fp.png 25kB][1] 從上圖可見,CC2530晶元通過P0埠的P0.1和P0.2引腳進行串口通訊。這個實驗當中對於埠的操作也主要就是P0埠。 1.2 實驗相關寄存器 ...
  • [TOC] 1.前期預備知識 1.1 新大陸ZigBee模塊LED燈電路 ![image_1bq999vhb104s1v6249bq031jjg9.png 32.1kB][1] 從上兩的兩個電路可知 1.LED1連接在LED LINK上,而LED LINK是從CC2530晶元的P1.0埠引出,同樣 ...
  • Zookeeper+Kafka的單節點standalone配置 環境描述:Ubuntu16.04 server系統,在系統上搭建Java環境,jdk的版本為1.8或更高,我的伺服器IP地址為192.168.0.106。 1.使用命令mkdir /opt/data在opt目錄下創建data目錄。 2. ...
  • 1.本地主機的參數 zhangjun@zhangjun-virtual-machine:~$ uname -a Linux zhangjun-virtual-machine 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC ...
  • shell編程入門: 程式員標配:第一個shell腳本 輸出 " Hello World !!" 1、先創建一個hello.sh腳本文件 然後在輸入代碼: 保退出後運行腳本(chmod +x 是腳本有執行的許可權): 然後就會輸出Hello World !! 如果直接用 /* ./hello.sh * ...
  • 由於安全的需要,系統一般只有一個root用戶,因此若遺忘root用戶的登錄密碼,因此需要通過其他途徑進行修改密碼。1.通過單用戶模式(1)重啟系統,按任意鍵進入grub菜單。出現grub菜單時,按↑,↓進行引導,並定位到要進入的操作系統選項,如“Red Hat Enterprise Linux ”, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...