一、原因分析
1、目前架構分析圖:
2、原因分析
由於平台業務網路不穩定,drbd的心跳指向閘道器題導,在網路出現問題導致腦裂,出現腦裂有兩種結果:
1、共享資源被瓜分、兩邊「服務」都起不來了;
2、兩邊「服務」都起來了,但同時讀寫「共享儲存」,導致資料損壞
3、導致腦裂發生的原因
1、高可用伺服器之間心跳鏈路故障,導致無法相互檢查心跳
2、高可用伺服器上開啟了防火牆,阻擋了心跳檢測
3、高可用伺服器上網絡卡位址等資訊配置不正常,導致傳送心跳失敗
4、其他服務配置不當等原因,如心跳方式不同,心跳廣播衝突,軟體bug等
二、測試目的
通過使用一根專線作為心跳線,是否出現腦裂的兩種情況及對服務的影響,改造後的結構圖:
三、測試過程
1、停止ms上的心跳線
2、停止heartbeat服務
四、測試現象
1、停止心跳線,資源不發生切換,但外網無法通過vip訪問,內網正常,需要執行arp
2、停止s的上的服務(drbd,heartbeat)資源不切換,不對業務產生影響
3、停止m上的服務,資源正常切換(autofail=off)
4、db服務停止,通過指令碼檢測,服務資源切換
5、ms一根心跳線時,s心跳停止恢復後會搶占資源,若可以新增兩根直連線,可以避免
五、測試結果
使用專線作為心跳線,網路更加穩定,在寫大量的資料時候,通過3層交換傳輸到對端,避免資料阻塞
六、測試建議
根據目前的平台業務架構,建議新增兩根專線做為心跳線,提高網路的健壯性,避免因為心跳導致資源搶占或資源都放棄行為。
七、防止腦裂一些方案
1、加冗餘線路
2、檢測到裂腦時,強行關閉心跳檢測(遠端關閉主節點,控制電源的電路fence)
3、做好腦裂的監控報警
七 HTMLTestRunner生成測試報告
coding utf 8 created on 2019 01 21 author codeali import os import unittest import time import logging from lib import pathdeal from lib import log fr...
測試人員應該如何報bug?
首先,確保你所發現的問題是確實是乙個bug,不要出現因為測試人員操作錯誤或配置錯誤所引起的 bug 這樣會降低你在開發人員心中的可信度。在測試的時候,如果發現測試的實際結果與預期測試結果不符時,不要著急馬上報bug,先想想為什麼會出現錯誤。作為專業的測試人員,應該能夠對出現的問題進行跟蹤,確認了在配...
使用Pyunit執行測試並生成HTML報告
1.使用pyunit執行測試 使用python自帶模組unittest就可以進行單元測試,但是遇到unittest.testcase報錯,錯誤是 原因是電腦中,除了python目錄下有unittest,其他地方還存在unittest.py.但是在執行指令碼時,又沒有選擇到自己想要的pythonpat...