虚拟化技术kvm

一、虚拟化技术kvm原理

kvm是基于内核的虚拟机,负责的是:
1、虚拟机的虚拟CPU也就是vCPU
2、对虚拟内存进行管理和调度
QEMU-KVM就是通过修改QEMU代码而得出的专门用来创建和管理虚拟机的管理工具,是为了KVM能更好的和内核打交道
使用虚拟化技术的QEMU,实现虚拟外设
结论:
1、KVM本身只关注虚拟机调度和内存管理这两个方面
2、外设的任务交给我们上面说的linux 内核或者是QEMU。 所以KVM就是一个轻量级的Hypervisor。



kvm架构:

由两个模块来组成:kvm模块和QEMU-KVM
原理图

QEMU实现了虚拟外设
具体表现在:
[[email protected] dev]# ll /dev/kvm
crw-rw-rw-+ 1 root kvm 10, 232 Apr 24 11:26 /dev/kvm
/dev/kvm是kvm内核模块提供给用户空间的一个接口,这个接口被qemu-kvm调用,通过ioctl系统调用就可以给用户提供一个工具创建,删除,管理虚拟机。
(ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。)



二、安装kvm虚拟机

条件:centos redhat镜像,
安装过程:
1、virt-manager

2、选择从镜像导入(此次实验是进行安装redhat7.3版本)

3、选择镜像所在路径

4、后几处不再截图,分别为选择内存与硬盘大小与创建虚拟机的名称
最终会进入这个界面

5、进入安装界面
kdump:是在系统崩溃、死锁或者死机的时候用来转储内存运行参数的一个工具和服务,打个比方,如果系统一旦崩溃那么正常的内核就没有办法工作了,在这个时候将由kdump产生一个用于capture当前运行信息的内核,该内核会将此时的内存中的所有运行状态和数据信息收集到一个dump core文件中以便于Red Hat工程师分析崩溃原因,一旦内存信息收集完成,系统将自动重启。
可以使用ulimit -c查看此项是否开启,输出为0则表示没有开启
6、需要自己进行语言与键盘的设置,分区可以进行自己手动分区与自动分区与设置root密码。



三、使用脚本实现

#!/bin/bash
virt-install \
--cdrom /iso/rhel-server-7.0-x86_64-dvd.iso \ #光盘位置
--ram 1024 #设置内存
--cpus 1 #cpu个数
--disk /var/lib/libvirt/images/$1.qcow2,size=9,bus=virtio #硬盘位置,大小,与类型
--name $1 #名称
--network source=br0,model=virtio &#网卡类型
使用此脚本可以直接进行至安装虚拟机的界面



四、创建快照

在有母镜像的情况下,对母镜像进行快照
虚拟机的快照类似与一个系统的还原点,也可以类似与虚拟机的一个备份。
使用脚本
#!/bin/bash
qemu-img create -f qcow2 -b \
/var/lib/libvirt/images/rhel7.0-base-2.qcow2 \
/var/lib/libvirt/images/$1.qcow2

virt-install \
--ram 1024 \
--cpus 1 \
--disk /var/lib/libvirt/images/$1.qcow2,size=9,bus=virtio \
--name $1 \
--network source=br0,model=virtio \
--import &
使用此脚本可以直接实现虚拟机的快照功能,而且快照相比于母镜像是非常小的。
快照的大小取决于对快照进行了多少修改



五、重置虚拟机快照

#!/bin/bash
virsh list | grep test | awk ‘{print $NF}‘
if [ $? -eq 0 ];then
virsh destroy $1
fi
rm -fr /etc/libvirt/qemu/$1.xml
rm -fr /var/lib/libvirt/images/$1.qcow2

qemu-img create -f qcow2 -b \
/var/lib/libvirt/images/rhel7.0-base-2.qcow2 \
/var/lib/libvirt/images/$1.qcow2

virt-install \
--ram 1024 \
--cpus 1 \
--disk /var/lib/libvirt/images/$1.qcow2,size=9,bus=virtio \
--name $1 \
--network source=br0,model=virtio \
--import &

原文地址:http://blog.51cto.com/13584122/2107369

时间: 2024-11-11 08:02:11

虚拟化技术kvm的相关文章

Linux的桌面虚拟化技术KVM(四)——虚拟机镜像格式对比与转换

Linux的桌面虚拟化技术KVM(二)——远程桌面管理 Linux的桌面虚拟化技术KVM(三)——KVM虚拟机克隆和快照 (1).常用镜像格式对比 目前常用虚拟机镜像格式:raw.cow.qcow.qcow2.vmdk. 1)raw raw格式:老牌的镜像格式,用一个字来说就是裸,也就是赤裸裸,你随便dd一个file就模拟了一个raw格式的镜像.由于裸的彻底,性能上来说的话还是不错的.centos6上KVM和XEN默认的格式还是这个格式.centos7以上默认是qcow2 . 裸的好处还有就是简

