[首页]
[文章]
[教程]
首页
Web开发
Windows开发
编程语言
数据库技术
移动平台
系统服务
微信
设计
布布扣
其他
数据分析
首页
>
其他
> 详细
两天学会KVM虚拟机
时间:
2018-07-16 21:02:33
阅读:
199
评论:
0
收藏:
0
[点我收藏+]
一、详解
1、虚拟化产品对比表
2、KVM简介
KVM全称Kernel-based Virtual Machine,翻译过来是基于内核的虚拟机,实际它是Linux内核的一个模块。该模块将Linux变为一个Hypervisor,由Quramnet开发,支持x86、s390、Powerpc等CPU。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。
KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。
3、kvm架构
从GUI到Linux内核,包括以下5个组件:
1)virt-manager
用来管理VM的GUI/CUI用户接口;它使用libvirt API调用VM的各项功能
2)libvirt
工具集及接口,作为较通用的服务器虚拟化软件,支持xen、vmware vSpher,qemu/KVM。
3)qemu
qemu是KVM内核模块交互的模拟器,处理多种客户机系统请求的I/O;一个qemu进程对应一个客户机系统
4)KVM模块
用于处理VM Exits和VM Entry指令
5)Linux内核
处理客户机系统调度
二、操作
1、安装准备工作
1)如果在workstation上做实验,应当将处理的虚拟化功能打开
如果真实生产环境应当修改BIOS,开启虚拟化
2)你的KVM需要有足够的内存和磁盘空间
当然具体情况具体对待,磁盘和内存根据你的KVM上运行的虚拟机数量有关,我这里只是作实验
3)开机后,执行如下命令可以查看cpu是否支持虚拟化
2、部署&在kvm安装虚拟机
通过vnc连接装机界面
1)libguestfs-tools包
libguestfs -tools是一组Linux下的C语言的API,用来访问虚拟机的磁盘映像文件。该工具包内包含的工具有virt-cat、virt-df、virt-list、virt-copy-in、virt-copy-out、virt-edit、guestfs、guestmount、virt-list-filesystems、virt-list-partitions等工具。该工具可以在不启动KVM guest主机的情况下,直接查看guest主机内的文内容,也可以直接向img镜像中写入文件和复制文件到外面的物理机,也可以将guest的镜像文件挂载,功能相当强大。
2)libvirt包
libvirt是用于管理虚拟化平台的开源的API(libvirt API),后台程序(libvirtd进程)和管理工具(virsh工具集)。它可以用于管理KVM、Xen、VMware ESX,QEMU和其他虚拟化技术。这些API在云计算的解决方案中广泛使用。libvirtd进程主要实现远程代理、本地环境初始化、根据环境注册各种Driver(qemu、xen、storage)的实现。virsh工具集主要用于管理、操作虚拟主机。
3)virt-install包
这个包主要安装了virt-install、virt-clone和virt-xml命令,分别用于安装虚拟机系统、克隆虚拟机和编辑虚拟机的xml配置文件。
3、virsh工具使用
4、虚拟机的克隆和快照
虚拟机通过以上命令可以克隆,但是不建议这样做。
我们可以先创建一个虚拟机的磁盘文件,然后找到/etc/libvirt/qemu,将其中已经存在的虚拟机配置文件(xml结尾)复制一份出来,然后编译复制出来的文件,将虚拟机名、虚拟机磁盘文件位置、uuid、mac地址修改一下,最后通过define命令定义虚拟机,完成复制
5、kvm磁盘管理(qemu-img的使用)
1)kvm支持的磁盘类型
raw:这并非是一种真正的磁盘格式,而是代表虚拟机所使用的原始镜像;它并不存储元数据,因此可以作为保证虚拟机兼容性的候选方案,然而也正因为它不存储元数据,因此不能支持某些高级特性,比如快照和压缩等。格式简单,容易转换为其他格式;需要文件系统的支持才能支持sparse file。
qcow2:相对于raw来讲,性能较低。但是特点就是支持压缩、快照、克隆。
2)qcow2盘的支持的磁盘类型
稀疏盘:与实盘相反
差异盘:允许以一个虚拟机磁盘为底盘,可节省空间,当相应的,I/O性能下降
实盘:分配所有磁盘空间并置零,预分配后的虚拟磁盘属于厚盘
3)操作
4)通过差异盘创建虚拟机
(和上面的一样,需要修改复制的xml文件)
6、kvm文件管理
该部分是通过不开启虚拟机的情况下,通过libguestfs-tools对虚拟机的文件进行操作
两天学会KVM虚拟机
原文:http://blog.51cto.com/13434336/2145047
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年09月23日 (328)
2021年09月24日 (313)
2021年09月17日 (191)
2021年09月15日 (369)
2021年09月16日 (411)
2021年09月13日 (439)
2021年09月11日 (398)
2021年09月12日 (393)
2021年09月10日 (160)
2021年09月08日 (222)
最新文章
更多>
2021/09/28 scripts
2022-05-27
vue自定义全局指令v-emoji限制input输入表情和特殊字符
2022-05-27
9.26学习总结
2022-05-27
vim操作
2022-05-27
深入理解计算机基础 第三章
2022-05-27
C++ string 作为形参与引用传递(转)
2022-05-27
python 加解密
2022-05-27
JavaScript-对象数组里根据id获取name,对象可能有children属性
2022-05-27
SQL语句——保持现有内容在后面增加内容
2022-05-27
virsh命令文档
2022-05-27
教程昨日排行
更多>
1.
list.reverse()
2.
Django Admin 管理工具
3.
AppML 案例模型
4.
HTML 标签列表(功能排序)
5.
HTML 颜色名
6.
HTML 语言代码
7.
jQuery 事件
8.
jEasyUI 创建分割按钮
9.
jEasyUI 创建复杂布局
10.
jEasyUI 创建简单窗口
友情链接
汇智网
PHP教程
插件网
关于我们
-
联系我们
-
留言反馈
- 联系我们:wmxa8@hotmail.com
© 2014
bubuko.com
版权所有
打开技术之扣,分享程序人生!