深入理解Xen工具棧(ToolStack)

2021-07-09 07:36:21 字數 1429 閱讀 3088

dom0通常會包含乙個工具棧(toolstack),其能夠實現讓使用者完成虛擬機器的建立、刪除、配置等功能。此工具棧還提供了乙個訪問介面,因此,其管理功能還可以通過相應的命令列工具、圖形化控制台或者如cloudstack或openstack類的雲計算環境來完成。

xen能夠與多個不同的工具棧結合工作,如預設的工具棧、libvirt工具棧及xapi工具棧。通常,每個工具棧都提供了乙個api及相應的命令列工具。

libxenlight是乙個底層的、輕量級c程式庫,便於理解、修改和擴充套件,其目的是為所有的工具棧提供乙個通用、簡單、健壯的api,也是xen操作的基礎**。共設計目標:

◇     提供機制,而非策略

◇     無狀態

◇     向上隱藏xenstore、libxenctrl和libxenguest

◇     盡可能簡單

2、常見的工具棧

◇ default / xend

xen 4.0及之前的版本中預設使用的工具棧,xen 4.1提供了新的輕量級工具棧xl,但仍然保留了對xend/xm的支援,但xen 4.2及之後的版本已棄用。但xl在很大程度上保持了與xm的相容。

◇ default / xl

xl是基於libxenlight建立的輕量級命令列工具棧,並從xen 4.1起成為預設的工具棧。xl與xend的功能對比請參照的執行不需要用到xend服務。

◇ xapi / xe

xapi即xen管理api(the xen management api),它是citrix xenserver和xcp預設使用的工具棧。目前,其移植向libxenlight的工作正進行中。xapi是目前功能最通用且功能最完備的xen工具棧,cloudstack、opennebula和openstack等雲計算解決方案都基於此api管理xen虛擬機器。

◇ libvirt / virsh

libvirt是乙個通用的虛擬化api和工具元件,可用於管理眾多的虛擬化技術,目前1.0版本業已移植到libxenlight。

3、選擇合用的工具棧

深入理解堆和棧(選)

堆和棧的區別 一 預備知識 程式的記憶體分配 乙個由c c 編譯的程式占用的記憶體分為以下幾個部分 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os ...

深入理解C 函式棧幀

目錄 每一次函式呼叫都是乙個過程,為函式開闢棧空間,用於本次函式呼叫中臨時gyoosgl變數的儲存 現場保護。這塊棧空間我們稱為函式棧幀。棧是從高位址向低位址延伸的。暫存器ebp指向當前的棧幀的底部 高位址 暫存器esp指向當前的棧幀的頂部 低位址 注 esp 棧指標暫存器 extended sta...

深入理解C語言 深入理解指標

關於指標,其是c語言的重點,c語言學的好壞,其實就是指標學的好壞。其實指標並不複雜,學習指標,要正確的理解指標。指標也是一種變數,占有記憶體空間,用來儲存記憶體位址 指標就是告訴編譯器,開闢4個位元組的儲存空間 32位系統 無論是幾級指標都是一樣的 p操作記憶體 在指標宣告時,號表示所宣告的變數為指...