您現(xiàn)在的位置:首頁(yè) >關(guān)于我們 >行業(yè)新聞 >實(shí)戰(zhàn):排除 AIX 服務(wù)器的故障

實(shí)戰(zhàn):排除 AIX 服務(wù)器的故障

時(shí)間:2011年5月26日

  在本文中,按相似的方式學(xué)習(xí)如何解決 IBM AIX® 中的實(shí)際問(wèn)題。您會(huì)了解相關(guān)的工具和知識(shí),從而提升解決可能會(huì)遇到的一些棘手問(wèn)題的技能。本文給出我曾經(jīng)遇到的兩個(gè)有意思的場(chǎng)景,提供探測(cè)異常情況的步驟。然后停一下,讓您推測(cè)什么出了問(wèn)題,最后給出答案。

  示例問(wèn)題

  首先描述我作為系統(tǒng)管理員遇到的兩個(gè)問(wèn)題。

  問(wèn)題 1:服務(wù)器更大,而計(jì)算能力卻降低了

  當(dāng)時(shí),我需要把一個(gè) AIX 5.3 LPAR 從基于 POWER4™ 的老式 IBM pSeries® p670 服務(wù)器遷移到基于 POWER6® 的全新的 pSeries p570 服務(wù)器上。老的服務(wù)器資源不足(使用 Workload Manager 管理服務(wù)器上主要應(yīng)用程序的資源),因此新硬件上新的動(dòng)態(tài)處理器資源應(yīng)該會(huì)提供我需要的計(jì)算能力。我對(duì)這個(gè) LPAR 執(zhí)行了 mksysb,然后使用 Network Installation Manager 在新硬件上恢復(fù)它并通過(guò) SAN 磁盤(pán)映射它。

  我啟動(dòng)了這個(gè) LPAR,直到啟動(dòng)應(yīng)用程序之前看起來(lái)一切順利。突然之間,用戶開(kāi)始打電話來(lái)了。他們根本無(wú)法訪問(wèn)自己的產(chǎn)品了。當(dāng)我登錄時(shí),發(fā)現(xiàn)服務(wù)器完全是空閑的。服務(wù)器上根本沒(méi)有消耗資源很多的進(jìn)程。用戶為什么會(huì)遇到問(wèn)題?

  問(wèn)題 2:出故障的硬盤(pán)無(wú)法解除鏡像

  我的一臺(tái)服務(wù)器具有鏡像的 root 磁盤(pán)。有一天,錯(cuò)誤報(bào)告指出在其中一個(gè)磁盤(pán)上壞塊無(wú)法重新定位。我知道這是硬件故障的先兆,所以開(kāi)始解除鏡像。但是,服務(wù)器說(shuō)無(wú)法完全解除鏡像,因?yàn)槠渲幸粋(gè)邏輯卷只有一個(gè)好拷貝,它就在出故障的磁盤(pán)上。我應(yīng)該怎么解決這個(gè)問(wèn)題并更換硬件?

  故障排除過(guò)程

  記住這兩個(gè)示例問(wèn)題,現(xiàn)在看看解決它們的過(guò)程。

  步驟 1:別亂動(dòng)

  一旦發(fā)現(xiàn)有麻煩了,最明智的舉動(dòng)就是別亂動(dòng)。就像印地安納·瓊斯在 “奪寶奇兵” 中一樣,如果發(fā)現(xiàn)踩上地板就會(huì)有飛鏢射向您,那么就停在原地,不要繼續(xù)前進(jìn)了。更多的變動(dòng)只會(huì)讓問(wèn)題復(fù)雜化,可能把情況弄得更糟。當(dāng)一個(gè)問(wèn)題影響系統(tǒng)正常運(yùn)行時(shí),不得不解決多個(gè)問(wèn)題是沒(méi)有意義的。

  對(duì)于 第一個(gè)示例問(wèn)題,我讓用戶馬上退出系統(tǒng),然后我終止應(yīng)用程序。我知道在性能很差時(shí)用戶的查詢和輸入會(huì)中斷,這可能會(huì)破壞他們的數(shù)據(jù),在我檢查系統(tǒng)之前不希望他們的環(huán)境有進(jìn)一步的變動(dòng)。盡管用戶不愿意聽(tīng)到他們現(xiàn)在不能使用新的服務(wù)器,但是知道我正在查找問(wèn)題的原因,他們會(huì)很高興。另外,這讓我有時(shí)間按自己的方式執(zhí)行其他故障排除步驟。

  步驟 2:先從基本命令開(kāi)始,然后增加復(fù)雜性

  在我學(xué)功夫時(shí),聽(tīng)到了一位二級(jí)黑帶在公共汽車(chē)站制伏小偷的故事。同學(xué)們都想知道她用哪一招放倒了進(jìn)攻者。是金虎式嗎?還是八卦掌中的圈掌?我們甚至想像她非常厲害,用醉八仙把對(duì)方放倒了。結(jié)果都不是:她使用的是白帶在班上最初學(xué)習(xí)的技術(shù)之一 — 肘擊前胸,再拳擊鼻子。

  AIX 提供了用于檢查服務(wù)器的各個(gè)方面的命令,包括硬件和軟件。即使是最基本的命令也會(huì)為分析問(wèn)題提供很好的基礎(chǔ)。當(dāng)信息不夠或仍然有些東西表現(xiàn)不正常時(shí),可以開(kāi)始嘗試更復(fù)雜、更強(qiáng)大的工具。但是,應(yīng)該從最簡(jiǎn)單的命令和想法開(kāi)始,然后再使用更強(qiáng)大的工具。

  例如,AIX errpt 是在各種風(fēng)格的 UNIX® 中都能夠找到的基本工具之一。它提供關(guān)于硬件和軟件問(wèn)題的各種信息。如果使用 –a 標(biāo)志或 –j 選項(xiàng)和標(biāo)識(shí)碼,會(huì)產(chǎn)生更詳細(xì)的輸出,輸出描述問(wèn)題的類(lèi)型、受影響的組件以及系統(tǒng)如何根據(jù)錯(cuò)誤的類(lèi)型做出反應(yīng)。如果它提供的信息不夠,可以用 diag 命令進(jìn)一步檢查系統(tǒng),這個(gè)命令會(huì)在硬件和操作系統(tǒng)的各個(gè)部分上運(yùn)行測(cè)試。

  對(duì)于 第二個(gè)示例問(wèn)題,我先通過(guò)查看 errpt 輸出尋找硬件問(wèn)題,然后使用 unmirrorvg 命令 — 嘗試解除鏡像的簡(jiǎn)單但強(qiáng)大的工具 — 而不是對(duì)磁盤(pán)上的每個(gè)邏輯卷運(yùn)行 rmlvcopy。當(dāng)我發(fā)現(xiàn)有一個(gè)邏輯卷無(wú)法刪除時(shí),就使用 lspv、lsvg 和 migratepv 等其他基本命令收集信息。我嘗試用 extendvg 和 mirrorvg 在另一個(gè)磁盤(pán)上創(chuàng)建卷組的另一個(gè)拷貝。這仍然留下了一些舊的分區(qū),所以我更進(jìn)一步,用 syncvg 和 synclvdom 協(xié)調(diào) Object Data Manager 與服務(wù)器。最后,我用 migratelp 嘗試把各個(gè)邏輯分區(qū)轉(zhuǎn)移出這個(gè)磁盤(pán)。不幸的是,這些工具都不奏效,但是它們提供了大量信息。

  步驟 3:再現(xiàn)問(wèn)題

  按照科學(xué)的方法,任何假想和試驗(yàn)的關(guān)鍵一點(diǎn)是,能夠重建過(guò)程并產(chǎn)生相同的結(jié)果。如果做不到,結(jié)論至少是不確定的。在最糟糕的情況下,這會(huì)顛覆科學(xué)家的理論并損害他們的名譽(yù),就像在上世紀(jì) 90 年代宣稱(chēng)實(shí)現(xiàn)了室溫冷聚變的物理學(xué)家一樣。

  或者,按我的說(shuō)法:如果一開(kāi)始不成功,那么在其他地方試試是否可以造成同樣的問(wèn)題。

  在管理 AIX 服務(wù)器時(shí),如果某些東西出了問(wèn)題,而您有再現(xiàn)問(wèn)題所需的資源,那么在另一個(gè)相似類(lèi)型的 LPAR 上執(zhí)行相同的操作,看看是否會(huì)產(chǎn)生相同的結(jié)果。如果在另一個(gè)服務(wù)器上修改相同的屬性會(huì)造成相同的結(jié)果,就可以推論這個(gè)操作就是問(wèn)題的根源。但是,如果產(chǎn)生了完全相反的結(jié)果,那么要研究服務(wù)器之間的細(xì)微差別,嘗試推測(cè)造成問(wèn)題的原因。

  對(duì)于第一個(gè)示例問(wèn)題涉及的 LPAR,我發(fā)現(xiàn)當(dāng)把 SAN 磁盤(pán)交換回老的 p670 服務(wù)器并啟動(dòng)它時(shí),問(wèn)題沒(méi)有出現(xiàn)。用戶能夠訪問(wèn)他們的應(yīng)用程序,CPU 承受正常的負(fù)載,CPU 利用率為 80% 多(10% 內(nèi)核 + 70% 用戶)。因此,我能夠斷定是 p570 服務(wù)器上特有的某些東西導(dǎo)致了問(wèn)題,而不是遷移過(guò)程中引入的某些東西。

  步驟 4:研究問(wèn)題

  在信息時(shí)代,只需敲幾下鍵盤(pán),點(diǎn)幾次鼠標(biāo),就能夠獲得大量信息。更好的是,系統(tǒng)管理員往往是大型社區(qū)的成員,社區(qū)記錄了很多人多年的經(jīng)驗(yàn)。

  首先應(yīng)該查閱生產(chǎn)商和銷(xiāo)售商自己的資料。IBM 這樣的公司在網(wǎng)上公開(kāi)他們的所有手冊(cè)、Redbook、技術(shù)文件甚至 man 頁(yè)面以供研究。只需在主站點(diǎn)的搜索欄中輸入簡(jiǎn)單的關(guān)鍵字,就可以找到大量可能有幫助的建議和信息。

  我推薦的其他信息源包括其他系統(tǒng)管理員經(jīng)常訪問(wèn)的各個(gè)新聞組、論壇和站點(diǎn)。成天與服務(wù)器打交道的人往往會(huì)經(jīng)常訪問(wèn)技術(shù)站點(diǎn),并對(duì)在工作過(guò)程中看到的東西發(fā)表評(píng)論。對(duì)于公開(kāi)的求助,大多數(shù)系統(tǒng)管理員樂(lè)于提供指點(diǎn),或通過(guò)電子郵件往來(lái)提供幫助。另外,常?梢哉业脚c操作系統(tǒng)和軟件的其他版本相關(guān)的舊信息,可以通過(guò)它們找到更多信息。

  對(duì)于這些信息源,主要的使用技巧是使用適當(dāng)?shù)年P(guān)鍵字集。如果我使用 Google 這樣一般性的網(wǎng)站研究 AIX 問(wèn)題,那么會(huì)確保搜索字符串以 AIX 開(kāi)頭,以便排除與其他風(fēng)格的 UNIX 相關(guān)的信息。然后,可能會(huì)包含命令的輸出或 errpt 產(chǎn)生的標(biāo)簽等內(nèi)容。我還會(huì)確保在特定的短語(yǔ)前后加上雙引號(hào) (""),以便把搜索限制在這些特定的問(wèn)題,避免無(wú)關(guān)的信息,對(duì)于常用的單詞(比如 Logical Volume Manager)尤其應(yīng)該這么做。

  對(duì)于磁盤(pán)壞塊重定位失敗的問(wèn)題,在 Google 上使用短語(yǔ) AIX "bad block relocation" failure 進(jìn)行搜索產(chǎn)生了幾百個(gè)結(jié)果,但是看起來(lái)沒(méi)有與我的情況相符的。

  步驟 5:取消所有更改

  有時(shí)候,解決問(wèn)題最明智的做法是取消已經(jīng)做的所有更改,回到原來(lái)的狀態(tài)。這個(gè)步驟并非總是可行的。有時(shí)候,過(guò)分熱心的 C 級(jí)執(zhí)行官?gòu)?qiáng)迫您回退他們的服務(wù)器;蛘,由于時(shí)間緊迫,有必要這么做。無(wú)論如何,回退是可供選擇的最好的戰(zhàn)術(shù)之一。

  我把這個(gè)步驟放在故障排除步驟列表的中間位置,這是因?yàn)橛袝r(shí)候必須早點(diǎn)兒這么做,有時(shí)候要晚一些。但是根據(jù)我的經(jīng)驗(yàn),我覺(jué)得最好先完成前四個(gè)步驟,然后再考慮取消所有更改。如果在故障排除過(guò)程開(kāi)始時(shí)馬上取消更改,問(wèn)題很可能沒(méi)有解決,下一次嘗試相同的工作時(shí)還會(huì)遇到相同的麻煩。如果在過(guò)程中過(guò)晚回退,會(huì)影響正常運(yùn)行時(shí)間,或者讓問(wèn)題復(fù)雜化,到了不可能回退的程度。

  對(duì)于第一個(gè)示例,由于時(shí)間的原因,我實(shí)際上不得不回退了服務(wù)器遷移操作。如果這個(gè)生產(chǎn)服務(wù)器停運(yùn)更長(zhǎng)時(shí)間,用戶和公司就會(huì)損失金錢(qián)。重新安排這項(xiàng)工作花了一周時(shí)間,這讓我能夠多做一些研究,但是當(dāng)我再次嘗試遷移時(shí),問(wèn)題又出現(xiàn)了。對(duì)于第二個(gè)示例,無(wú)法對(duì)硬件問(wèn)題執(zhí)行回退。無(wú)法告訴服務(wù)器,“回到發(fā)生壞塊重定位錯(cuò)誤之前的狀態(tài)!” 我不得不繼續(xù)努力克服磁盤(pán)的故障。

  步驟 6:每次只更改一處規(guī)則

  如果上面的所有步驟都不奏效,您決定開(kāi)始更改主要組件或者對(duì)服務(wù)器做更激進(jìn)的操作,那么要記住一條最重要的規(guī)則:每次只更改一處。

  多處更改會(huì)導(dǎo)致兩種情況之一。首先,如果這些更改解決了問(wèn)題,那么您不知道哪個(gè)更改是有效的操作。如果您不關(guān)心究竟是什么解決了問(wèn)題,這可能沒(méi)什么大不了的,但是出色的系統(tǒng)管理員都希望掌握更多知識(shí),因?yàn)樗麄冎绬?wèn)題往往會(huì)在同一地方多次出現(xiàn)。第二,如果問(wèn)題沒(méi)有解決,這可能會(huì)引入更多復(fù)雜性。繼續(xù)這樣做,您會(huì)不知道要取消哪個(gè)更改。如果走得足夠遠(yuǎn),系統(tǒng)會(huì)亂成一鍋粥而您被弄得一頭霧水。(xkcd 上有一個(gè)關(guān)于這種情況的笑話。)

  如果做一處更改之后問(wèn)題沒(méi)有解決,通常希望取消它并嘗試其他措施。在第一個(gè)示例中就是這種情況:當(dāng)我對(duì)比兩個(gè)服務(wù)器的 Hardware Management Console 概要文件時(shí),看到它們不一樣。我注意到老的 POWER4 硬件使用專(zhuān)用的 CPU,而新的 POWER6 硬件使用不封頂?shù)墓蚕?CPU 池。我想知道這一差異如何影響 CPU 性能,所以修改了 POWER6 硬件上的概要文件以使用專(zhuān)用的 CPU。奇怪的是,根據(jù)用戶的反饋,服務(wù)器 “正常” 了,我在處理器上看到了負(fù)載。因此,我知道問(wèn)題肯定與 CPU 資源有關(guān),但是需要查明為什么會(huì)這樣。

  步驟 7:求助于 IBM Support

  如果已經(jīng)嘗試了所有合理的步驟,需要新的想法,通常應(yīng)該聯(lián)系 IBM Support。他們有高級(jí)的故障排除工具,有精通操作系統(tǒng)和相關(guān)產(chǎn)品(比如 VIO 和 PowerHA)的每個(gè)方面的專(zhuān)家,可以調(diào)出相關(guān)的案例以證實(shí)并協(xié)助解決相似的問(wèn)題。但是,如果您以前沒(méi)有撥打過(guò) 800-IBM-SERV,有幾點(diǎn)需要了解。

  首先,您應(yīng)該有 IBM 合同號(hào)。有多個(gè)支持級(jí)別,從最高級(jí)的由專(zhuān)人負(fù)責(zé)的 24x7x365 支持直到適用于非關(guān)鍵服務(wù)器的上午 8 點(diǎn)到下午 5 點(diǎn)支持?梢灾苯訌 IBM 購(gòu)買(mǎi)這些支持服務(wù)包,也可以與增值銷(xiāo)售商簽訂合同。

  還需要提供一些信息,讓 IBM Support 可以調(diào)出您的賬戶 — 通常是服務(wù)器所在地的電話號(hào)碼、序列號(hào)、合同號(hào)或物理位置。這一信息很大程度上取決于您建立的是硬件案例還是軟件案例。

  還必須讓支持人員了解問(wèn)題的嚴(yán)重程度或優(yōu)先級(jí)。優(yōu)先級(jí)分為從 1 到 4 幾個(gè)級(jí)別。1 級(jí)通常涉及系統(tǒng)停止運(yùn)行或生產(chǎn)影響,對(duì)于這個(gè)級(jí)別會(huì)馬上把電話轉(zhuǎn)給技術(shù)人員。4 級(jí)意味著處理時(shí)間可以長(zhǎng)一些,通常用于一般的管理問(wèn)題。

  您描述問(wèn)題并建立支持案例之后,會(huì)給您一個(gè)跟蹤號(hào) — 通常稱(chēng)為 PMR。這個(gè)號(hào)碼向與您協(xié)作的其他支持人員標(biāo)識(shí)這個(gè)案例。硬件和軟件 PMR 是惟一的,如果您的問(wèn)題跨越邊界,就需要得到新的號(hào)碼。

  對(duì)于兩個(gè)示例問(wèn)題,我都不得不聯(lián)系 IBM。對(duì)于第一個(gè)問(wèn)題,IBM 調(diào)動(dòng)從 VIO 支持到內(nèi)核團(tuán)隊(duì)的多方面人員參與解決問(wèn)題。對(duì)于第二個(gè)問(wèn)題,只有硬件技術(shù)人員參與,我提供了來(lái)自 snap 命令的信息以供分析。

  步驟 8:走極端

  有時(shí)候,沒(méi)有其他方法能夠解決問(wèn)題,只能?chē)L試大多數(shù)人認(rèn)為是發(fā)瘋的某些非正統(tǒng)措施。當(dāng)您已經(jīng)絕望,甚至工作或生命岌岌可危時(shí),通常會(huì)這么做。在這種情況下,IBM 支持人員常常會(huì)說(shuō),“如果您這么做,就會(huì)處于不受支持的狀態(tài),必須重新開(kāi)始,然后我們才能夠支持它! 但是,如果您的解決方案是有效的,可能能夠化險(xiǎn)為夷。

  對(duì)于我的第二個(gè)示例,在我聯(lián)系 IBM Support 之后,他們說(shuō)惟一的方法是生成 mksysb 映像以恢復(fù)服務(wù)器。由于我們沒(méi)有更多東西可失去了,與我的管理員團(tuán)隊(duì)討論之后,我們打算對(duì) root 磁盤(pán)做三重鏡像,然后從服務(wù)器上撥出磁盤(pán)。撥出磁盤(pán)可能導(dǎo)致服務(wù)器無(wú)法引導(dǎo)。但是,潛在的風(fēng)險(xiǎn)是撥出磁盤(pán)可能干擾更大的服務(wù)器,讓它上面的所有 LPAR 崩潰。我們真敢這么做嗎?

  您來(lái)回答

  既然我已經(jīng)提供了問(wèn)題的背景,該您來(lái)回答了?偨Y(jié)一下:

  把一個(gè)啟用了 Workload Manager 的服務(wù)器遷移到更快的硬件上,但是工作不正常,除非是把 LPAR 概要文件設(shè)置為使用專(zhuān)用的 CPU 而不是動(dòng)態(tài) CPU。這是為什么?

  如何從無(wú)法撤銷(xiāo)配置的磁盤(pán)恢復(fù)服務(wù)器,或者取出無(wú)法移出這個(gè)磁盤(pán)的物理分區(qū)中的數(shù)據(jù)?

  如果您有主意了,就繼續(xù)。

  實(shí)際發(fā)生的情況

  造成第一個(gè)問(wèn)題的是 Workload Manager。使用它的應(yīng)用程序被限制為只能使用 CPU 的 50%。因此,當(dāng)系統(tǒng)管理程序輪詢循環(huán)探測(cè)到那個(gè) LPAR 時(shí),它問(wèn) “您需要多少 CPU?” 服務(wù)器回復(fù),“我目前只使用分配的 CPU 的一半兒! 因此,系統(tǒng)管理程序會(huì)動(dòng)態(tài)地把 CPU 標(biāo)稱(chēng)值減少一半兒。這個(gè)循環(huán)重復(fù)幾次之后,CPU 計(jì)算能力多次減半,基本上接近零了。為了解決這個(gè)問(wèn)題,把 Workload Manager 池調(diào)整為最多使用 CPU 的 100%,這樣動(dòng)態(tài)的 CPU 標(biāo)稱(chēng)值會(huì)適當(dāng)?shù)叵拗破浔旧怼?/P>

  對(duì)于第二個(gè)示例,最終只能執(zhí)行備份和恢復(fù)。對(duì)于塊重定位失敗,沒(méi)有企業(yè)樂(lè)意采用臨時(shí)解決方法。根據(jù) IBM Support 所說(shuō),這個(gè)問(wèn)題很少見(jiàn),只能執(zhí)行 mksysb 把數(shù)據(jù)備份到好的磁盤(pán)上并恢復(fù)系統(tǒng),沒(méi)有其他選擇;謴(fù)操作系統(tǒng)之后,就可以以安全的方式熱交換壞磁盤(pán)并更換它,而不會(huì)危及硬件上的其他 LPAR。

  結(jié)束語(yǔ)

  希望您對(duì)系統(tǒng)管理員如何排除 AIX 服務(wù)器的故障、可以使用的戰(zhàn)略、應(yīng)該避免的做法以及在哪里尋找解決問(wèn)題的建議有了一些認(rèn)識(shí)。這些步驟并不完全適合所有情況,還有其他選擇,但是這些步驟可以指出正確的方向。本文由服務(wù)器托管 | VPS主機(jī) |

Copyright© 2004-2020 河南海騰電子技術(shù)有限公司 版權(quán)所有   經(jīng)營(yíng)性ICP/ISP證 備案號(hào):B1-20180452   豫公網(wǎng)安備 41019702002018號(hào)    電子營(yíng)業(yè)執(zhí)照