二哥挨踢20年碰到系統故障無數,但從未造成過數據丢失,究其原因有二:其一運道超好,其二學會自救,不是嗎?做任何事情都要能力 一點運氣,二者缺一都會“撲街”。
然運道之勢由天而定,非人力能及也,故吾今天單說自救方法。
當一個Linux系統突然“撲街”宕機無法再啟動的時候,除了對它翻白眼說粗口之外還有沒有别的辦法降低損失?然也!go ahead!
一,插入光盤,将系統的Bios設定為優先從光盤啟動,進入光盤救援模式。
光盤救援模式
按回車後系統會自動加載一些驅動之類的必要數據,然後提示你進行下一步。接着問你要不要啟動網絡,最好啟動,因為對系統進行任何改變之前一定要把重要的數據通過網絡拷貝出來。
配置網絡
就直接使用DHCP獲取IP地址好了,簡單些,因為每個公司都有内部DHCP服務,家裡50元的路由器也有這功能,不用手工配置它,省得一旦配錯連不上網,有一個注意點是先把IPv6去掉,不然網絡啟動的時間會變慢, 且救援模式下不需要這個東西。
啟用IPv4去掉IPv6
然後下一個界面要認真閱讀以下,它會告訴你一些特别有用的信息。
認真閱讀該圖
它的大意是說,它會自動幫你把你的那個沒法啟動的系統安裝盤挂載到/mnt/sysimage這個地方,然後你就可以對你的系統進行一些改動(修複)了,如果你希望這樣做你就隻要選擇"Continue"這個選項繼續下去就可以了,當然你也可以選擇把系統挂載成隻讀模式"Read-Only",這樣的話你就不能對系統進行修改,隻能備份數據到網絡上了。
我們這裡演示就選擇"Continue",挂載成可讀可寫模式,以便進行系統修複。
接下來它會幫我們做一系列的檢查加載,然後出現下一個畫面
注意chroot /mnt/sysimage的提示
意思是我已經幫你把系統挂載在/mnt/systmage這個目錄下了,你稍後可以選擇使用chroot /mnt/sysimage來改變你的當前根目錄到/mnt/sysimage這裡,這有時候正是我們需要的,比如我們如果是因為臨時安裝了一個什麼軟件包導緻系統故障的,就可以用這個方法把新安裝的軟件包删除,以便恢複正常。
接下來我們就可以獲得一個命令行下進行操作的bash shell, 我們就在這個地方進行自救。
在這裡進行修複工作
先查看一下網絡是否正常可用了,方法如下
ping外網有回複即網絡可用
ping 一下外網,有回複即表示本機網絡已經可用,這個時候你可以選擇先備份重要數據,然後再進行系統修複,有一個很好用的備份命令:scp介紹給大家,可以通過網絡把重要數據拷貝到其他Linux服務器上,這一點很重要,二哥20年來跟團隊成員一直強調的保命絕招就是“先備份,再進行其它操作”。
重點--先備份永遠沒錯!啥!你說二哥膽小是嗎?這個領域沒有英雄豪傑,膽大包不住天,嘗試兩次你就知道,這個領域會“餓死膽大的,撐不死膽小的”,跟别的地方不一樣。
如何備份?舉例說:
scp -r /root/scripts/ [email protected]:/root/
這樣就能把/root/scripts下的所有文件都拷貝到另一台機器上的/root/scripts下了,需要備份其他的就用同樣方法。
數據備份好之後我們就可以開始我們的系統修複了。
修複系統比如說,假設你剛剛是因為安裝了一個軟件包叫做glibc導緻系統不能啟動的,那麼你就可以這樣把它删掉恢複正常:
chroot /mnt/sysimage/
這樣你就可以把系統的根目錄切換你要修複的系統的根目錄上了,之後的操作就是對被修複系統做的。
然後你就可以用
yum remove glibc
把它删除,其他類似。
如果你要修複文件系統,那麼就要用到
e2fsck /dev/sda* ; 或者是 e2fsck /dev/mapper/vgxxx_lv_root
這個命令了,sda2和/dev/mapper/vgxxx_lv_root是我的硬盤号和邏輯卷号,殿下你們要填自己的,但是要注意一件事情就是進行文件系統修複的時候一定要退出當前根分區回到光盤啟動的時候默認的那個根分區系統,不然是沒法做修複的。用命令exit就可以退出了
判别在哪個根分區
看到圖中的1這種情況就代表你還沒有退出被修複硬盤的根分區,看到圖中的2就代表已經退出到光盤的根分區了。讓後把/mnt/sysimage/下的被挂載項目全部umount(卸載),比如
umount /mnt/sysimage/sys ..... umount /mnt/sysimage/
裡面的子目錄都umount完成之後在最後一步umount /mnt/sysimage/,注意一定是要把子目錄umout了之後才能umout上層目錄或者跟目錄,道理很簡單,就是當你正站在一缸裡面的時候你是沒法把這個缸舉起來的,隻有你跳出這個缸你才能把這個缸提起來。好,所有人都跳出這個缸了之後你就可以使用下面命令進行系統修複了。
e2fsck /dev/mapper/vgxxx_lv_root
通常情況下這樣做系統也就可以重新啟動起來了。如果還想要做其他的修複,方法類似,比如你忘記密碼了想要清空密碼再設置新的,那麼你就可以到/mnt/sysimage/etc/passwd文件裡面下圖中标紅的x删除,重啟系統後再設置密碼。
希望我的文章能幫助你get到一些東西,如果喜歡可以關注我的頭條号,我們會經常發布一些使用的IT知識在頭條圖文上,盡我之力,成就你我!
感謝閱讀,歡迎評論。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!