1. 程式人生 > >針對雲主機卡死問題的定位分析方法

針對雲主機卡死問題的定位分析方法

此文已由作者楊延亮授權網易雲社群釋出。

歡迎訪問網易雲社群,瞭解更多網易技術產品運營經驗。


問題背景

雲主機在執行或者啟動的過程中,可能會存在卡死的情況。往往在雲主機重啟之後又恢復正常,但是問題現場得不到保留,不利於問題的分析定位。本文提供了一種方法,可以通過在雲主機所在的物理節點(宿主機)上執行相關命令,來獲取雲主機卡死時的記憶體棧資訊,以便分析定位(本文只針對Linux虛擬機器)。

方法步驟

  1. 假如卡住的雲主機UUID為:d1467712-a022-41c9-9963-8f41c6a4b2bd,在宿主機上執行如下命令,可以獲取雲主機對應的宿主機資訊(pubbeta1-nova63.yq.163.org


  2. 登入雲主機對應的宿主機,執行如下命令,來生成對應的core檔案。
    virsh dump d1467712-a022-41c9-9963-8f41c6a4b2bd d1467712-a022-41c9-9963-8f41c6a4b2bd.core 或者
    virsh dump d1467712-a022-41c9-9963-8f41c6a4b2bd d1467712-a022-41c9-9963-8f41c6a4b2bd.core --memory-ony
    ——需要指出的是,core檔案生成的路徑需要保留至少和虛擬機器記憶體大小相當的空間,以防core檔案生成失敗,或生成core檔案不完整。此處生成的core檔案即包含了雲主機卡死時的記憶體呼叫棧資訊。

  3. 執行crash vmliux vmcore命令即可對生成的core檔案進行分析定位
    ——其中vmliux需要雲主機對應的kernel-debuginfo和kernel-debuginfo-common這兩個包,vmcore即為步驟2中生成的core檔案。



免費體驗雲安全(易盾)內容安全、驗證碼等服務

更多網易技術、產品、運營經驗分享請點選


相關文章:
【推薦】 基於Redis+Kafka的首頁曝光過濾方案