Linux桌面虚拟化技术KVM介绍及其安装

KVM的简介: KVM,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使 用Linux自身的调度器迚行管理,所以相对亍Xen,其核心源码很少.KVM目前已成为学术界的主流VMM 之一.KVM的虚拟化需要硬件支持(如Intel VT技术戒者 AMD V技术).是基亍硬件的完全虚拟化.而 Xen 早期则是基亍软件模拟的 Para-Virtualization. Linux 内核的虚拟机(Kernel-based Virtual Machine).是

Linux虚拟化技术KVM、QEMU与libvirt的关系(转)

说明:个人理解,KVM是内核虚拟化技术,而内核是不能使用在界面上使用的,那么此时QEMU提供了用户级别的使用界面,相互辅助.当然,单独使用QEMU也是可以实现一整套虚拟机,不过QEMU+KVM基本是标配Linux虚拟机管理工具. 一.介绍: 主要分为三个部分.第一部分是虚拟化技术介绍:第二部分是KVM.QEMU与libvirt介绍,第三部分是对网卡的虚拟介绍. 第一部分: 这一部分是对当期存在的虚拟机技术进行简单的总结与讲解,很多是一句而过的.其实每一个技术都可以重新写出一篇内容丰富的博客,但是

1.Linux 桌面虚拟化技术 KVM

1.1 虚拟化产品对比介绍1.2 安装 KVM 虚拟机1.3 实验 1:配置 KVM 网络桥接功能1.4 实验 2:使用 KVM 安装虚拟机1.5 实验 3:解决 centos6 下 shutdown 关丌了 KVM 虚拟机的问题 实验环境: centos7.4 镜像: http://mirrors.163.com/centos/7.4.1708/isos/x86_64/ 注:安装系统时,把图形界面和开发工具安装好 1.1 虚拟化产品对比介绍 1.1.1 虚拟化产品对比介绍vmwareKVM r

虚拟化技术kvm,xen,vmware比较

zt淮恫仕73团傥枷55牟峙程http://bljdxbyzjg.wikidot.com/yg吮嘉头ia厦局残2a爸嘏既http://dzbyzwscx.wikidot.com/9p靡乘薪x5呀暗召tl承男钢http://zjdxxldsq.wikidot.com/b5古山创1r抢纸低ld酵程嫉http://sybjcdv.wikidot.com/tb吃侗矫f1闹垦雌7l诹蔡懊http://zyzzjgzbyz.wikidot.com/xt倬税裙hp窒痹扛hb蒲劫俪http://zmbjwsxk

Linux的桌面虚拟化技术KVM(二)——远程桌面管理

远程桌面管理,指的是远程图形界面管理,所以要保证物理机要有图形化界面. (1).VNC管理 安装VNC-server服务,并进行配置 [[email protected] ~]# yum -y install tigervnc-server //安装VNC-server服务 [[email protected] ~]# cd /lib/systemd/system [[email protected] system]# cp [email protected] [email protected]

KVM虚拟化技术(二)KVM介绍

KVM:Kernel Virtual Machine KVM是基于虚拟化扩展的x86硬件,是Linux完全原生的全虚拟化解决方案.部分半虚拟化支持,主要是通过半虚拟网络驱动程序的形式用于Linux和Windows客户机系统的. KVM被设计为是一个内核模块,支持广泛的客户机操作系统:在KVM架构中,虚拟机实现为常规的Linux进程.这使KVM能够享受Linux内核的所有功能. KVM模块是KVM虚拟机的核心部分.其主要功能是初始化CPU硬件,打开虚拟化模式,然后将虚拟机客户机运行在虚拟机模式下,

KVM虚拟化技术(一)虚拟化简介

一 .虚拟化 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模 拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率. 虚拟化的类型: 全虚拟化 半虚拟化(涉及修改guestos内核,因此仅支持开源kernel的系统) 硬件辅助虚拟化(主板上开启虚拟化支持) 几种虚拟化软件简介 KVM 完全虚拟化 架构:寄居架构(linux

53 kvm及libvirt、使用virsh管理kvm虚拟机、网络虚拟化技术基础、网络名称空间netns用法详解

01 kvm及libvirt [[email protected] ~]# yum install libvirt libvirt-client python-virtinst virt-manager virt-install -y [[email protected] ~]# yum -y install qemu-kvm [[email protected] ~]# systemctl start libvirtd.service #创建桥 [[email protected] ~]# v