KVM/QEMU libvirt 实践

: 实践平台为Fedora/CentOS

Install KVM

安装 KVM 所需要的软件包:

$ sudo yum install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst
# Fedora 安装指令
$ sudo dnf install qemu qemu-kvm virt-viewer virt-manager libvirt

或者

$ yum groupinstall KVM

安装 virt-sysprep

$ sudo yum install libguestfs-tools

启动 libvirtd 服务:

$ sudo systemctl start libvirtd
$ sudo systemctl enable libvirtd
$ lsmod | grep kvm
kvm_intel       138567  0
kvm             441119  1 kvm_intel
$ ls -l /dev/kvm
crw-rw---- 1 root kvm 10, 232 Jun 25 15:56 /dev/kvm

准备虚拟机镜像

镜像下载地址:
Ubuntu: https://cloud-images.ubuntu.com/
CentOS: https://cloud.centos.org/centos/
Debian: https://cdimage.debian.org/cdimage/openstack/current/
Fedora: https://alt.fedoraproject.org/cloud/
BSD: https://bsd-cloud-image.org

这里下载的镜像版本为 CentOS-8-GenericCloud.

$  wget http://cloud.centos.org/centos/8/x86_64/images/CentOS-8-GenericCloud-8.1.1911-20200113.3.x86_64.qcow2
$ sudo qemu-img info CentOS-8-GenericCloud-8.1.1911-20200113.3.x86_64.qcow2
image: CentOS-8-GenericCloud-8.1.1911-20200113.3.x86_64.qcow2
file format: qcow2
virtual size: 10 GiB (10737418240 bytes)
disk size: 683 MiB
cluster_size: 65536
Format specific information:compression type: zlibcompat: 0.10refcount bits: 16
# 扩容到 20G
$ sudo qemu-img create -f qcow2 -b  CentOS-8-GenericCloud-8.1.1911-20200113.3.x86_64.qcow2 RHEL8.qcow2 20G
$ export LIBVIRT_DEFAULT_URI="qemu:///system"

修改 root 密码为 ‘root’, 卸载 cloud-init & 安装其他组件

$ virt-sysprep --root-password password:root --uninstall cloud-init --selinux-relabel -a RHEL8.qcow2 --network --install "pciutils"

启动宿主机桥接网络

$ sudo virsh net-define /usr/share/libvirt/networks/default.xml
$ sudo virsh net-start default
$ sudo virsh net-listName                 State      Autostart     Persistent
----------------------------------------------------------default              active     yes           yes

修改虚拟网络配置 : virsh net-edit default

启动虚拟机

$ osinfo-query  os | grep -i centos8centos8              | CentOS 8                                           | 8        | http://centos.org/centos/8 $ sudo virt-install --import  --name RHEL8 --ram=4096 --vcpus=4 \--nographics --accelerate \--network network:default,model=virtio --mac 02:ca:fe:fa:ce:aa \--debug --wait 0 --console pty \--disk RHEL8.qcow2,bus=virtio --os-variant centos8
$ sudo virsh list

连接到虚拟机 console(按CTRL+] 或者 CTRL+SHIFT+5 退出):

sudo virsh console RHEL8

编辑虚拟机配置

sudo virsh edit RHEL8

:
guest 默认配置文件路径: /etc/libvirt/qemu/{NAME}.xml

vish 常用命令

help

 virsh helpvirsh help domainvirsh help hostvirsh help interfacevirsh help network
# 查看宿主机 capabilities 硬件兼容信息
virsh capabilities
# 编辑宿主机虚拟网络配置
virsh net-edit default
# 关闭虚拟机
virsh shutdownc domain
# 强制停止虚拟机
virsh destory domain
# 销毁虚拟机,会删除虚拟机配置文件
vrish undefine domain
# 宿主机开机该虚拟机也开机
virsh autostart domain
# 解除虚拟机开机启动
virsh autostart --disable domain
# 挂起虚拟机
virsh suspend domain
# 恢复虚拟机
virsh resume domain
# 连接到虚拟机 console, 退出 CTRL+Shift+5 or CTRL+]
virsh console domain
# 查看虚拟机基本信息
virsh dominfo domain
# 查看/导出虚拟机配置
virsh dumpxml  domain
# 查看虚拟机vcpu配置
virsh vcpuinfo domain
# 查看虚拟机vcpu与host CPU的绑定关系
virsh vcpupin domain
# 配置虚拟机vcpu与host CPU的绑定关系
virsh vcpupin domain vcpu host-cpu
# 配置虚拟机内存大小
virsh setmem domain size
# 查看虚拟机网卡配置
virsh domiflist domain

参考

KVM
KVM Virtualization in RHEL 7 Made Easy
VIRTUALIZATION DEPLOYMENT AND ADMINISTRATION GUIDE
Ubuntu KVM CreateGuests
QEMU-Images
Testing/System Images
Hands on vhost-user: A warm welcome to DPDK
OpenStack Virtual Machine Image Guide
KVM/QEMU hypervisor driver

