記錄由於一次強制斷電導致的伺服器無法啟動的恢復過程

2021-07-27 08:36:40 字數 1366 閱讀 8305

from: 雜項

年前的某天早上,還是一如既往的上班,解決bug,浮現問題; 正當修改除錯**,繼續跑結果的時候,發現編譯伺服器一般公司編譯是有專門的伺服器的連不上了,好氣啊,群中詢問原因,說是隔壁的公司將』電閘』給拉下來蛋疼,伺服器所在房間的電源是被別人控制的,發現後立馬跑到隔壁將電閘拉了上來;; 恩恩,沒事,就是一次非正常斷電麼,過了5分鐘,編譯伺服器依然連不上,又是好氣哦,詢問說應該起來了啊。他們已經在用呢,尼瑪,你們用的和我不是一台伺服器啊,小跑至伺服器放置房間,插上vga,發現了坑爹的一幕;

螢幕上赫然顯示的是「error: unknown filesystem grub rescue」… ****,由於年關將至,機房管理者請假回家了,只能自己擼起袖子幹了… 檔案系統應該是損壞了,沒事,有哥哥在呢;

迅速找到乙個u盤啟動盤,啟動了ubuntu 最小系統,想著修復一下檔案系統不就ok了嗎? 等等,不能這麼貿然,那可是大家的編譯伺服器,**都在上面呢; so.. 先將原盤資料備份吧,1個t的資料啊,找了乙個大小一樣的盤,開始了dd拷貝;

這一下等了足足3個小時;好吧,終於拷貝完了; 開始修復吧,mkfs.ext4 /dev/*** .. 坐等完事兒。。。

修復完畢後,我轉身就走了[就這麼自信啊],過來等了許久,依然連不上。。。尼瑪。。。又接vga,發現螢幕上依然顯示的是「error: unknown filesystem grub rescue」。 冷汗直流,這下裝b失敗了;

為什麼會如此? 我決定一**竟,又將備份盤資料重新拷貝至修改失敗的盤; 又是3個小時。。。。

這次先不修復,進入mini system 後,我開始思考原因; 使用fdisk -l 看到的是不對,分割槽起始和end不一致啊;

不像是檔案系統損壞,像是分割槽表損壞了;

這時候我突然想起,旁邊也有一台伺服器的配置和這台是一模一樣的;

登入看看,發現伺服器是做過lvm配置的,也就是檔案系統之下並不是分割槽,而是lun[logic unit number],而我進入mini system 是執行lvs已然看不到lun相關東西了;

冒著在重新拷貝乙份資料的險,將沒出問題的一台伺服器的分割槽表給dd 乙份出來

dd if=/dev/sdx of=/tmp/sdx bs=512 count=24

然後直接寫入損壞的伺服器的分割槽中

dd if=/tmp/sdx of=/dev/sdx

然後partprobe

重啟。。。

進入mini system 執行lvs,發現分割槽回來了;

然後在使用u盤啟動僅僅將作業系統重組就可以啦;

by: keven - 點滴積累

記一次由於快取導致的bug

bug描述 有一張資料庫表儲存的是 值日員工資訊,有時候可能一次性錄入1個月的資料 有時候也可能隔了很多天沒有錄入資料,也就是說這個錄資料不是很規律。bug現象 測試人員發現,上三亞地區能正常顯示當天值日員工資訊,但是珠海地區卻不能正確顯示當天值日員工資訊。而資料庫上實際是有珠海地區值日員工資訊的。...

記一次伺服器斷電nginx重啟的坑

周一一到公司,前端同事就給我說,測試伺服器是不是掛了,什麼資料都沒有。我突然想到週六大廈斷電了大約三分鐘,於是就想到應該是伺服器上部署的服務都沒有啟動。由於h5靜態資源通過nginx做了 猜想是nginx還未啟動,但是nginx卻啟動不了,用命令檢視錯誤如下 看來是檔案訪問許可權的問題,但是看了ng...

記錄一次由於執行緒使用不當引發的血案

最近給第三方做了乙個介面,介面的作用是接收資料對資料進行驗證之後通過kafka推送到模型進行資料處理,最終通過kafka接收模型的資料,開始只做了乙個非同步的介面,由於對方業務原因需要乙個同步的介面傳輸資料,但是每當執行一段時間之後程式就會進入假死狀態,介面無法正常呼叫 同步介面的實現是使用阻塞ma...