随笔分类 - KVM
摘要:
在前面的博客中,我们介绍了kvm的各种工具,有基于图形管理的virt-manager、有基于命令行管理的virt-install 、qemu-kvm、virsh等等;今天我们来介绍一款基于web界面的管理工具kimchi;kimchi是一款基于HTML5的kvm管理工具,它被设计成尽可能容易使用kvm并创建虚拟机web工具,它通过libvirt管理kvm虚拟机。它的运行时基于wok的一个插件方式运行,所以我们要用kimchi这个工具首先要安装wok;官方项目地址:https://github.com/kimchi-project/kimchi;
阅读全文
摘要:
virt-sysprep这个工具来自libguest-tools这个工具包,它能够把kvm虚拟机对应的磁盘文件做成一个模板,后续我们启动虚拟机就可以基于这个镜像模板启动;什么是镜像模板呢?所谓模板就是去除了一个虚拟机自身的私有信息的一个镜像磁盘文件;我们知道把一个镜像文件启动为虚拟机以后,它会生成许多私有信息,比如网卡的mac地址,ip地址,磁盘的uuid,ssh密钥等等;对于模板我们是不需要把这些私有信息的,而virt-sysprep这个工具就能很好的帮助我们去制作一个模板文件,它能够让我们在模板中打入自己想要新装的软件包,想要加入到模板里的文件等等操作;
阅读全文
摘要:
在前边的博客中我们介绍了如何创建kvm虚拟机,以及一些常用的工具的介绍和使用,今天我们来了解下kvm原始工具qemu-kvm;为什么说qemu-kvm是一个原始的工具呢,如果你用kvm虚拟机,心细的你一定会发现我们不管用什么工具创建kvm虚拟机,在宿主机上表现的都是一个以/usr/libexec/qemu-kvm的进程;这意味着我们之前用的工具它们都调用了qemu-kvm这个工具来创建虚拟机,从而我们在宿主机上看到的都是qemu-kvm进程;
阅读全文
摘要:
在linux系统上文件的后缀只是起给人看的作用,方便人区分它,系统它不以后缀来确定它的格式;从上面的帮助信息可以看到create子命令的选项有size,该选项用于指定创建磁盘文件的大小;compat选项用于指定兼容性;backing_file用于指定备份文件名称;backing_fmt用于指定备份文件的格式;encryption用于指定是否加密,true表示加密false表示不加密,默认不指定是false;cluster_size指定磁盘的簇大小;preallocation用于指定磁盘预分配策略,其中off表示不预分配,metadata表示只预分配元数据大小,falloc表示随文件的增加而分配,full表示立即分配所有磁盘空间;默认是指不预分配磁盘空间大小;
阅读全文
摘要:
virtio 是一种 I/O 半虚拟化解决方案,是一套通用 I/O 设备虚拟化的程序,是对半虚拟化 Hypervisor 中的一组通用I/O 设备的抽象。提供了一套上层应用与各 Hypervisor 虚拟化设备(KVM,Xen,VMware等)之间的通信框架和编程接口,减少跨平台所带来的兼容性问题,大大提高驱动程序开发效率,windows 系统需要单独安装virtio驱动,linux系统自带virtio驱动。
阅读全文
摘要:
从上面的演示我们可以看到,当我们修改了网络配置文件中的网络名称,ip地址,网桥名称,mac,dhcp地址池然后保存,它就会在对应目录下生成一个我们之前修改后的网络配置文件,并把我们的配置立刻应用到系统(define操作,不需要我们手动去define,它自动会define一个非活跃的持久网络);这里提示下define出来的网络默认是持久的,create出来的网络不是持久的,所谓持久就是是否在/etc/libvirt/qemu/network/目录下生成配置文件,有配置文件的网络我们称它为持久网络,没有配置文件的网络我们称它为临时网络;
阅读全文
摘要:
在上一篇博客中,我们了解了KVM基础架构和部署以及图形管理工具virt-manager安装虚拟机的过程,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/13499801.html;今天我们来聊一下kvm的命令行工具virsh;virsh工具功能非常丰富,它可以全生命周期的管理kvm;比如创建虚拟机,查看虚拟机,动态热插拔硬盘,给虚拟机做快照,迁移、启动、停止、挂起、暂停、删除虚拟机等等操作;
阅读全文
摘要:
kvm是Linux内核中的一个模块,而对于用户要操作Linux内核中的模块所提供的功能,必须在用户空间装上一个用户空间软件,通过系统调用的方式去操作;QEMU就是kvm在用户空间的管理功能,有点类似iptalbes是netfilter的管理工具;上面架构图上kvm的主要作用是提供 CPU 和内存的虚级化,以及客户机的 I/O拦截,Guest的部分I/O被KVM拦截后,交给QEMU处理;QEMU通过修改过的被KVM虚机使用的QEMU代码,运行在用户空间,提供硬件I/O虚拟化,通过IOCTL/dev/kvm设备和KVM交互,但是,KVM本身不执行任何硬件模拟,需要用户空间程序通过 /dev/kvm 接口设置一个客户机虚拟服务器的地址空间,向它提供模拟I/O,并将它的视频显示映射回宿主的显示屏
阅读全文