偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

一次“測試”引發(fā)的慘案:dd 命令寫錯目標,系統(tǒng)徹底崩盤!

系統(tǒng) 系統(tǒng)運維
dd 是Linux/Unix系統(tǒng)中一個用于按塊block進行讀寫數(shù)據(jù)的命令,能夠在設(shè)備之間或文件之間進行底層復制、轉(zhuǎn)換、備份與恢復。

最近,為一批備份服務(wù)器進行漏洞修復工作,并按常規(guī)進行了重啟。遺憾的是,這次重啟卻意外地導致了幾臺備份服務(wù)主機無法正常啟動,操作系統(tǒng)出現(xiàn)了故障,備份服務(wù)也因此中斷。

經(jīng)過緊急排查后,我們發(fā)現(xiàn)了一個之前未曾注意到的問題:原來很久以前有人執(zhí)行了一條dd命令,但當時并沒有立即重啟服務(wù)器。直到這次為了修復安全漏洞而進行的重啟操作,才觸發(fā)了這個問題。這條命令就像一顆隱藏的定時炸彈,最終引發(fā)了這次嚴重的故障。

這條dd命令毀了系統(tǒng)!

在系統(tǒng)重啟前,一切運行正常,沒有任何報警信號。而重新啟動之后,系統(tǒng)提示:

先檢查了磁盤、BIOS設(shè)置和啟動配置這些常見的地方,但沒發(fā)現(xiàn)什么問題。然后在其他還沒重啟的機器上查看了之前執(zhí)行過的命令,結(jié)果找到了一條危險的命令,如下圖所示:

dd if=/dev/zero of=/dev/sda bs=10G count=1 iflag=dsync

這條命令將 10GB 的全零數(shù)據(jù)以同步方式直接寫入系統(tǒng)磁盤 /dev/sda 的起始位置,徹底覆蓋啟動扇區(qū)和所有原始數(shù)據(jù),極具破壞性!

而這位同事的本意,其實是想測試磁盤的讀取性能。他原本想執(zhí)行的命令應(yīng)該是:

ddif=/dev/sda of=/dev/null bs=32k count=32768 iflag=dsync

只是將 if=和 of=位置寫反了,就把整個啟動盤最關(guān)鍵的引導區(qū)域給毀了!

dd是什么?

dd 是Linux/Unix系統(tǒng)中一個用于按塊block進行讀寫數(shù)據(jù)的命令,能夠在設(shè)備之間或文件之間進行底層復制、轉(zhuǎn)換、備份與恢復。它被廣泛用于:

  • 制作啟動盤
  • 系統(tǒng)備份還原
  • 磁盤性能測試
  • 清空磁盤數(shù)據(jù)(數(shù)據(jù)粉碎)

然而,dd 因其“直接對塊設(shè)備操作”的特性,也被稱為:

“Data Destroyer(數(shù)據(jù)毀滅者)”

一不小心,輕則誤刪文件,重則系統(tǒng)癱瘓!

基本語法:

dd if=<輸入源> of=<輸出目標> [參數(shù)]
  • if(input file):指定輸入源,可以是文件或設(shè)備,如 /dev/sda
  • of(output file):指定輸出目標,如磁盤、文件或 /dev/null

常配合其他參數(shù)使用,如塊大小、計數(shù)方式、同步策略等。

常用參數(shù)說明:

參數(shù)名

含義

示例

if=

輸入源

if=/dev/sda

of=

輸出目標

of=/backup.img

bs=

設(shè)置塊大?。╞lock size)

bs=1M

 代表每次讀寫1MB

count=

復制的塊數(shù)

count=1024

 表示復制1024個塊

skip=

跳過輸入文件的前N個塊

skip=1

 從第2個塊開始復制

seek=

跳過輸出文件的前N個塊

seek=1

 寫入時從第2個塊開始

iflag=

輸入標志

dsync

 強制同步讀取

oflag=

輸出標志

direct

, sync, append 等

status=

控制輸出信息

status=progress

 顯示實時進度

總結(jié)

我這次完全跳進被人挖好的坑,在重啟服務(wù)器的時候,一定要仔細檢查每一步。建議你注意下面幾點,這樣可以避免重啟后系統(tǒng)進不去:

(1) 請檢查/etc/fstab文件,確認以下內(nèi)容是否正確:

  • 磁盤路徑
  • 磁盤/分區(qū)UUID
  • 掛載目錄的存在性及準確性
  • 關(guān)鍵字(如defaults, xfs, ext4)的正確性
lsblk -f
cat /etc/fstab

(2) 請檢查您的磁盤或分區(qū)狀態(tài)是否顯示為“rw”,這表示一切正常。

mount|grep"^/dev"

(3) 看看日志里有沒有提到文件系統(tǒng)損壞的問題,這樣可以防止因為文件系統(tǒng)壞了而進不去操作系統(tǒng)。

cat /var/log/messages |egrep-i"xfs|ext"|grep-E'corrupted|corruption|Failed|error|metadata'
dmesg-T|egrep-i"xfs|ext"|grep-E'corrupted|corruption|Failed|error|metadata'

(4) 審查歷史命令,查看是否執(zhí)行了一些高危的操作

history|grepdd|grep sda
責任編輯:趙寧寧 來源: 攻城獅成長日記
相關(guān)推薦

2021-11-01 17:29:02

Windows系統(tǒng)Fork

2017-08-24 17:37:18

DNS緩存分析

2024-05-13 08:37:17

炫技H5UI

2017-09-01 09:17:51

DNS緩存慘案

2021-03-17 00:17:16

命令應(yīng)急響應(yīng)

2019-09-12 09:40:34

秒殺系統(tǒng)高并發(fā)

2018-12-27 09:09:35

2019-11-04 10:37:53

MongoDB宕機日志

2023-07-13 09:12:37

CNCF項目云原生

2017-08-22 15:58:56

2011-04-27 10:02:54

兼容墨盒用戶體驗

2021-11-22 08:33:27

微信聊天離婚

2022-11-29 21:26:26

跨域配置

2019-09-10 10:31:10

JVM排查解決

2021-07-24 13:11:19

Redis數(shù)據(jù)技術(shù)

2013-03-22 10:53:42

PyConPython

2019-01-16 09:20:42

架構(gòu)設(shè)計JVM FullGC宕機事故

2018-07-16 22:29:29

代碼迭代質(zhì)量

2020-01-06 09:43:14

賠償TSB遷移

2019-11-08 16:05:54

Promise前端鏈式調(diào)用
點贊
收藏

51CTO技術(shù)棧公眾號