Linux故障排查

目錄

案例1:GRUB引導故障

案例2:文件系統只讀故障

案例3:OOM Killer觸發

案例4:系統啟動卡住(initramfs損壞)

案例5:磁盤空間耗盡

案例6:SSH登錄緩慢

案例7:邏輯卷無法擴展

案例8:內核模塊沖突

案例9:NTP時間不同步

案例10:SELinux導致服務異常

案例11、root密碼遺忘

學習建議


案例1:GRUB引導故障

故障現象: 系統啟動卡在"GRUB>"提示符,無法進入系統 原因分析

  • GRUB配置文件損壞(/boot/grub/grub.cfg)

  • 引導文件被誤刪或磁盤損壞 解決步驟

  1. 在GRUB命令行依次執行:

    set root=(hd0,msdos1)
    linux /vmlinuz root=/dev/sda1
    initrd /initramfs.img
    boot
  2. 進入系統后執行:grub2-mkconfig -o /boot/grub2/grub.cfg

案例2:文件系統只讀故障

故障現象: 無法創建文件,提示"Read-only file system" 排查過程

  1. dmesg | grep -i error 發現磁盤I/O錯誤

  2. smartctl -a /dev/sda 檢查磁盤健康狀態 解決方案

  3. 卸載分區:umount /dev/sda1

  4. 強制修復:fsck -y /dev/sda1

  5. 重新掛載:mount -a

案例3:OOM Killer觸發

故障現象: 關鍵進程突然被終止,系統日志出現"Killed process" 分析工具

  1. grep -i 'killed process' /var/log/messages

  2. free -h 查看內存使用情況

  3. vmstat 1 監控內存交換 優化方案

  • 調整oom_score_adj:echo -100 > /proc/[PID]/oom_score_adj

  • 修改sysctl.conf:

    vm.overcommit_memory = 2
    vm.overcommit_ratio = 80

案例4:系統啟動卡住(initramfs損壞)

故障現象: 啟動時卡在"Loading initial ramdisk" 緊急處理

  1. 進入救援模式(troubleshooting)使用re

  2. 重建initramfs:

    chroot /mnt/sysimage
    dracut -f /boot/initramfs-$(uname -r).img $(uname -r)

案例5:磁盤空間耗盡

