Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM目前已成为学术界的主流VMM之一。

KVM的虚拟化需要硬件支持(如Intel VT技术或者AMD V技术)。是基于硬件的完全虚拟化。而Xen早期则是基于软件模拟的Para-Virtualization,新版本则是基于硬件支持的完全虚拟化。但Xen本身有自己的进程调度器,存储管理模块等,所以代码较为庞大。广为流传的商业系统虚拟化软件VMware ESX系列是基于软件模拟的Full-Virtualization。

创建虚拟机的步骤为:

1、创建虚拟机磁盘

qemu-img create -f qcow2 yunxiazi-v2.9.2-360-for-360-200G.qcow2 200G

磁盘格式介绍

raw 裸磁盘不支持快照

qcow2,不保存原始镜像只会记录操作和原始镜像不同的内容,做快照。写时拷贝的一种技术,这种技术把所做的操作记录在一个文件中,只对这个文件镜像。Openstack使用的方式推荐使用这个

区别:

qcow2 数据的基本组成单元是cluster

raw性能比qcow2快

raw创建多大磁盘,就占用多大空间直接分配,qcow2动态的用多大占用多大空间。

2、创建虚拟机主机

virt-install --name yunxiazi --ram=2048 --arch=x86_64 --vcpus=1 --check-cpu --os-type=linux -c /home/product_download/yunxiazi/云匣子镜像/2.9.2/iso/yunxiazi_v2.9.2-360_x86_64_180110.iso --disk path=/home/yunxiazi_qcow2/yunxiazi-v2.9.2-360-for-360-200G.qcow2,device=disk,bus=ide,format=qcow2 --network network=default,model=e1000 --noautoconsole --vnc --vncport=59001 --vnclisten=0.0.0.0 --clock offset=localtime

创建完成之后,我们用VNC连接进行测试。

KVM下面管理虚拟机的基本命令:

virsh list --all 查看虚拟机状态

virsh start kvm01 开机

virsh shutdown kvm01 关机(虚拟机需开启acpid服务)

virsh destroy kvm01 强制关机

virsh suspend kvm01 挂起虚拟机

virsh resume kvm01 恢复挂起的虚拟机

virsh snapshot-create kvm01 建虚拟机快照(建快照镜像格式要为qcow2格式)

virsh snapshot-list kvm01 查看虚拟机快照

virsh snapshot-revert kvm01 1489386302 恢复虚拟机快照

virsh edit kvm01 编辑配置文件

virsh autostart kvm01 设置物理机开机自动启动虚拟机

virsh dumpxml kvm01 > kvm01.xml 导出虚拟机配置文件

/etc/libvirt/qemu/ 虚拟机配置文件默认目录

virsh undefine kvm01 删除一个虚拟机(会一起删除配置文件,镜像不删除)

virsh define /etc/libvirt/qemu/kvm01.xml 重新定义一个虚拟机

virt-clone -o kvm01 -n kvm02 -f /var/lib/libvirt/images/kvm02.img 克隆虚拟机(/etc/udev/rules.d/70-persistent-net.rules启动后删除)

qemu-img info kvm01 查看虚拟机镜像格式

qemu-img convert -f raw -O qcow2 kvm01.img kvm01.qcow2 转换虚拟机镜像格式

qemu-img create -f qcow2 /var/lib/libvirt/images/kvm01-1.img 20G 新建虚拟机镜像磁盘

virsh attach-disk kvm01 /var/lib/libvirt/images/kvm01-1.img vdb --cache=none --subdriver=qcow2 在线添加虚拟机镜像硬盘

最新文章

  1. Template function 函数模板用法
  2. (转)名称和本质 by王珢
  3. HttpServletrequest 与HttpServletResponse总结
  4. [转]jquery $(document).ready() 与window.onload的区别
  5. php中 __autoload函数 自动加载类文件机制
  6. PhpCms_V9笔记
  7. 简单易学的SSM(Spring+SpringMVC+MyBatis)整合
  8. alpha冲刺第七天
  9. 逻辑运算符、位运算符、三元运算符、判断语句(if,switch)
  10. C# 使用Newtonsoft.Json读写Json文件
  11. PTA1
  12. Success Rate CodeForces - 807C (数学+二分)
  13. callback vs async.js vs promise vs async / await
  14. android设置GridView高度自适应,实现全屏铺满效果
  15. 食物链--poj1182(并查集含有关系)
  16. C++ tinyXml直接解析XML字符串
  17. JVM 系列(一)类加载
  18. spring 原理
  19. 告诉我, 究竟我的SQL Server慢在哪里?
  20. 20162327WJH Android开发程序设计实验报告

热门文章

  1. Xcode基础文件概念
  2. php 滑动图片验证生成
  3. oracle pl/sql异常处理
  4. 【ZYNQ学习】ZYNQ架构介绍
  5. Word04 公司战略规划文档office真题
  6. js判断数据类型 && 判断是否为标准json格式
  7. PAT-basic-1023 组个最小数 java
  8. 通过网页下载qq音乐在线听歌曲
  9. 找着CA证书位置
  10. OOP前三次作业总结