天天看點

《建構高可用Linux伺服器 第3版》—— 2.2 安裝系統時容易發生的錯誤描述與處理方法

本節書摘來自華章出版社《建構高可用linux伺服器 第3版》一 書中的第2章,第2.2節,作者:餘洪春 ,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

如果購買了新伺服器,我們最先做的事情肯定是檢測硬體和安裝伺服器系統,不過,在安裝過程或調試過程中有可能會出現一些小問題,我們應該怎樣正确地處理它們呢?本節将集中讨論如何處理這一類問題,希望能幫助大家進一步了解系統相關知識。

2.2.1 忘記centos 5.8的root密碼怎麼辦

我的線上機器一般會設定28位密碼,就算是内網開發的機器,所設定的密碼也比較長,有時候就會出現忘記root密碼的情況。忘了centos 5.8的root密碼怎麼辦?别着急,按下面的流程一步步操作,很容易解決問題。

1)在開機啟動的時候按空格鍵能看到centos 5.8目錄(3秒後将進入預設設定中),用上下鍵選中你要進入的那個核心,選中後按鍵盤上的e鍵,進入圖2-1所示的界面;雖然圖中隻有一個centos 5.8引導菜單,不過如果你更新了系統或安裝了xen虛拟化後,就會顯示多個。

《建構高可用Linux伺服器 第3版》—— 2.2 安裝系統時容易發生的錯誤描述與處理方法

2)看到圖2-1所示畫面後,繼續按e鍵選擇核心,進入圖2-2所示的畫面。

《建構高可用Linux伺服器 第3版》—— 2.2 安裝系統時容易發生的錯誤描述與處理方法

3)圖2-3所示的畫面可以編輯,在資訊的最後加“空格”,然後輸入“single”或“s”,或者直接輸入數字“1”并按Enter鍵,确定進入下一步(均可以進入單使用者模式)。

4)進入圖2-4所示界面,然後我們可以按b鍵啟動系統了。

《建構高可用Linux伺服器 第3版》—— 2.2 安裝系統時容易發生的錯誤描述與處理方法

5)進入如圖2-5所示的單使用者界面後(即centos 5.8單使用者模式),在這個畫面中的“#”後輸入“passwd root”,重新設定root的密碼,然後再确認輸入一遍,即重設了root密碼,如圖2-6所示。

《建構高可用Linux伺服器 第3版》—— 2.2 安裝系統時容易發生的錯誤描述與處理方法

有時候因為工作的需要,我們需要重新配置root密碼,這個時候我們肯定會輸入一個複雜的長密碼,有些比較性急的系統管理者在輸入新密碼後就退出目前終端,回公司工作了。回到公司卻突然發現:新root密碼無法進入系統了。雖然能夠回機房重設root密碼,但這樣嚴重影響工作效率,怎麼辦?其實這裡面也有個小技巧,特推薦給大家。我們在目前終端下重設了root的新密碼後,不要急着退出,這時候我們可以用alt+f2~alt+f6組合鍵進入另一終端,嘗試使用新的root密碼登入。如果确認無誤,再退出所有終端,這樣失誤的幾率就非常低了。公網機器因為安全要求,伺服器上除了root以外不能保留其他具有sudo權限的使用者,這時候更改root密碼就要慎之又慎了,建議大家按照以上操作流程來正确更改root密碼。

用慣了linux系統的朋友都知道系統下面有/boot分區,我第一次安裝freebsd 8.1時也跟安裝linux一樣配置設定了/boot分區,結果機器啟動不了,需要手動引導,相信很多人都遇到過類似的情況。配置設定了/boot分區後,在系統安裝完成重新開機後便出現如圖2-7所示的故障。

《建構高可用Linux伺服器 第3版》—— 2.2 安裝系統時容易發生的錯誤描述與處理方法

後來通過在網上查資料,了解了freebsd 8.1手動引導的全過程,下面簡單描述一下此錯誤産生的原因:由于獨立分區/boot造成了freebsd 8.1在引導過程中無法正确找到核心引導的位置,是以才會産生上述問題,通過以下指令可以解決此問題:

boot:0:da(0,c)/loader

注意 這個引導盤符根據da0s1x的x得來,是以freebsd 8.1系統的/boot所在的分區區号才是真正的x字母,如果不知道就從x字母開始往後逐個嘗試。

解決了引導問題後,就進入了freebsd 8.1的loader界面,由于預設的kernel位置是/boot/kernel,是以依然需要手動加載,輸入如下指令:

ok load kernel/kernel

獲得kernel資訊後,輸入如下指令:

ok boot

這樣就可以正常引導了,但是随後還需要在磁盤挂載的時候輸入以下指令:

mount root>ufs:/dev/da0s1a

然後便順利進入系統了。可是,不能每次重新開機都手動啟動吧?是以,這裡強烈建議大家安裝freebsd 8.1時不要配置設定/boot分區。我在安裝freebsd 8.1時,會嚴格遵守公司的工作流程來分區,即隻安裝三個分區:根分區、/data分區及swap分區,這樣出錯的幾率會小很多。

有些朋友安裝centos 5.8時,忘了關閉iptables和selinux選項,結果導緻系統出現了許多莫名其妙的問題,特别是在進行一些流量轉發時,例如lvs、nginx。是以我們在進入系統後,可先用指令關閉它們,然後根據實際需求決定是否打開它們,指令如下:

system-config-securitylevel

此指令輸入後,就會進入防火牆配置界面,如圖2-8所示。

《建構高可用Linux伺服器 第3版》—— 2.2 安裝系統時容易發生的錯誤描述與處理方法

配置完成後我們可以用指令分别檢視一下,檢視iptables規則可以用如下指令:

iptables -nv –l

此指令顯示結果如下:

chain input(policy accept 279 packets, 21732 bytes)

pkts bytes target   prot opt in   out   source        destination

chain forward(policy accept 0 packets, 0 bytes)

chain output(policy accept 756 packets, 60241 bytes)

檢視目前selinux狀态,可以用如下指令:

getenforce

disabled

上面是圖形化的操作,推薦使用;如果是用指令行的方法操作,也會比較友善。

關閉iptables的指令如下所示:

service iptables stop

chkconfig iptables off

要關閉selinux,可使用以下指令行臨時關閉。selinux由開啟狀态轉為關閉狀态後,最好重新開機一下伺服器。

setenforce 0

如果要永久關閉selinux,執行以下指令:

sed -i 's@selinux=enforcing@selinux=disabled@' /etc/selinux/config

然後重新開機伺服器,指令如下:

reboot

繼續閱讀