KVM 虚拟化已经是一个工业级的虚拟化解决方案了,以前都是直接下载 VMware,然后安装其他操作系统的,今天我们来体验一下自己动手创建一台虚拟机,这样你就会知道在KVM下创建一台虚拟机,是多么简单的一件事情了,哈哈

step 1 : 首先我们需要检查一下我们的当前主机是否支持cpu虚拟化(如果出现下图,就是支持cpu虚拟化了):

step 2 : 然后我们需要安装一些必要的包:

step 3: 然后我们需要一个虚拟磁盘,相当于我们的系统盘(可以直接用 qemu-img 工具制作,具体使用方式可以用 qemu-img --help 查看,这个工具在上面的包安装过程中已被默认安装):

step 4 : 然后我们需要一个定义虚拟机配置的文件,一般用 xml 文件来描述(示例文件,配置不是很详细和充分):

<name>centos</name>
<memory>1048576</memory>
<currentMemory>1048576</currentMemory>
<vcpu>2</vcpu> <os>
<type arch='x86_64' machine='pc'>hvm</type>
<boot dev='ha'/>
</os> <features>
<acpi/>
<apic/>
<pae/>
</features> <clock offset='localtime'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash> <devices>
<emulator>/usr/bin/kvm</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/home/zhangpeng/test.qcow2'/>
<target dev='hda' bus='ide'/>
</disk> <disk type='file' device='cdrom'>
<source file='/home/zhangpeng/centos.iso'/>
<target dev='hdb' bus='ide'/>
</disk> <interface type='bridge'>
<source bridge='default'/>
<mac address="00:16:3e:5d:aa:a8"/>
</interface> <input type='mouse' bus='ps2'/>
<graphics type='vnc' port='-1' autoport='yes' listen='0.0.0.0' keymap='en-us'/>
</devices>
</domain> centos_config.xml

centos_config.xml

step 5 : 执行 virsh 命令定义一台虚机:

step 6 : 执行 virsh 命令启动一台虚机:

此时可以用 virsh 查看当前该宿主机所管理的虚机:

step 7 : 此时我们就可以用一些可视化软件连接到创建的该台虚拟机上进行操作了,本文用的是 vncViewer,点击进入下载页面;连接的 ip 地址为宿主机的 ip 地址,可以通过 ifconfig 进行查看:

step 8 : 由于第一次进入系统,显示出安装系统的界面,我们像在物理机上相同的安装操作进行安装就可以了

note: 安装完成后,系统就写入对应的虚拟磁盘中了,这时我们需要更改配置文件(xml) 中的启动项,将其从 cdrom 启动改为从磁盘启动就可以启动系统了:

更改前:

        <os>
<type arch='x86_64' machine='pc'>hvm</type>
<boot dev='cdrom'/>
</os>

更改后:

        <os>
<type arch='x86_64' machine='pc'>hvm</type>
<boot dev='hd'/>
</os>

注:如果进入虚机之后发现网络不通,请参考这篇博客

可能出错的地方:

1:定义一个主机的时候,可能提示找不到 kvm 目录,有的系统可能目录是/usr/bin/qemu或者是/usr/libexec/qemu-kvm

  2:启动过程中可能出现权限不够的错误提示

3:可能会出现某些 cpu 特征不支持的警告,点击这里查看

参考资料:

https://blog.csdn.net/qq_24369113/article/details/52929439

https://www.linuxidc.com/Linux/2017-05/143292.htm

https://stackoverflow.com/questions/46219552/host-doesnt-support-requested-feature-cpuid-01hedx-ds-bit-21-does-this-warn?answertab=active

