我是Xen的新手。我想知道Xen如何工作。 面對代碼時這真的是一個難題,我不知道從哪裏開始。 對我來說有一些簡單的文章嗎?從哪裏入手Xen?
回答
這裏有幾個鏈接將引導你與ZEN啓動up.Hope他們將是有益的。
既然你提到看代碼,我假設你想了解的Xen的技術細節,而不是隻知道一味如何啓動虛擬機。
與所有問題一樣,從簡單的事情開始,然後按照自己的方式工作。一些指針:
一定要在你的腰帶上有先決條件的經驗。特別是強大的C和Linux親和力,還有x86分頁和虛擬內存工作。
確保您對一般Xen架構有完善的掌握。舉例來說,準虛擬化與硬件支持的虛擬化,管理域(Dom0中)的特殊作用相比,無特權域(DomU中)等
調查Dom0中運行Xen的組件:
Xen控件庫(libxc)它實現了與hypercalls有關的許多邏輯,並在這些附近添加了糖(請參閱
tools/libxc
)。瑞士軍刀用於管理Xen的,即Xen的光庫(libxl)。該庫用
xl
工具替代已棄用的工具,並負責維護所有維護任務,如啓動/停止VM,列出所有正在運行的VM等。對於所有這些操作,它都與上述libxc協同工作。 (Libxl生活在tools/libxl
中。)Xenstore是一個樹形數據結構,所有運行的域可以從中檢索和存儲數據。這是必要的,因爲所有I/O都通過Dom0(不是管理程序!),並且域需要與Dom0進行通信,他們將如何傳遞I/O。 (查看
tools/xenstore
。)您可以使用xenstore-ls
等工具檢查Xenstore。其越過共享信道給VM的數據
blkback
/netback
內核驅動程序。 (您可以在最近的Linux內核(例如> = v3.0)中找到這些驅動程序,它具有所謂的PVOPS支持)。看看控制檯守護進程(
tools/console
)。請注意,Qemu控制檯有時實際使用。如果您爲虛擬機選擇文件支持的虛擬存儲,Qemu也會作爲默認後端出現在圖片中。
嘗試使用虛擬機間通信的「Xen的方式」:授權表,事件通道和Xenstore的。藉助這些基礎知識,您可以在虛擬機之間創建自己的共享通道。例如,您可以編寫一個在兩個域中使用的內核模塊,讓他們相互交流。
我也可以給源一些指針,你可以看看:
xen/xen/include/public/xen.h
會給你所有的超級調用與評論他們做什麼的清單。xen/xen/include/xen/mm.h
爲您介紹Xen使用的不同存儲器術語(即實際與虛擬化地址和頁碼)。如果你沒有掌握這些差異,那麼閱讀管理程序代碼肯定會令人沮喪。xen/xen/include/asm-x86/config.h
概述了Xen的內存佈局。xen/tools/libxc/xenctrl.h
導出一個有趣的域控制操作的大量列表,它給出了Dom0和管理程序之間的任務劃分的抽象視圖。
最後但並非最不重要的,這本書「權威指南Xen管理程序」由大衛Chisnall的高度推薦。它以全面的技術方式涵蓋了所有這些主題,並提供了大量代碼示例。
Xen wiki和開發者郵件列表也是理解Xen的一個很好的資源。
如果您有更具體的問題,那麼我可以給你一個更具體的答案。
對於我來說,這是例子,一步步開始的最佳和更具體的教程。我開始使用它。
然後,您可以在Xen文檔本身或某些書上閱讀更多內容,但作爲一個起點,您可以輕鬆安裝和測試Xen,我從Debian Wiki中選擇該教程。
如果你只是想要一個概述,你可以閱讀:http://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide。
這將向您介紹Xen hypervisor,建議配置以設置虛擬機,提供有關網絡的信息,並最終獲得有關管理虛擬機的工具的詳細信息。
本文檔是專門讓Xen的Ubuntu上(最重要的是,它的作品!) https://help.ubuntu.com/community/Xen
===
但是,如果你想要去到一個新的水平,並瞭解工作的Xen; Xen架構,內存管理,設備管理,CPU調度等,我建議您閱讀本書「Xen Hypervisor權威指南」。
除了鏈接之外,您能否提供摘要? – rapvelopment 2014-12-14 21:42:51
- 1. 我從哪裏入手rJava?
- 2. 我想學習J2ME,從哪裏入手?
- 3. 模塊從哪裏導入?
- 4. HttpProviders從哪裏進入IAppHost?
- 5. Perl新手,從哪裏開始?
- 6. Linq加入哪裏?
- 7. 投入在哪裏?
- 8. ReactDOM應該從哪裏導入?
- 9. 從哪裏打盹彈出進入ScheduledNotification?
- 10. BaseTokenFilterFactory從哪裏進入Solr 4.0?
- 11. 通知java從哪裏(lib)導入
- 12. RenderPartial()從哪裏進入ASP.Net 5 MVC 6?
- 13. 我的ASP.NET網站的管理工具我可以從哪裏入手?
- 14. 從哪裏選擇
- 15. Z_int從哪裏來?
- 16. semver從哪裏來?
- 17. - 從哪裏開始?
- 18. 從PHP到哪裏?
- 19. $ {filename}從哪裏來?
- 20. 從哪裏「彎腰」?
- 21. '42'從哪裏來?
- 22. Toast從哪裏來?
- 23. 從哪裏刪除?
- 24. 2px從哪裏來?
- 25. UTI從哪裏來?
- 26. $ 4從哪裏來?
- 27. CGSConvertBGR888toRGBA8888從哪裏來?
- 28. 'default'從哪裏來?
- 29. NSKVOPendingNotificationCreate從哪裏來?
- 30. RPL從哪裏來?
嗨雨果。我正在尋找Xen控制庫(libxc)的文檔,然後來到這裏。我無法獲得任何體面的文檔,甚至沒有任何網上libxc的參考。你可以請我指點一下關於libxc的資源。謝謝 – abhi 2014-06-08 09:44:06