因為在等程式跑出來的結果,所以偷空來 post 一下 :-))
以下是我的一個 Linux 急救的經驗,說出來與大家分享。那是一個晚上,
我在電腦前快睡著了,神智不清的情況下,以 root 身分不小心操作失誤
導至。那時我已將軟碟 mount 上來 (我的軟碟是 ext2 filesystem),剛
剛才將我寫一個晚上的程式 cp 上去準備明天早上到學校繼續努力。結果,
我在還沒 umount 前,手去碰了一下軟碟機的磁片取出按扭。磁片沒有抽
出來,因為我突然驚覺還沒 umount, 急忙縮手,但磁片必竟還是動了一下。
這下完了,已經與整片磁片抽出無異了。系統接下來已無法正確操作軟碟機
(會 read/write error), 還好還能 umount。更慘的是 (或說,我更不應該
的是),第一次我 umount 成功了,就應該馬上 shutdown 重開,卻見到我
有一個檔忘了 cp 到軟碟,又試圖重新 mount 軟碟,想將那個檔案拷過去。
結果那個 mount 指令就 hang 住了,打 ps 一看,變成了 zombie ....
這讓我想起了很久以前的惡夢,也是沒有 umount 就抽出磁片,結果系統
整個大亂。先是 umount/mount 沒有作用,接著 sync 指令也會 hang 住,
更慘的是 shutdown 也沒有作用,用 ps 來看只見 zombie process 越來
越多,最後的下場就是按下 reset, 然後求神保祐 (因為連 sync 都掛了,
所以真的要求神保祐 ....)
而現在,尚在症狀初期,系統已有兩個 zombie, 一個就是 mount 軟碟的
指令,另一個就是 sync。於是我開始了以下的搶救步驟:
1. 系統其他部分似乎還很正常,於是我用 modem ppp 連線,先將我辛苦一個
晚上的程式先傳到學校再說。
2. 我離開 X-Window, 打 ps -ax 列出所有的 process, 用 kill 將所有的
process 一個個砍掉,就連 inetd, syslogd 也不例外,簡單地說,就是
「手動」進入 single user mode。有人會問為什麼不直接打 telinit s
就好了?因為現在系統已不太對勁了,我很怕在進入 single user mode
的過程中,可能那個 script 的動作又會 hang 住,變成 zombie process,
所以才手動一個個砍。
3. 然後我試圖 umount 硬碟的 filesystem, 我的 partition 如下
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda1 694695 584419 74393 89% /
/dev/hda2 247871 47904 187166 20% /var
/dev/hda3 595195 518024 46427 92% /home
/dev/hdb1 1211511 871568 277348 76% /opt
我先 umount /opt 與 /var, 幸好都可以 umount, 要 umount /var 要注
意,必須確定所有的 system daemon 都 kill 掉了,才能 umount 成功。
因為 system daemon 常常讀寫 /var/log 的檔案,只要有任何程式在使用
檔案,就無法 umount。
4. 因為我出事的那一刻是在 /home partition 下的,也就是 mount, sync
等指令是在 /home partition 下執行的,因此,除非這兩個 process 完
全結束,才能 umount 這個 partition。然而,這兩個 process 正以 zombie
的姿態掛在那裏,也無法 kill 掉,所以,我將這 partition mount 成
read-only:
mount -o remount,ro /home
幸好這樣子還沒問題。
5. 最後, / partition 也 mount read-only:
mount -o remount,ro /
6. 按下 reset 重開機。由於我這時所有的 partition 不是 umount 了就是
已 mount read-only, 所以理論上這時按下 reset 重開對於 filesystem
完全沒有損壞。事實上也是如此,重開的過程中, filesystem 完全不需
要 check, 一下子,系統就正常了。
以上就是一個很簡單的系統搶救經驗,提供給大家參考 :-))
--
─── 居 士 ───
<thhsieh@linux.org.tw>
Welcome to XCIN Project: http://xcin.linux.org.tw
--
※ Origin: 臺大電機 Maxwell 站 ◆ From: twcpro.phys.ntu.edu.tw
Linux 近期熱門文章
23
129
PTT數位生活區 即時熱門文章
-4
30