Drbd heartbeat mysql的測試報告

2021-09-21 00:09:19 字數 1079 閱讀 9356

一、原因分析

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...