xen,virt-manager简介
2012-01-19 10:22 onm 阅读(896) 评论(0) 编辑 收藏 举报Xen
Xen到底是个啥,是个软件,还是个虚拟化技术,应该说Xen是个虚拟化解决方案吧。Xen的全称应该是Xen hypervisor,是一套开源的虚拟化解决方案,允许计算机硬件同时运行多个操作系统。应该都用过vmware, virtualbox之类的虚拟机软件,xen与它们的不同之处在于,“VMware ESX服务器的架构是建立在直接执行(直接在硬件上运行用户级的虚拟机编码)和二进制译码(对特权级别编码进行动态编译)的基础上的。从根本上说,它把一个完整的X86平台导出到虚拟机上,ESX服务器可以使大多数能在X86上执行的操作系统都能在虚拟机上运行,而不需要进行任何修改。Xen的架构中使用了一种叫Para虚拟化技术 (Para virtualization) ,对虚拟出来的客户操作系统(Guest OS)进行修改,使它知道它是在虚拟环境下运行。 ”(引号部分摘自网络)。
使用Xen技术的有哪些,为人熟知的VPS提供商Linode就是用的Xen技术,这也应该是都知道的。(我曾经用过一次基于OpenVZ的VPS,据说基于OpenVZ的VPS没有基于Xen的VPS好,可以给Xen的技术的好提供一个佐证),另外Xen网站上写着Amazon的云服务AWS也是基于Xen的,还有Rackspace,这些东西有的玩票性质的玩过,有的耳闻目见过,都是不错的货。
Xen hypervisor包含三个部分,Xen Hypervisor,Domain 0(Dom0), DomainU(DomU)。Xen hypervisor直接跑在硬件上,是所有客户操作系统硬件请求的接口,位于硬件之上,客户操作系统之下。Domain-0是不同于DomainU拥有直接控制硬件特权的特权域,它是在系统启动时由Xen hypervisor启动的,它可以是除了Windows以外的任何系统,刚说了它有特权,所以它可以控制所有其他的客户域,比如开关,I/O请求等。客户域(DomU)由Dom0控制,可以是半虚拟化(Paravirtualization)运行修改过的操作系统,也可以是(Hardware Virtual Machine)运行未经修改过的操作系统。
安装Xen可以通过编译内核,或者apt-get,yum方式。我在Ubuntu下用apt-get方式安装过,但是Graphic Console不知道为什么是黑屏的,后来换了Fedora用yum装好,很方便。
一些资料:
- Xen虚拟化技术
- Xen内部普及资料
- http://www.xen.org/files/Marketing/WhatisXen.pdf
- http://www.xen.org/files/Marketing/WhyXen.pdf
- Xen、Vmware、OpenVZ和Virtuozzo四大虚拟软件区别
virt-manager
virt-manager是用来管理虚拟机的可视化桌面应用,算是个通用的虚拟机管理软件,可以管理qemu,xen,kvm虚拟机,当然使用xen提供的xm工具也可以管理,virt-manager提供了一些更方便的工具和可视化的操作方式。
virt-manager是基于libvirt的python-binding写的软件(libvirt是一套用来和很多虚拟机交互的一套api),界面使用了了GTK+和Glade。
libvirt是重点,使用c语言写的,提供了很多语言的绑定,“Libvirt是一个软件集合,便于使用者管理虚拟机和其他虚拟化功能,比如存储和网络接口管理等等。这些软件包括一个API库、一个daemon(libvirtd)和一个命令行工具(virsh)。Libvirt的主要目标是:提供一种单一的方式管理多种不同的虚拟化提供方式和hypervisor。比如,命令行“virsh list -- all”可以列出所有任何支持的、基于hypervisor的虚拟机,这就避免学习、使用不同hypervisor的特定工具。使用libvirt,意味着使用virsh、virt-manager、virt-install等工具管理虚拟机,这些工具都是围绕着libvirt开发的。人们不再直接使用基于XEN的xm、或是qemu/qemu-kvm等二进制工具。”(引号部分摘自网络)
一些资料:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述