故障現象: 服務異常,df顯示使用率100% 快速定位

  1. lsof -n | grep deleted 查找未釋放空間的進程

  2. du -xh --max-depth=1 / | sort -hr 定位大文件 典型場景

  • /var/log/journal 日志膨脹:journalctl --vacuum-size=100M

  • /tmp目錄堆積:rm -rf /tmp/*.tmp

案例6:SSH登錄緩慢

故障現象: SSH連接延遲超過10秒 排查步驟

  1. ssh -vvv user@host 查看詳細日志

  2. 檢查DNS配置:UseDNS no in sshd_config

  3. 關閉GSSAPI認證:GSSAPIAuthentication no

  4. strace -p [sshd_PID] 跟蹤系統調用

案例7:邏輯卷無法擴展

故障現象: lvextend后文件系統未擴容 正確操作流程

lvextend -L +10G /dev/vg01/lv_data
resize2fs /dev/vg01/lv_data ?# 對ext4文件系統
xfs_growfs /data ? ? ? ? ? ?# 對XFS文件系統

注意事項

  • 確保物理卷有足夠空間:vgs查看Free PE

  • 在線擴容無需卸載

案例8:內核模塊沖突

故障現象: 系統更新后網卡失效 解決方案

  1. lsmod | grep igb 查看加載模塊

  2. modinfo igb 檢查模塊信息

  3. rmmod igb && modprobe igb 重載驅動

  4. 回滾驅動:dnf reinstall kmod-igb-5.4.0

案例9:NTP時間不同步

故障現象: 日志出現"Clock skew detected"警告 排錯流程

  1. ntpq -pn 查看時間源狀態

  2. chronyc sources -v 檢查chrony同步狀態

  3. systemctl restart chronyd

  4. 硬件時鐘同步:hwclock --systohc

案例10:SELinux導致服務異常

故障現象: Apache無法訪問自定義目錄 診斷方法

  1. tail -f /var/log/audit/audit.log | grep httpd

  2. sealert -a /var/log/audit/audit.log 解決方案

# 臨時解決
setenforce 0
# 永久方案
semanage fcontext -a -t httpd_sys_content_t "/webroot(/.*)?"
restorecon -Rv /webroot

案例11、root密碼遺忘

在RHEL/CentOS 7及更新版本中,如果忘記root密碼,可以通過以下步驟重置(需物理/虛擬控制臺訪問權限):

方法原理

通過修改GRUB2啟動參數進入單用戶模式,繞過身份驗證直接獲取root權限


詳細操作步驟

  1. 重啟系統并中斷引導

# 當系統啟動到GRUB菜單時,快速按下方向鍵阻止自動引導
# 選擇默認內核條目(通常第一條)按 `e` 鍵進入編輯模式
  1. 修改內核參數

# 在linux16行(或linux行)末尾追加:
rd.break enforcing=0
?
# 修改后的完整行示例:
linux16 /vmlinuz-3.10.0-1160.el7.x86_64 root=/dev/mapper/rhel-root rw rd.break enforcing=0
  1. 進入緊急模式

# 按 Ctrl+X 啟動系統,進入緊急救援模式的shell環境
# 此時文件系統掛載在/sysroot(只讀模式)
  1. 重新掛載文件系統

# 重新掛載為讀寫模式:
mount -o remount,rw /sysroot
  1. 切換根目錄

chroot /sysroot
  1. 修改root密碼

# 此時已獲得完整root權限:
passwd root
# 輸入新密碼兩次(不會顯示輸入內容)
  1. 修復SELinux上下文

# 強制重新標記文件系統(重要!):
touch /.autorelabel
  1. 退出并重啟

exit
exit
reboot

關鍵參數說明

參數作用
rd.break在內核加載初期中斷啟動流程
enforcing=0臨時禁用SELinux強制模式

注意事項

  1. 磁盤加密系統:若啟用了LUKS加密,需先解密再操作

  2. 云服務器:部分云平臺需通過VNC或救援模式操作

  3. 時間控制.autorelabel會導致首次重啟時間較長(約5-15分鐘)

  4. UEFI系統:可能需要關閉Secure Boot功能

  5. 審計日志:系統日志會記錄密碼修改操作(/var/log/audit/audit.log)


替代方案(適用于不同場景)

  1. init方法

    # 在GRUB的linux行后追加:
    init=/bin/bash
  2. systemd方法

    systemctl edit --force --full rescue.target

防范建議

  1. 配置sudo權限給普通用戶

  2. 使用密碼管理工具(如KeePass)

  3. 定期進行密碼備份(加密存儲)

  4. 啟用SSH密鑰認證+sudo組合驗證

該方法適用于:RHEL/CentOS 7/8/9、Oracle Linux 7+、Fedora 19+等使用systemd的系統

學習建議

  1. 每個案例配套實驗環境(VM快照)

  2. 故障模擬建議:

    • 使用dd破壞文件系統頭

    • 使用stress觸發OOM

    • 手動刪除grub.cfg

  3. 考核方式:故障場景重現→學員排障→處理報告

附加資源推薦:

  • Linux Performance觀測工具集(perf, ftrace)

  • systemd-analyze分析啟動耗時

  • eBPF工具鏈(BCC工具包)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/909848.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/909848.shtml
英文地址,請注明出處:http://en.pswp.cn/news/909848.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

pikachu靶場通關筆記36 越權01之水平越權

目錄 一、水平越權 二、賬戶功能探測 1、登錄賬號lucy 2、登錄賬號lili 3、登錄賬號kobe 三、源碼分析 四、滲透實戰 1、登錄lucy賬號 2、越權訪問lili賬戶資料 3、越權訪問kobe賬戶資料 本系列為《pikachu靶場通關筆記》滲透實戰,本文通過對越權關卡源碼…

javaweb -Ajax

Ajax的定義 Ajax(Asynchronous JavaScript and XML)是一種用于創建異步 Web 應用的技術,允許網頁在不重新加載整個頁面的情況下與服務器交換數據并更新部分內容。 Ajax的核心特點 異步通信:通過后臺與服務器交互,用…

11.OpenCV—聯合QT環境配置

1.QT環境變量配置 在Qt中配置OpenCV 3.4.6與Visual Studio 2017的步驟如下: 一、前期準備 安裝組件驗證 確認已安裝Qt的MSVC2017版本(如Qt 5.12 MSVC2017 64-bit) 檢查Visual Studio 2017的MSVC編譯器是否正常工作 OpenCV庫準備 從官網…

2025虛幻引擎一般用什么模型格式

2025虛幻引擎一般用什么模型格式 前言 積累了一些人物模型發現有的有骨骼,有的沒骨骼,有的要轉換格式,有的直接可以用,所以了解一下各種模型。 2025虛幻人物模型積累 格式轉換真麻煩。 2025.uexp、.uasset文件、.ubulk如何打…

電腦在使用過程中頻繁死機怎么辦

正興致勃勃地打游戲,或者趕著完成一份重要的工作文檔,電腦突然死機了,鼠標動不了,鍵盤也沒反應,只能干瞪眼干著急。電腦在使用過程中頻繁死機,真的太影響心情和效率了。今天咱就來好好聊聊,遇到…

【Java_EE】設計模式

設計模式:解決一些固定場景的固定套路,是一種代碼風格的知道指南。設計模式不止23種 1、單例設計模式 單例設計模式:確保一個類只有一個實例,提供全局訪問點 單例模式的實現方式: 1:餓漢模式 /*** 餓漢…

Nginx代理緩存靜態資源

問題描述 有兩臺服務器,一臺是外網的網關服務器,一臺是內網的資源服務器,但是兩臺服務器距離很遠(跨省),頁面中依賴大量插件資源,加載耗時久,本章重點講解Nginx代理緩存靜態資源。 …

Blender 轉換為 STP:軟件操作與迪威模型網在線轉換全指南

在三維設計與工程制造領域,不同格式的文件承擔著各自的使命。Blender 作為一款功能強大且開源的三維建模軟件,被眾多設計師、藝術家以及學生廣泛使用,能夠創作出風格多樣、細節豐富的三維模型。而 STP 格式作為制造業通用的數據交換標準&…

WebFuture:PDF頁面去掉下載按鈕

問題描述:客戶要求pdf頁面不顯示下載按鈕 解決辦法:WF15.2版本開始會在內容管理配置增加“允許下載 PDF“開關;之前的版本需要替換文件來處理 1.備份網站下的base文件夾,路徑為/wwwroot/content/_common/base/,然后覆…

【JVM】- 類加載與字節碼結構2

編譯期處理(語法糖) java編譯器把.java源碼編譯成.class字節碼的過程,自動生成和轉換的一些代碼。 默認構造器 public class Candy01 { }編譯成class后的代碼 public class Candy1 {public Candy1(){super();} }自動拆裝箱(jd…

WSL2 中安裝 cuDNN?? 的完整指南

以下是關于 ??cuDNN?? 的詳細介紹及在 ??WSL2 中安裝 cuDNN?? 的完整指南,結合權威資料整理而成: 📚 ??一、cuDNN 深度解析?? ??1. 定義與作用?? ??cuDNN??(CUDA Deep Neural Network Library)是…

Apache Doris FE 問題排查與故障分析全景指南

前言: FE(Frontend)是 Apache Doris 集群架構中的“大腦”,負責元數據管理、查詢解析和調度等關鍵任務。一旦 FE 出現問題,整個集群的穩定性和可用性將受到嚴重影響。因此,掌握 FE 故障定位與排查方法對于保…

RK AndroidFramework 內置應用可,卸載,恢復出廠設置恢復安裝

device/rockchip/rk356x/rk3568_r/preinstall_del/Android.mkdevice/rockchip/rk356x/rk3568_r/preinstall_del/Android.mk include $(call all-subdir-makefiles) 拿內置LoyversePos應用做例子 device/rockchip/rk356x/rk3568_r/preinstall_del/preinstall.mk PRODUCT_PACK…

一文了解Blob文件格式,前端必備技能之一

文章目錄 前言一、什么是Blob?二、Blob的基本特性三、Blob的構造函數四、常見使用場景1. 文件下載2. 圖片預覽3. 大文件分片上傳 四、Blob與其他API的關系1. File API2. FileReader3. URL.createObjectURL()4. Response 五、性能與內存管理六、實際案例:…

LLMs 系列實操科普(4)

六、deep research 這是 chatgpt 推出的功能,但我這里是免費用戶,一個月才有 5 次使用機會,而且使用的是輕量化模型版本,相對體驗上比較雞肋一些。 那這個深度思考研究是個什么東西呢? 根據 openai 對其的解釋是&…

若依框架前端調用后臺服務報跨域錯誤

背景:使用若依框架的前后端分離項目,前后端開發在同一個辦公室情況下前端調用后端服務提示如下報錯:Access to XMLHttpRequest at http://ip1:8089/online/layer/dataType from origin http://ip2:6090 has been blocked by CORS policy: Res…

PHP商城源碼:構建高效電商平臺的利器

一、PHP商城源碼的核心優勢 1. **開源免費,降低成本** PHP作為開源語言,擁有龐大的開發者社區,成熟的商城源碼(如EcShop、OpenCart)可免費獲取,大幅降低企業的技術投入成本。 2. **開發效率高** PHP語法…

【學習筆記】C++代碼規范整理

【學習筆記】C代碼規范整理 一、匿名空間namespace 匿名命名空間(Anonymous Namespace)是一種特殊的命名空間聲明方式,其作用是將聲明的成員限定在當前編譯單元(源文件)內可見,類似于使用 static 關鍵字修…

數學復習筆記 29 不定積分

前言 復習的時候時常復習一下以前復習的高數,溫故而知新,可以為師矣。現實生活中有非常多讓我難受的事情,賢者模式的時候也會對一些自己的行為嗤之以鼻,復習考研對其他三門科目都沒有學出來正反饋,只能從數學這兒找一…

微軟因安全漏洞禁用黑暗環境下的Windows Hello面部識別功能

面部識別技術在各種場景中的應用日益廣泛,但身份欺詐事件仍時有發生,這表明即使面部識別也并非萬無一失。在某些情況下,這些系統可能被攻擊者利用。 漏洞發現與應對措施 近期,微軟在Windows 10和11系統中禁用了黑暗環境下使用Wi…