昨天我們經過多方思考,決定了要複製問題。既然要做,當然是以能複製出來為前提。
這就來看一下怎樣做才能提升複製問題的成功機率吧!
先向客人釐清單機發生率的高低,與他們發生問題的樣本數與母體的多寡。如此一來才能定義出合理複製出來的機率與對複製所需的時間有一定概念。
再來請客人將發生問題的機器盡可能的做重置的動作,如果是FW或是SW的話建議先備份當下的設定以防止問題解決後無法再複製,也可以將這些備份的設定導入到其他的機器觀察。
確定機器重置後問題的發生機率會比較接近於你現在開始複製的發生機率。
不管是多簡單的問題,在複製時永遠都別想著要100%的建立與客人一模一樣的環境。
過度的向客人索要所有的軟硬體版本與細節將會被認為是推託的說詞....儘管這種做法一開始可能被人視為專業以及很好用來爭取時間。
但是這是建立在一邊準備複製環境並一邊補全不完整的資訊的前提下。
在針對棘手的問題時,一開始可能會退而求其次的先以主觀比較有可能影響問題發生的HW/SW當作必要條件來進行複製問題。
但是視問題的類別可能就要開始留意更多的細節,比方說以下的事項:
HW config:硬體的revision,一模一樣的model name(例如:ABC-123 & ABC-1231之間是否有不同請務必搞清楚),date code or 批次號碼。
SW config:軟體版本相同,build number相同,如果檢查資訊時有問題的話也要確定檢查時使用的工具版本相同,軟體設定的部分尋找匯出匯入的方式以求與客人一致。像是不同硬體,相同FW code base的情形也可以拿來相互比較FW功能。比如說:Broadcom SAS3916(Raid On Chip) & MegaRAID 9560-16i可能就會有類似問題,可以多方驗證。
如果問題是FW某某功能不正常或是資訊有誤,那麼所有與該功能或是該資訊相關的FW與driver版本便最好要一致。
甚至如果資訊是從某個硬體取得的話,也要留意測試時的硬體版本也要和對方做確認。
時間與強度的關連:有些隨機性的問題需要長時間的進行才會提高發生機率,或是機器在長時間的運作後,一些雜訊或是熱能的累積才會發生,在時間有限的情況下也可以多安排幾台機器來達成。
增加次數:如果問題發生在開關機時,盡量以最快的方式讓機器重開機,比如說在UEFI shell裡或是dos key進行,或是以script來代替人工的反覆執行,縮短間隔時間。
在準備環境時,通常硬體會最先確立,然後再來才是軟體/FW。
網路對接/不透過switch,簡化環境並順帶排除網路環境因素
剛拿到時可以先檢查FW/軟體版本,並先做一次測試,然後再將複製環境準備成一致。
環境比較新 -> 先檢查後再降版 -> 確定新版是否也會遇到相同問題
環境比較舊 -> 先檢查後再升級 -> 確定問題是否從舊版就存在
以上的條件都準備好了,再來能不能複製出問題就取決於上天的安排了。
畢竟技術面與政治面都被滿足後,如果大家都複製不出問題,通常客人也只能妥協配合在實際遇到問題的環境繼續除錯與配合做實驗。
最後的最後大概率就是客人或是RD主動要求把發生問題的機器寄回分析,又或者會變成FAE & Sales & RD三人小組去限地分析了。