VMware Fault-Tolerant Virtual Machine 論文總結

  • Desire服務器

    • 但願搞一個Fault-Tolerant的Machine(Computer)
    • 是從計算機角度出發的FT(對計算機整個運行狀態的replication),而不是僅僅是應用層次的FT,
  • Is Worthy?網絡

    • 虛擬機相比直接在物理機層面更不重視硬件特性,適用範圍更廣。
    • 比state transfer這種方式要好,開銷更小,可是實現相比更加複雜
  • Apporaches of Replicationserver

    • state transfer
      • 整個物理狀態的傳輸(好比內存、磁盤)等等
    • replicated state machine
      • 控制開始狀態相同,傳輸外部操做+額外的控制信息
      • 本質是讓二者的內部操做相同
  • What state?事件

    • 內存中的全部內容和寄存器狀態,而不是應用層級別
      • 缺點:開銷大
      • 優勢:對上層應用的支持強(要求低)
    • 經過packet來傳輸
  • Modelip

    • replicated state machine
  • 不肯定事件內存

    • Input(輸入方式、中斷)
      • 設定輸入只來自網絡
      • 數據包中的內容和中斷的時機
        • primary發送發生中斷的指令位置,backup接收中斷,爲了保證正確性,backup須要保證狀態總落後於primary
    • weird instructions
      • 好比一些產生隨機數,讀取本機mac地址(等惟一性結果)
      • 這類指令的結果,backup只能經過primary轉發得到相關結果來保證一致性
    • multi-core
      • 多核指令執行順序不一樣
      • 還沒有解決
  • Output rules同步

    • 只有當全部的backup接收到消息以後,primary才能output
      • 避免了主機接收到消息後output,可是主機以後死掉了,並且因爲網絡緣由發送給backup的消息也丟了,而致使的backup與primary狀態不一致
  • Test-and-Set server虛擬機

    • 決定在發送故障時哪一個服務器go live, 採用cas原理
    • 避免互相認爲對方下線,併產生「split brain」 現象
  • 同步程度it

    • 部分延遲,backup是略延遲於主VM的
  • Cut-over(Client 應該在主機宕機以後,知道去哪一個backup上訪問 )io

    • backup上線的時候,會模擬主機的一些特性,好比ip,mac等,對外,client不會察覺cut-over
  • Extra Ouputs

    • backup上線的時候,可能會重複輸出一些以前主VM已經輸出的信息。由於backup沒法確認主VM是在output以後下線,仍是在output以前下線的。
  • 支持運行時new replica

相關文章
相關標籤/搜索