:從RAID配置到故障排查)
服務器選型最容易翻車的環(huán)節(jié)往往不是 CPU 和內(nèi)存而是磁盤。CPU 不夠可以堆核內(nèi)存不夠可以加條但磁盤的接口類型、RAID 級別、文件系統(tǒng)布局一旦定錯后期改造成本非常高。尤其在高并發(fā)業(yè)務、數(shù)據(jù)庫場景、日志采集場景里磁盤直接決定響應延遲和吞吐上限。這次我們從服務器磁盤選型講到 Linux 磁盤管理的完整落地流程包括設備識別、分區(qū)格式化、RAID 與 LVM 配置、性能測試、故障排查和長期運維適合剛接手服務器運維的人也適合準備采購新機器但要自己定配置的開發(fā)同學。1. 核心能力速覽能力項說明覆蓋范圍服務器磁盤選型、Linux 磁盤初始化、RAID/LVM、監(jiān)控與故障排查適用系統(tǒng)主流 Linux 發(fā)行版CentOS 7/8、Rocky Linux、Ubuntu Server、Debian 均適用磁盤類型SATA HDD、SAS HDD、SATA SSD、NVMe SSD、云盤、本地盤、SAN/iSCSI核心命令集lsblk、fdisk、parted、mkfs、mount、mdadm、pvcreate/vgcreate/lvcreate、smartctl、iostat、fioRAID 級別RAID0、RAID1、RAID5、RAID10以及硬件 RAID 與軟件 RAID 的區(qū)別文件系統(tǒng)ext4、xfs、btrfs按場景選擇業(yè)務目標讓讀者能獨立完成新服務器磁盤規(guī)劃、初始化和日常運維適用場景數(shù)據(jù)庫、文件存儲、日志采集、對象存儲、容器集群、虛擬化宿主機這是一篇偏“操作 決策”的文章不是某個開源項目的介紹所以沒有一鍵啟動腳本也沒有 WebUI。讀者需要的是對磁盤的整體掌控能力。2. 服務器磁盤選型先確定業(yè)務模型再定配置服務器選型時CPU、內(nèi)存通常容易量化但磁盤選型需要先回答三個問題業(yè)務是讀多還是寫多數(shù)據(jù)量大概多大對延遲敏感到什么程度2.1 磁盤類型怎么選磁盤類型典型特征適合場景SATA HDD容量大、成本低順序讀寫可用隨機讀寫差備份存儲、歸檔數(shù)據(jù)、冷數(shù)據(jù)存儲SAS HDD可靠性高支持雙端口性能優(yōu)于 SATA HDD傳統(tǒng)數(shù)據(jù)庫、虛擬化宿主機數(shù)據(jù)盤SATA SSD隨機讀寫明顯優(yōu)于 HDD價格適中系統(tǒng)盤、日志盤、中等性能業(yè)務盤NVMe SSD低延遲、高吞吐適合高并發(fā)隨機讀寫數(shù)據(jù)庫事務日志、元數(shù)據(jù)存儲、高性能緩存云盤ESSD/SSD/高效云盤按規(guī)格付費彈性擴容性能與規(guī)格掛鉤云服務器數(shù)據(jù)盤、分布式數(shù)據(jù)庫、容器持久化存儲本地盤物理機直接掛載性能高但數(shù)據(jù)風險大臨時數(shù)據(jù)處理、高性能計算、緩存節(jié)點很多新人在選型時只看“容量” 比如“我要 2TB 空間”結(jié)果買了一塊 SATA HDD 給 MySQL 做數(shù)據(jù)盤。上線后才發(fā)現(xiàn)隨機讀寫 IOPS 不夠SQL 慢查詢一大堆。所以選型必須從 IOPS、吞吐、容量、可靠性四個維度一起看。IOPS每秒讀寫次數(shù)主要影響數(shù)據(jù)庫、消息隊列這類大量小文件隨機讀寫的場景。吞吐順序讀寫帶寬主要影響視頻處理、日志轉(zhuǎn)儲、數(shù)據(jù)導入導出。容量按數(shù)據(jù)增長預測來定不要只看當前數(shù)據(jù)量要預留 20% 到 30% 余量??煽啃陨婕?RAID 級別、備份策略、磁盤健康監(jiān)測。2.2 按場景推薦配置以下配置不是絕對標準而是常見的可落地組合實際采購時需要結(jié)合具體品牌型號和預算。業(yè)務場景推薦磁盤方案備注Web 服務器 / 應用節(jié)點系統(tǒng)盤用 SATA SSD數(shù)據(jù)盤用云盤或 SSD部署簡單成本可控MySQL / PostgreSQL 單機OS 獨立盤數(shù)據(jù)盤 NVMe 或 SSD日志盤單獨劃分高并發(fā)場景建議 NVMe大數(shù)據(jù) HDFS / ES多塊大容量 HDD 組合PB 級場景使用對象存儲更關(guān)注容量和吞吐日志采集 / Kafka多塊 SSD 組成 RAID0 或獨立數(shù)據(jù)盤保留足夠內(nèi)存頁緩存順序追加為主SSD 壽命更穩(wěn)虛擬化宿主機系統(tǒng)盤 SSD虛擬機數(shù)據(jù)盤根據(jù)業(yè)務再分避免所有虛擬機共用一塊 HDD備份服務器HDD 大容量陣列搭配 NAS 或存儲服務器對隨機性能要求低采購之前務必確認服務器是否支持熱插拔磁盤、是否有 RAID 卡、RAID 卡緩存是否帶電池保護BBU。沒有電池保護的 RAID 卡在突然斷電時可能丟數(shù)據(jù)這個坑很多人踩過。2.3 云服務器和物理機的磁盤差異云服務器通常通過塊存儲服務提供云盤性能與規(guī)格、賬號類型相關(guān)擴容需要到控制臺操作底層故障由云廠商負責一部分。物理機或裸金屬服務器則是直接使用本地盤性能更穩(wěn)定且可預測但硬件故障、磁盤壞道都需要自己處理。如果業(yè)務對延遲極度敏感比如金融交易、實時推薦系統(tǒng)建議優(yōu)先考慮 NVMe 本地盤。如果業(yè)務規(guī)模不大云盤 定期快照是性價比最高的組合。3. 環(huán)境準備與前置條件拿到一臺新服務器不管是物理機還是云服務器都要先確認操作系統(tǒng)、磁盤設備列表和必要工具是否就位。3.1 最小環(huán)境清單檢查項說明操作系統(tǒng)CentOS 7、Rocky Linux 8/9、Ubuntu 22.04/24.04 等均可內(nèi)核版本不同會影響 NVMe 和文件系統(tǒng)特性磁盤設備執(zhí)行l(wèi)sblk查看設備列表確認新盤是否被系統(tǒng)識別必要依賴包lvm2、mdadm、smartmontools、sysstat、xfsprogs、e2fsprogs網(wǎng)絡要求如果使用 yum/apt 安裝工具需要能訪問軟件源備份條件操作磁盤前確認數(shù)據(jù)不需要保留或已有完整備份3.2 安裝常用磁盤管理工具CentOS / Rocky Linux 使用 yumyum install -y lvm2 mdadm smartmontools sysstat xfsprogs e2fsprogsUbuntu / Debian 使用 aptapt update apt install -y lvm2 mdadm smartmontools sysstat xfsprogs e2fsprogs如果服務器是云環(huán)境且沒有物理 RAID 卡可以在系統(tǒng)層面做 mdadm 軟件 RAID也可以直接使用 LVM 做邏輯卷管理。實際生產(chǎn)環(huán)境里更常見的是云盤直接做 ext4/xfs 文件系統(tǒng)再掛載到數(shù)據(jù)目錄物理機才更關(guān)注 RAID。3.3 確認磁盤設備狀態(tài)先查看當前磁盤信息lsblk效果示例NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 100G 0 disk ├─sda1 8:1 0 2G 0 part /boot ├─sda2 8:2 0 50G 0 part / └─sda3 8:3 0 48G 0 part /data sdb 8:16 0 500G 0 disk如果lsblk看不到某個磁盤先檢查云盤是否在控制臺掛載物理磁盤是否插好硬件 RAID 卡是否已經(jīng)正確組 RAID內(nèi)核日志里有沒有磁盤錯誤信息執(zhí)行dmesg | grep sd查看4. Linux 磁盤初始化分區(qū)、格式化、掛載新磁盤插入系統(tǒng)后需要完成識別、分區(qū)、格式化、掛載四個步驟。這是最基礎的日常操作也是故障率最高的環(huán)節(jié)。4.1 使用 fdisk 進行分區(qū)以/dev/sdb為例創(chuàng)建 GPT 分區(qū)表并新建一個主分區(qū)fdisk /dev/sdb交互命令g # 創(chuàng)建 GPT 分區(qū)表 n # 新建分區(qū) p # 主分區(qū) 1 # 分區(qū)號 回車 # 使用默認起始扇區(qū) 回車 # 使用默認結(jié)束扇區(qū) w # 寫入分區(qū)表分區(qū)完成后執(zhí)行partprobe讓內(nèi)核重新讀取分區(qū)表partprobe /dev/sdb lsblk如果不需要分區(qū)也可以在大于 2TB 的磁盤上直接對整塊磁盤創(chuàng)建文件系統(tǒng)但這種方式后續(xù)擴容和識別不夠靈活建議按分區(qū)規(guī)劃。4.2 使用 parted 創(chuàng)建 GPT 分區(qū)表某些發(fā)行版或磁盤容量較大時fdisk 交互不夠方便可以使用 partedparted /dev/sdc --script mklabel gpt parted /dev/sdc --script mkpart primary 1MiB 100% partprobe /dev/sdc這里把整塊磁盤劃成一個分區(qū)。優(yōu)點是命令固定、容易寫進初始化腳本缺點是少了一層分區(qū)表緩沖。如果計劃做 LVM建議分區(qū)時把分區(qū)類型設為 Linux LVM。4.3 格式化文件系統(tǒng)文件系統(tǒng)按場景選擇xfs適合大文件、順序讀寫擴容方便大多數(shù) Linux 發(fā)行版默認推薦ext4兼容性好適合通用業(yè)務小文件表現(xiàn)不錯btrfs支持快照和壓縮但生產(chǎn)環(huán)境要確認運維團隊熟練度mkfs.xfs /dev/sdb1 mkfs.ext4 /dev/sdb1格式化前必須確認設備路徑正確避免把系統(tǒng)盤格式化掉。執(zhí)行完mkfs后原有分區(qū)數(shù)據(jù)不可恢復。4.4 臨時掛載mkdir -p /data mount /dev/sdb1 /data df -h4.5 永久掛載與 fstab推薦使用 UUID 掛載避免設備路徑變化導致服務器重啟后掛載失敗。查看 UUIDblkid /dev/sdb1編輯/etc/fstabvim /etc/fstab添加一行UUIDxxxx-xxxx /data xfs defaults 0 2校驗 fstab 配置是否正確mount -a如果掛載報錯不要重啟機器先檢查 UUID 是否寫錯文件系統(tǒng)類型是否對上。defaults后面的0 2表示 dump 不做備份、fsck 在開機時檢查非根文件系統(tǒng)。如果是不需要開機檢查的獨立數(shù)據(jù)盤可以寫成0 0。4.6 創(chuàng)建 Swap 分區(qū)內(nèi)存壓力較大的服務器通常配置 swap。如果磁盤不緊張可以創(chuàng)建一個 4GB 的 swap 文件fallocate -l 4G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile echo /swapfile none swap sw 0 0 /etc/fstab注意云服務器如果開啟了內(nèi)核內(nèi)存壓縮swap 使用要謹慎數(shù)據(jù)庫場景一般建議先優(yōu)化查詢和緩存而不是依賴 swap。5. RAID 與 LVM性能、容量和冗余的平衡磁盤選型之后如何組合磁盤是另一個關(guān)鍵點。RAID 解決的是冗余和性能LVM 解決的是邏輯卷的彈性擴容。兩者可以組合使用也可以獨立使用。5.1 常見 RAID 級別對比RAID 級別最少磁盤容錯能力容量利用率適用場景RAID02無100%臨時數(shù)據(jù)、緩存追求速度可以承受數(shù)據(jù)丟失RAID121 塊盤故障50%系統(tǒng)盤、數(shù)據(jù)庫日志盤RAID531 塊盤故障(N-1)/N一般數(shù)據(jù)盤兼顧容量與可靠性RAID642 塊盤故障(N-2)/N大容量數(shù)據(jù)盤重建可靠性要求高RAID104每組鏡像盤可壞 1 塊50%數(shù)據(jù)庫高性能環(huán)境兼顧性能與冗余硬件 RAID 在 BIOS 或 RAID 卡界面配置軟件 RAID 使用 mdadm。云服務器一般無法配置本地硬件 RAID但可以用 mdadm 在云盤之間組 RAID這種做法常用于提高文件系統(tǒng)的可用性但不會增加云廠商層面的數(shù)據(jù)冗余。5.2 使用 mdadm 創(chuàng)建 RAID10假設有四塊新盤/dev/sdd、/dev/sde、/dev/sdf、/dev/sdg創(chuàng)建 RAID10mdadm --create /dev/md0 --level10 --raid-devices4 /dev/sdd /dev/sde /dev/sdf /dev/sdg創(chuàng)建時加--verbose可查看過程。等待同步完成后查看狀態(tài)cat /proc/mdstat mdadm --detail /dev/md0然后將 RAID 設備格式化為文件系統(tǒng)并掛載mkfs.xfs /dev/md0 mkdir -p /data mount /dev/md0 /data把 RAID 配置寫入 mdadm.conf避免重啟后陣列信息丟失mdadm --detail --scan /etc/mdadm.conf5.3 LVM 邏輯卷管理LVM 適合需要經(jīng)常擴容的場景。比如數(shù)據(jù)庫數(shù)據(jù)目錄今天 500GB下個月要 700GB使用 LVM 可以在線擴容。創(chuàng)建 PV、VG、LVpvcreate /dev/sdb1 /dev/sdc1 vgcreate vg_data /dev/sdb1 /dev/sdc1 lvcreate -L 200G -n lv_data vg_data格式化并掛載mkfs.xfs /dev/vg_data/lv_data mkdir -p /data mount /dev/vg_data/lv_data /data查看 LVM 信息pvs vgs lvs給邏輯卷擴容 50Glvextend -L 50G /dev/vg_data/lv_data xfs_growfs /dataext4 文件系統(tǒng)使用resize2fs /dev/vg_data/lv_data擴容xfs 使用xfs_growfs /data掛載狀態(tài)下執(zhí)行即可。5.4 RAID 與 LVM 組合建議物理機大數(shù)據(jù)量場景常見做法是先硬件 RAID 或 mdadm 做 RAID 陣列再在陣列之上做 LVM最后創(chuàng)建文件系統(tǒng)。這樣既獲得 RAID 的冗余又能利用 LVM 的在線擴容。不過層數(shù)越多故障排查復雜度越高磁盤性能也會有一定損耗。小規(guī)模場景直接用 LVM 或直接分區(qū)掛載更省心。6. 磁盤性能測試與監(jiān)控用數(shù)據(jù)驗證選型磁盤選型和配置完成后必須用實際測試驗證性能不能只看型號參數(shù)。這里重點介紹兩塊工具fio 和 sysstat。6.1 使用 dd 做粗測快速驗證一塊磁盤的順序?qū)懭肽芰d if/dev/zero of/data/testfile bs1M count1024 convfdatasync這條命令會寫入 1GB 數(shù)據(jù)convfdatasync強制寫入磁盤后再返回得到的 is 就是磁盤順序?qū)懭胪掏碌某醪絽⒖贾?。注?dd 的結(jié)果不穩(wěn)定正式性能驗收建議用 fio。6.2 使用 fio 做標準性能測試fio 是 Linux 下最常用的磁盤性能測試工具可以自定義塊大小、隊列深度、讀寫比例、IO 引擎。順序讀測試fio --nameseqread --filename/data/fio_test --rwread --bs128k --size1G --numjobs1 --runtime30 --group_reporting隨機寫測試fio --namerandwrite --filename/data/fio_test --rwrandwrite --bs4k --size1G --numjobs4 --iodepth32 --runtime30 --group_reporting測試完成后刪除測試文件rm -f /data/fio_test執(zhí)行 fio 時filename不要放在系統(tǒng)盤根目錄否則測試結(jié)果受系統(tǒng)日志影響。測試文件大小要超過 RAID 緩存或磁盤緩存一般 1G 起數(shù)據(jù)盤越大測試時間越長。6.3 在線監(jiān)控iostat、iotop、sariostat -x 2iostat -x可以查看每塊磁盤的%util、r/s、w/s、await。%util接近 100% 不代表壞了但說明磁盤已經(jīng)成為瓶頸。iotop -oPiotop可以查看每個進程的實時 IO。無 root 權(quán)限時無法看到系統(tǒng)全量數(shù)據(jù)生產(chǎn)環(huán)境建議用sudo或iotop -o觀察進程。sar -d 2 10sar -d可以連續(xù) 10 次采樣磁盤設備運行情況。日常巡檢建議把 sar 采集打開留存歷史數(shù)據(jù)方便定位偶發(fā)性磁盤瓶頸。6.4 磁盤健康檢查物理機最怕壞盤沒有任何提示。smartctl 可以在磁盤出現(xiàn)壞道前抓取 S.M.A.R.T. 信息。查看整體健康狀態(tài)smartctl -H /dev/sda查看詳細信息smartctl -a /dev/sda對于 NVMe 磁盤使用smartctl -a /dev/nvme0一次結(jié)果里如果看到Media_Wearout_Indicator或Available_Spare接近臨界值說明壽命開銷嚴重需要盡快更換。機械盤重點看Reallocated_Sector_Ct、Current_Pending_Sector和Uncorrectable_Sector_Ct數(shù)值非零越高越危險。7. 磁盤故障排查與數(shù)據(jù)安全運維工作一半時間在處理“空間滿”“磁盤慢”“文件刪了但空間沒釋放”這類問題。下面按現(xiàn)象給出排查思路。7.1 磁盤空間滿了df -h先看哪個掛載點使用率高。找到大文件目錄du -sh /data/* | sort -rh | head -20如果df -h顯示滿了但du算出來占用遠小于該分區(qū)說明有文件被進程持有但已經(jīng)刪除。用lsof查看占用已刪除文件的進程lsof L1 | grep deleted找到進程后確認是否能重啟或釋放刪除文件后空間通常不會立即恢復必須重啟占用進程才能釋放 inode。云盤場景下如果有快照功能可以在刪除大文件前先做快照避免誤刪。7.2 inode 滿了但空間還有余量df -idf -i顯示 inode 使用率接近 100% 時即使磁盤還有空間也無法創(chuàng)建新文件。常見原因是小文件過多比如日志輪轉(zhuǎn)失敗、消息隊列積壓、緩存目錄不清理。排查方法for i in /data/*; do echo -n $i: ; find $i | wc -l; done | sort -t: -k2 -n -r找到小文件數(shù)量最多的目錄后刪除超過保留時間的臨時文件。應用層也要加日志清理策略建議每天定時清理超過 30 天的日志。7.3 磁盤性能突然變差可能原因磁盤壞道導致頻繁重試RAID 陣列正在同步或重建同物理機的其他業(yè)務 IO 搶占磁盤緩存策略異常writeback 參數(shù)被修改文件系統(tǒng)碎片化嚴重ext4 場景排查步驟執(zhí)行iostat -x 1觀察svctm、await、%util找到異常盤。執(zhí)行smartctl -a確認磁盤健康數(shù)據(jù)沒有明顯異常。如果物理機有 RAID 卡進入 RAID 管理界面查看陣列狀態(tài)無界面時看dmesg | grep -i raid或megacli輸出。用fio對問題盤做只讀測試評估實際性能是否達標。在云服務器上磁盤性能還受到云廠商實例規(guī)格、IOPS 上限和存儲類型影響。如果fio結(jié)果穩(wěn)定但業(yè)務仍然慢可能是業(yè)務側(cè) SQL、緩存命中率、網(wǎng)絡 IO 的問題不能全部歸因于磁盤。7.4 數(shù)據(jù)安全與備份要求本文所有操作都可能在磁盤上造成不可逆的數(shù)據(jù)丟失。在規(guī)劃分區(qū)、格式化、RAID 重建前必須做到先確認磁盤上是否還有需要保留的業(yè)務數(shù)據(jù)對操作系統(tǒng)和應用配置做完整備份云盤開啟快照物理機定期異地備份測試環(huán)境驗證命令和參數(shù)后再對生產(chǎn)環(huán)境執(zhí)行涉及業(yè)務數(shù)據(jù)的存儲、訪問和備份必須符合企業(yè)數(shù)據(jù)安全規(guī)范和個人隱私保護要求強調(diào)一點RAID 不是備份。RAID1 和 RAID10 只能防單塊磁盤故障不能防誤刪、病毒、軟件 bug 和整機災難。關(guān)鍵數(shù)據(jù)必須有多副本或異地備份。8. 常見問題與排查方法問題現(xiàn)象可能原因排查方式解決方案新盤插入后 lsblk 看不到云盤未掛載、驅(qū)動未加載、SAS 線纜故障dmesg | grep -i sd查看云控制臺控制臺掛載云盤或檢查物理連接fdisk 分區(qū)時報“unrecognized disk label”舊分區(qū)表損壞或沒有分區(qū)表fdisk -l /dev/sdb可以先備份再用 parted 重建 GPT 分區(qū)表格式化后掛載提示 “unknown filesystem type”文件系統(tǒng)類型寫錯或 tools 未安裝blkid /dev/sdb1檢查內(nèi)核模塊安裝對應文件系統(tǒng)工具包如 xfsprogsfstab 配置錯誤導致開機失敗UUID 寫錯、掛載參數(shù)錯誤blkid重新獲取 UUID在救援模式或單用戶模式修正 fstabRAID 創(chuàng)建后同步很慢磁盤數(shù)量多、數(shù)據(jù)悶、系統(tǒng)負載高cat /proc/mdstat查看進度降低 IO 優(yōu)先級或等待同步完成不要中斷 rebootLVM 擴容后 df 沒有增加文件系統(tǒng)未擴容xfs_growfs或resize2fs未執(zhí)行根據(jù)文件系統(tǒng)類型擴展文件系統(tǒng)磁盤空間滿但刪除文件后空間沒釋放進程仍持有已刪除文件句柄lsof L1查看 deleted 文件重啟占用文件的進程或 kill 該進程inode 使用率 100%小文件過多按目錄統(tǒng)計文件數(shù)量清理歷史文件應用增加輪轉(zhuǎn)策略服務器重啟后 RAID 丟失未保存 mdadm.confmdadm --detail --scan重新加入并通過mdadm --detail --scan /etc/mdadm.conf保存NVMe 盤性能過于樂觀測試使用了頁面緩存fio 指定--direct1直接 IO 繞過緩存重新測試smartctl 顯示磁盤健康值高壞道或壽命到達閾值查看 Reallocated_Sector_Ct 等指標立即備份更換磁盤9. 最佳實踐與服務器磁盤配置建議從選型到運維建議按下面的順序形成一套自己的規(guī)范。9.1 新服務器磁盤初始化標準流程在控制臺或物理機上確認系統(tǒng)盤和新增數(shù)據(jù)盤。使用lsblk確認所有設備已經(jīng)可見。根據(jù)業(yè)務選型確定是否做 RAID、是否使用 LVM。使用 parted 創(chuàng)建 GPT 分區(qū)表明確分區(qū)用途。創(chuàng)建文件系統(tǒng)xfs 優(yōu)先。使用 UUID 加入/etc/fstab執(zhí)行mount -a驗證。寫入 mdadm.conf保存 LVM 配置文件記錄磁盤序列號。執(zhí)行 fio 測試記錄基線性能數(shù)據(jù)。配置 cron 定期執(zhí)行磁盤巡檢命令輸出日志到/var/log/disk-check。9.2 磁盤目錄規(guī)劃不要把業(yè)務數(shù)據(jù)全都塞進一個分區(qū)。推薦一個獨立服務器的最小規(guī)劃目錄/分區(qū)建議類型說明/SSD50G - 100G系統(tǒng)和基礎軟件/bootSSD2G - 4G引導分區(qū)/var/logSSD 或獨立日志盤避免日志寫滿系統(tǒng)盤/data按業(yè)務選型RAID/LVM 后掛載業(yè)務數(shù)據(jù)、應用數(shù)據(jù)swap視內(nèi)存和業(yè)務內(nèi)存不足時兜底生產(chǎn)環(huán)境建議將日志目錄獨立掛載尤其當應用日志量很大時可以避免/分區(qū)寫滿導致系統(tǒng)異常。9.3 監(jiān)控與告警磁盤監(jiān)控至少覆蓋以下指標空間使用率超過 80% 告警inode 使用率超過 80% 告警磁盤 IO 延遲異常上升SMART 健康狀態(tài)異常文件系統(tǒng)只讀錯誤可以寫一個簡單的巡檢腳本配合 crontab 執(zhí)行#!/bin/bash LOG/var/log/disk-check.log df -h | grep -vE ^Filesystem|tmpfs $LOG df -i | grep -vE ^Filesystem|tmpfs $LOG smartctl -H /dev/sda $LOG iostat -x 1 5 $LOG如果是云服務器可以結(jié)合云監(jiān)控平臺告警物理機要自己確保監(jiān)控服務可用。9.4 從小規(guī)模驗證開始新環(huán)境不要一上來就追求最復雜的技術(shù)棧。我的建議是單機小業(yè)務一個 SSD 系統(tǒng)盤 一個數(shù)據(jù)盤不做 RAID數(shù)據(jù)依賴云快照或備份。核心數(shù)據(jù)庫系統(tǒng)盤 SSD數(shù)據(jù)盤 NVMeRAID10數(shù)據(jù)目錄用 LVM 方便擴容。日志類業(yè)務多塊 SSD 獨立掛載利用消息隊列緩沖減少單點損耗。大規(guī)模分布式場景優(yōu)先考慮分布式存儲或?qū)ο蟠鎯Σ灰谕慌_機器上用幾十塊盤拼容量。10. 總結(jié)與建議服務器磁盤選型和管理本質(zhì)上是在容量、性能、可靠性和成本之間做權(quán)衡。沒有一套配置適用所有業(yè)務關(guān)鍵在于先搞清楚業(yè)務的 IO 模型再決定磁盤類型和冗余策略。拿到新服務器后應按“識別設備、分區(qū)、格式化、掛載、測試、監(jiān)控”的順序標準化落地避免每次靠記憶敲命令。最值得先驗證的一定是掛載和擴容流程。先拿一塊臨時盤做一遍mkfs、mount、umount、fstab寫入和lvextend擴容確認每一步都清楚后再操作生產(chǎn)磁盤。最容易踩的坑是 fstab 寫錯導致開機失敗以及格式化時選錯盤符這兩類問題都會帶來災難性后果。后續(xù)可以繼續(xù)深入的方向包括基于 systemd 的定時巡檢、基于 prometheus node_exporter 的磁盤監(jiān)控面板、文件系統(tǒng)性能調(diào)優(yōu)參數(shù)、硬件 RAID 卡電池和緩存策略、NVMe over TCP 和遠程存儲接入。先把本文的基礎操作跑通再一步步擴展成一套完整的磁盤運維體系。