KVM---利用 libvirt+qemu-kvm 创建虚拟机的更多相关文章

  1. 烂泥:KVM利用LVM快照快速部署虚拟机

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上一篇文章介绍了有关KVM利用LVM快照备份和恢复虚拟机的功能,这篇文章我们来介绍,如何利用LVM快照功能为KVM快速部署虚拟机. 部署虚拟机需要以下几 ...

  2. 干货分享: 长达250页的Libvirt Qemu KVM的ppt,不实验无真相

    下载地址:Libvirt Qemu KVM 教程大全 http://files.cnblogs.com/popsuper1982/LibvirtQemuKVM.pptx 1. 概论 1.1 虚拟化的基 ...

  3. kvm介绍、安装及创建虚拟机

    kvm虚拟化介绍 一.虚拟化分类 1.虚拟化,是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机.在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立 ...

  4. KVM 介绍(8):使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机 [Nova Libvirt QEMU/KVM Live Migration]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  5. KVM 介绍(6):Nova 通过 libvirt 管理 QEMU/KVM 虚机 [Nova Libvirt QEMU/KVM Domain]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  6. [Virtualization][qemu][kvm][virtio] 使用 QEMU/KVM 模拟网卡多队列

    序: 做DPDK例子的时候,发现一些例子需要多队列,而我当前所使用的虚拟机并不是多队列的.关于我当前虚拟机的状态,可以见前文. 所以,我的需求就是,让虚拟机里的网卡,有多队列! 参考: http:// ...

  7. 通过noVNC和websockify连接到QEMU/KVM 转

    开源项目 QEMU.KVM.libvirt 实现了创建虚拟机,启动虚拟机,监控虚拟机.我们解决了从无到有的问题,这时就该考虑从有到优了.尽管我们能使用 SSH 的方式来登录使用虚拟机,但这种方式从感觉 ...

  8. QEMU KVM Libvirt(12): Live Migration

    由于KVM的架构为 Libvirt –> qemu –> KVM 所以对于live migration有两种方式,一种是qemu + KVM自己的方式,一种是libvirt的方式,当然li ...

  9. qemu kvm 虚拟化

    虚拟化: KVM是一个基于Linux内核的虚拟机,属于完全虚拟化.虚拟机监控的实现模型有两类:监控模型(Hypervisor)和宿主机模型(Host-based).由于监控模型需要进行处理器调度,还需 ...

  10. KVM 介绍(7):使用 libvirt 做 QEMU/KVM 快照和 Nova 实例的快照 (Nova Instances Snapshot Libvirt)

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

随机推荐

  1. Bug 佛祖镇楼

    原文链接:https://www.cnblogs.com/xdp-gacl/p/4198935.html // _ooOoo_ // o8888888o // 88" . "88 ...

  2. 二十九、SAP中输出漂亮的表格

    一.代码如下 二.输出效果如下 *&---------------------------------------------------------------------* *& ...

  3. 064-PHP函数中局部变量在函数外不可使用

    <?php function print_num(){ //定义函数 $x=6; //在函数中定义变量 } print_num(); //调用函数 echo $x; ?>

  4. Flink Window窗口机制

    总览 Window 是flink处理无限流的核心,Windows将流拆分为有限大小的"桶",我们可以在其上应用计算. Flink 认为 Batch 是 Streaming 的一个特 ...

  5. Elasticsearch 教程

    章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...

  6. 量化交易回测系统---RQalpha、qstrade学习笔记

    一.RQalpha github 地址  https://github.com/ricequant/rqalpha 1.运行test.py文件,显示 No module named 'logbook. ...

  7. maven工程运行演示

    通过maven提供的命令来运行maven工程,体会maven构建工程的优点. (1)运行web工程    进入maven工程目录(当前目录有pom.xml),运行tomcat:run命令 可能出现的问 ...

  8. cf 444C.

    听说这是线段树的裸题??(看来我也就能搞个求和什么的了2333) #include<bits/stdc++.h> #define INF 0x7fffffff #define LL lon ...

  9. OFD系列软件说明(免费试用、QQ交流群:877371250)

    前言 OFD是一个版式文档格式.所谓版式文档格式是版面呈现效果固定的电子文档格式. 我们今天接触到最多的版式文档就是国际通用的PDF. 国内的就是由工业和信息化部软件司牵头中国电子技术标准化研究院成立 ...

  10. stm32cube 安装 patch

    首先正常安装芯片包,然后在设置里面找到当前包存放的位置,默认是: C:\Users\Administrator\STM32Cube\Repository 然后解压 更新包,把更新包里面的文件覆盖到 C ...