KVM/QEMU libvirt 实践相关推荐

  1. 深入浅出 kvm qemu libvirt

    在所谓的kvm技术中,应用到的其实有2个东西:qemu+kvmkvm负责cpu虚拟化+内存虚拟化,实现了cpu和内存的虚拟化,但kvm不能模拟其他设备:qemu是模拟IO设备(网卡,磁盘),kvm加上 ...

  2. 在CentOS上进行虚拟化:QEMU、Xen、KVM、LibVirt、oVirt

    Table of Contents 在CentOS上进行虚拟化 1.概述 2.谁做什么? 3. CentOS支持 3.1 CentOS的4 3.2 CentOS的5 Xen4 CentOS快速入门 0 ...

  3. KVM(五)libvirt 介绍

    1. Libvirt 是什么 为什么需要Libvirt? Hypervisor 比如 qemu-kvm 的命令行虚拟机管理工具参数众多,难于使用. Hypervisor 种类众多,没有统一的编程接口来 ...

  4. KVM之libvirt 介绍

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

  5. 云计算与虚拟化之KVM入门最佳实践

    1.1云计算概述 云计算是一种按使用量付费的模式,这种模式提供可用的.便捷的.按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用程序,服务),这些资源能够被快速提供,只需投入 ...

  6. KVM安装/libvirt没有启动成功找不到/var/run/libvirt/libvirt-sock

    如果是libvirt 没有启动,/var/run/ 下面也没有libvirt 的文件,可以试试一下命令重新安装一下虚拟机. sudo aptitude install  qemu-kvm libvir ...

  7. KVM,QEMU,libvirt入门学习笔记【转】

    转自:http://blog.csdn.net/julykobe/article/details/27571387 注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明. 0.虚拟 ...

  8. Centos7安装kvm服务器

    Centos7安装kvm服务器 什么是kvm virt-manager及相关软件简介 virt-manger架构及原理 KVM QEMU Libvirt 检查硬件是否支持kvm虚拟化 启用嵌套虚拟化( ...

  9. java转大数据方向如何走?

    大数据的三个发展方向,平台搭建/优化/运维/监控.大数据开发/ 设计/ 架构.数据分析/挖掘.请不要问我哪个容易,哪个前景好,哪个钱多. 先扯一下大数据的4V特征: 数据量大,TB->PB 数据 ...

  10. 如何自学大数据开发?

    大数据技术怎么自学?大数据开发如何自学? 我们在学习大数据开发前需要先找到适合自己的方式方法,首先需要审视一下自身的情况,是否是以兴趣为出发点,对大数据是不是自己是真的感兴趣吗,目前对大数据的了解有多 ...

最新文章

  1. CentOS 7.0关闭默认防火墙启用iptables防火墙
  2. virtualenv使用说明
  3. 用数字告诉你2014年Google的野心在哪里
  4. 将字符串的部分保存,剩余删去,或只保留指定一段子字符串
  5. canvas整体放大_【HTML5】Canvas 实现放大镜效果
  6. python接口自动化测试框架unittest代码_Python+unittest+requests 接口自动化测试框架搭建教程...
  7. mysql innodb log_教你如何理解mysql中的innoDB log
  8. 计算机网络之数据链路层:12、CSMA/CA协议-随机访问介质访问控制
  9. 微软推出免费虚拟太空望远镜软件WWT
  10. hdoj 3400 三分
  11. linux驱动中使用定时器的设置
  12. protocol buffer的使用
  13. matlab画图常用符号,matlab画图特殊符号
  14. 计算机本地网络如何共享,本地网络共享如何实现?
  15. Ubuntu零基础教学-Ubuntu下如何创建.txt记事本文件
  16. 农夫山泉市值超5000亿港元 域名还在优化中?
  17. 罗升阳 android系统源代码情景分析,Android系统源代码情景分析
  18. mysql快速建表工具_我所知道的MYSQL快速建表的3种方法
  19. 交叉编译Qt5.5.1----本人亲自测试基本可行!!!
  20. 蓝牙技术|2028 年智能音箱市场将达290亿美元,伦茨科技推出(Alexa,Echo音箱)亚马逊App直连幻彩灯方案

热门文章

  1. eclipse如何导入okhttp 2.x源码
  2. 深度学习:卷积神经网络之移动网络(MobileNet)
  3. Linux下vsftp服务器原理、安装、配置实战
  4. Linux中文件权限(有图详细讲解)
  5. java jquery时间问候语,js实现实时问候,不同时间显示不同问候语
  6. javaweb不同用户登录不同页面的页面_ssh+mysql实现的Java web论坛系统源码附带视频指导运行教程...
  7. 计算机网络网际协议实验报告,计算机网络网际协议ip实验报告.doc
  8. linux mysql workbench 安装_Ubuntu 20.04 上 MySQL Workbench 安装和使用图文详解
  9. sql_存储过程、函数、分支、循环
  10. CMU 15-213 Introduction to Computer Systems学习笔记(9) Program Optimization