精华内容
下载资源
问答
  • 一.KVM简介 KVM(名称来自英语:Kernel-basedVirtual Machine的缩写,即基于内核的虚拟机),是一种用于Linux内核中的虚拟化基础设施,可以将Linux内核转化为一个hypervisor。KVM在2007年2月被导入Linux 2.6.20核心...
  • qemu-kvm-ev-2.12.0-18.el7_6.3.1.src.rpm是CentOS7的qemu-kvm源码文件
  • virtio-qemu-kvm 学习过程

    2018-09-03 09:56:39
    An API for virtual I/O Implements network & block driver logic Written by Rusty Russell Motivation Many hypervisors of all types Hard to tune and maintain ... Possible (Xen, UML, Qemu, VMware?..)
  • 适用centos6.7的KVM seabios-0.6.1 stable DELL slic2.1 别人要5个资源分,那只好自己改了给大家分享 win7 win2008 亲测可用,SLIC_ToolKit_V3.2 中看到slic maker dell QA09
  • qemu-kvm.tar.xz

    2019-12-26 19:10:29
    解决虚拟化软件版本问题导致虚拟机无法创建的问题,部分版本的qemu-kvm暂不支持setting MTU is not supported with this QEMU binary的操作,该版本编译可以支持。
  • 使用Qemu-kvm创建和管理虚拟机实践
  • qemu-kvm配置bridge

    2013-09-29 16:01:47
    包含一些创建虚拟机的操作,以及配置bridge上网模式的操作。
  • Qemu-kvm学习笔记

    2021-03-26 21:01:27
    实验一:Qemu-KVM虚拟化环境搭建 实验环境: 系统:Centos7 实验目的: 掌握虚拟机开启虚拟化方法 掌握虚拟化Qemu-KVM环境安装 学会配置VNC Server环境 一、检查系统的KVM模块是否被加载 [root@localhost neetsang...

    实验一:Qemu-KVM虚拟化环境搭建

    实验环境:
    系统:Centos7
    实验目的:

    • 掌握虚拟机开启虚拟化方法
    • 掌握虚拟化Qemu-KVM环境安装
    • 学会配置VNC Server环境

    一、检查系统的KVM模块是否被加载

    [root@localhost neetsang]# lsmod|grep kvm
    kvm_intel             188740  0 
    kvm                   637289  1 kvm_intel
    irqbypass              13503  1 kvm
    

    出现以上结果表明KVM模块已经被加载
    如果没有出现,则检查 虚拟机设置-处理器-虚拟化设置
    是否被开启
    二、安装Qemu-KVM模块
    ①配置系统上网
    检查右上角网络图标是否出现若没有则

    [root@localhost network-scripts]# cd /etc/sysconfig/network-scripts/
    [root@localhost network-scripts]# ifconfig
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.249.130  netmask 255.255.255.0  broadcast 192.168.249.255
            inet6 fe80::1b55:af3c:6160:12d1  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:b7:7e:14  txqueuelen 1000  (Ethernet)
            RX packets 93814  bytes 139033177 (132.5 MiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 20710  bytes 1269271 (1.2 MiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    

    进入网络配置文件目录,查看网卡名称
    进入网卡配置文件

    [root@localhost network-scripts]# vi ifcfg-ens33 
    [root@localhost network-scripts]# systemctl restart network
    [root@localhost network-scripts]# ping www.baidu.com
    PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
    64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=1 ttl=128 time=9.67 ms
    64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=2 ttl=128 time=10.4 ms
    64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=3 ttl=128 time=11.2 ms
    64 bytes from 14.215.177.39 (14.215.177.39): icmp_seq=4 ttl=128 time=10.1 ms
    

    检查ONBOOT="yes"是否设置为yes
    后重启网卡,随意ping一个网址,能ping通则网络配置完成
    ②更换YUM源为阿里云

    https://blog.csdn.net/weixin_50583343/article/details/115255040

    ③安装Qemu-KVM环境

    [root@localhost network-scripts]# yum install -y qemu-kvm
    已加载插件:fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
     * base: mirrors.aliyun.com
     * extras: mirrors.aliyun.com
     * updates: mirrors.aliyun.com
    软件包 10:qemu-kvm-1.5.3-175.el7_9.3.x86_64 已安装并且是最新版本
    无须任何处理
    

    ④测试环境是否可用
    因为qemu-kvm命令在/usr/libexec文件夹下面,如果想要直接执行该命令,我们需要做一个软链接

    [root@localhost network-scripts]# ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
    [root@localhost network-scripts]# qemu- #按两下Tab
    qemu-ga   qemu-img  qemu-io   qemu-kvm  qemu-nbd  
    [root@localhost network-scripts]# qemu-kvm --version
    QEMU emulator version 1.5.3 (qemu-kvm-1.5.3-175.el7_9.3), Copyright (c) 2003-2008 Fabrice Bellard
    

    ⑤安装VNC Server

    [root@localhost network-scripts]# yum install -y vnc-server tigervnc
    ...
    完毕!
    

    将默认的配置文件复制一份并重新命名,将配置文件中要远程连接的用户名加入进去,重新加载配置文件,配置VNC远程连接的密码,开启VNC server服务,并设置为开机自启即可

    [root@localhost network-scripts]# cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service
    [root@localhost system]# vi vncserver@:1.service
    [root@localhost system]# systemctl daemon-reload
    

    将ExecStart=/usr/bin/vncserver_wrapper %i改为
    修改:ExecStart=/usr/bin/vncserver_wrapper root %i
    增加:PIDFile=/root/.vnc/%H%i.pid

    [root@localhost system]# vncpasswd
    Password:
    Verify:
    Would you like to enter a view-only password (y/n)? y
    Password:
    Verify:
    [root@localhost system]# systemctl restart vncserver@:1
    [root@localhost system]# systemctl enable vncserver@:1
    Created symlink from /etc/systemd/system/multi-user.target.wants/vncserver@:1.service to /usr/lib/systemd/system/vncserver@:1.service.
    

    ⑥在windows系统中下载VNC Viewer 在虚拟机中查看ip地址,加上VNC端口(默认开启端口时5901)查看端口监听情况,关闭防火墙及SELINUX

    [root@localhost system]# ip a
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 00:0c:29:b7:7e:14 brd ff:ff:ff:ff:ff:ff
        inet 192.168.249.130/24 brd 192.168.249.255 scope global noprefixroute dynamic ens33
           valid_lft 1174sec preferred_lft 1174sec
        inet6 fe80::1b55:af3c:6160:12d1/64 scope link noprefixroute 
           valid_lft forever preferred_lft forever
    3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
        link/ether 52:54:00:07:0e:61 brd ff:ff:ff:ff:ff:ff
        inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
           valid_lft forever preferred_lft forever
    4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
        link/ether 52:54:00:07:0e:61 brd ff:ff:ff:ff:ff:ff
    [root@localhost system]# netstat -ntpl|grep vnc
    tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      107848/Xvnc         
    tcp        0      0 0.0.0.0:6001            0.0.0.0:*               LISTEN      107848/Xvnc         
    tcp6       0      0 :::5901                 :::*                    LISTEN      107848/Xvnc         
    tcp6       0      0 :::6001                 :::*                    LISTEN      107848/Xvnc         
    [root@localhost system]# systemctl stop firewalld.service
    [root@localhost system]# setenforce 0
    setenforce: SELinux is disabled
    

    在这里插入图片描述
    注意:无图形化界面的Centos7系统是无法被VNC Viewer连接上去的,下面是安装图形化界面的方法

    https://www.jianshu.com/p/94d9135edb91

    实验二:Qemu-img生产虚拟机硬盘

    在启动虚拟机之前需要创建镜像文件,Qemu-img创建的虚拟机镜像用来模拟虚拟机的硬盘

    实验目的:

    • 掌握如何使用Qemu-img命令创建虚拟机硬盘
    • 了解Qemu-img命令支持的硬盘类型及各自优缺点

    实验步骤:

    ①使用qemu-img create命令创建虚拟机硬盘

    名称为centos7.qcow2 大小为10GB 格式为fmt

    [root@localhost image]# qemu-img create -f qcow2 /opt/image/centos7.qcow2 10g
    Formatting '/opt/image/centos7.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 lazy_refcounts=off 
    [root@localhost image]# ll
    总用量 196
    -rw-r--r-- 1 root root 197120 3月  27 19:23 centos7.qcow2
    [root@localhost image]# du -h /opt/image/centos7.qcow2 #以K  M  G为单位显示,提高可读性,显示每个文件和目录的磁盘使用空间,也就是文件的大小。
    196K	/opt/image/centos7.qcow2
    

    由于我们采用的是QCOW2的文件格式,所以当我们查询其大小时,会发现其只占用了196K的硬盘大小,它会随着我们使用的程度逐渐增大,qcow2格式的好处是不会过于占用本地磁盘空间还有另外一种raw格式的硬盘类型

    ②使用qemu-img info命令可以查看镜像具体信息

    [root@localhost image]# qemu-img info /opt/image/centos7.qcow2 
    image: /opt/image/centos7.qcow2
    file format: qcow2
    virtual size: 10G (10737418240 bytes)
    disk size: 196K
    cluster_size: 65536
    Format specific information:
        compat: 1.1
        lazy refcounts: false
    

    实验三:Qemu-kvm命令创建虚拟机

    Qemu-kvm环境安装完成,虚拟机所使用的虚拟机硬盘也已经创建完成,接下来就是将要创建的虚拟机安装在创建的磁盘中,然后通过VNC Viewer连接至创建的Qemu-kvm虚拟机,将其安装完成

    实验目的:

    • 掌握使用Qemu-kvm命令创建带图形化界面的虚拟机并启动,将虚拟机安装完成
    • 掌握配置VNC server的方法

    实验步骤

    ①打开虚拟机的共享文件夹功能(虚拟机设置-共享文件夹),将虚拟机需要使用的镜像所在的文件夹与虚拟机共享
    在这里插入图片描述

    ②centos系统默认会把共享文件夹挂载到/mnt/hgfs文件夹下,切换至该文件夹下查看共享的文件夹,将镜像文件夹拷贝至家目录下

    [root@localhost ~]# cd /mnt/hgfs/
    [root@localhost hgfs]# ll
    总用量 4
    drwxrwxrwx 1 root root 4096 3月   4 21:43 linux
    [root@localhost hgfs]# cd linux/
    [root@localhost linux]# ll
    总用量 12611963
    -rwxrwxrwx 1 root root 4712300544 3月   4 21:33 CentOS-7-x86_64-DVD-2009.iso
    ...
    [root@localhost linux]# cp CentOS-7-x86_64-DVD-2009.iso ~/CentOS-7-x86_64-DVD-2009.iso
    

    ③安装/配置/启动VNC

    查看实验一具体实验步骤

    ④启动虚拟机

    使用qemu-kvm命令启动一个虚拟机

    -m 虚拟机的内存为1024MB

    -smp 虚拟机的虚拟cpu为两个

    -name 虚拟机的名称为CentOS7

    -had 将/opt/image/centos7.qcow2文件作为虚拟机中的第一个ide设备(序号为0),在虚拟机中表现为/dev/hda设备(虚拟机使用的是piix_ide驱动)或/dev/sda设备(若虚拟机使用的是ata_piix驱动);

    -cdrom ./CentOS-7-x86_64-DVD-2009.iso作为虚拟机的启动引导盘,将引导虚拟机进入安装界面;

    -enable-kvm 使用KVM加速

    [root@localhost linux]# cd ~
    [root@localhost ~]# ll
    总用量 4601864
    -rw-------. 1 root root       1759 3月   4 21:58 anaconda-ks.cfg
    -rwxr-xr-x  1 root root 4712300544 3月  27 19:50 CentOS-7-x86_64-DVD-2009.iso
    -rw-r--r--. 1 root root       1807 3月   4 21:59 initial-setup-ks.cfg
    drwxr-xr-x  2 root root          6 3月  26 21:45 公共
    drwxr-xr-x  2 root root          6 3月  26 21:45 模板
    drwxr-xr-x  2 root root          6 3月  26 21:45 视频
    drwxr-xr-x  2 root root          6 3月  26 21:45 图片
    drwxr-xr-x  2 root root          6 3月  26 21:45 文档
    drwxr-xr-x  2 root root          6 3月  26 21:45 下载
    drwxr-xr-x  2 root root          6 3月  26 21:45 音乐
    drwxr-xr-x  2 root root          6 3月  26 21:45 桌面
    [root@localhost ~]# qemu-kvm -m 1024 -smp 2 -name CentOS7 -hda /opt/image/centos7.qcow2 -cdrom ./CentOS-7-x86_64-DVD-2009.iso -enable-kvm
    VNC server running on `::1:5900'
    

    执行命令后,会出现“VNC server running on `::1:5900’ ”的字样,下面使用宿主机端(windows)的VNC Viewer连接上虚拟机的操作界面
    在这里插入图片描述
    连接上之后,打开终端窗口,执行vncviewer:5900命令即可进入虚拟机的安装界面,如图所示
    在这里插入图片描述
    选择InstaV CentOS7进入安装,接下来正常操作即可(建议选择最小无图形化界面安装),安装成功截图如图所示,单击重启进入系统,使用root用户登陆后查看系统的基本信息
    在这里插入图片描述
    在这里插入图片描述

    uname -a 显示系统全部信息。
    free -m 查看linux内存使用情况。
    lsblk 用于列出所有可用块设备的信息。
    ip a 显示IP地址信息

    ⑤重新进入虚拟机,将TigerVNC的窗口关闭,回到终端后,按下Ctrl+C组合键,终端刚刚创建的虚拟机即退出,退出虚拟机之后,若要重新进入虚拟机,命令和创建虚拟机差不多,只是不需要那么多参数

    [root@localhost ~]# vncviewer :5900
    
    TigerVNC \u67e5\u770b\u5668 64 \u4f4d v1.8.0
    \u6784\u5efa\u4e8e\uff1a2020-11-16 16:46
    \u7248\u6743\u6240\u6709 1999-2017 TigerVNC \u56e2\u961f\u53ca\u4f17\u591a\u5f00\u53d1\u8005\uff08\u53c2\u89c1 README.txt\uff09
    \u8bbf\u95ee http://www.tigervnc.org \u4ee5\u83b7\u53d6\u66f4\u591a\u5173\u4e8e TigerVNC \u7684\u4fe1\u606f\u3002
    
    Sat Mar 27 20:08:39 2021
     DecodeManager: Detected 4 CPU core(s)
     DecodeManager: Creating 4 decoder thread(s)
     CConn:       \u5df2\u8fde\u63a5\u5230\u4e3b\u673a localhost \u7684\u7aef\u53e3 5900
     CConnection: Server supports RFB protocol version 3.8
     CConnection: Using RFB protocol version 3.8
     CConnection: Choosing security type None(1)
     DesktopWindow: \u6b63\u5728\u8c03\u6574\u7a97\u53e3\u5927\u5c0f\u4ee5\u907f\u514d\u610f\u5916\u7684\u5168\u5c4f\u8bf7\u6c42
     CConn:       \u6b63\u5728\u4f7f\u7528\u50cf\u7d20\u683c\u5f0f depth 24 (32bpp) little-endian rgb888
     CConn:       \u4f7f\u7528 Tight \u7f16\u7801
    [root@localhost ~]# ^C
    

    先查询虚拟机硬盘大小是否改变

    [root@localhost ~]# qemu-img info /opt/image/centos7.qcow2 
    image: /opt/image/centos7.qcow2
    file format: qcow2
    virtual size: 10G (10737418240 bytes)
    disk size: 1.6G
    cluster_size: 65536
    Format specific information:
        compat: 1.1
        lazy refcounts: false
    

    可以看到硬盘大小已经增长至1.1G

    然后重新进入虚拟机

    [root@localhost image]# cd /opt/image/
    [root@localhost image]# qemu-kvm -m 1024 -enable-kvm centos7.qcow2
    VNC server running on `::1:5902'
    

    新建标签页(终端左上角文件-新建标签页)

    [root@localhost image]# vncviewer :5900
    
    TigerVNC \u67e5\u770b\u5668 64 \u4f4d v1.8.0
    \u6784\u5efa\u4e8e\uff1a2020-11-16 16:46
    \u7248\u6743\u6240\u6709 1999-2017 TigerVNC \u56e2\u961f\u53ca\u4f17\u591a\u5f00\u53d1\u8005\uff08\u53c2\u89c1 README.txt\uff09
    \u8bbf\u95ee http://www.tigervnc.org \u4ee5\u83b7\u53d6\u66f4\u591a\u5173\u4e8e TigerVNC \u7684\u4fe1\u606f\u3002
    
    Sat Mar 27 21:26:22 2021
     DecodeManager: Detected 4 CPU core(s)
     DecodeManager: Creating 4 decoder thread(s)
     CConn:       \u5df2\u8fde\u63a5\u5230\u4e3b\u673a localhost \u7684\u7aef\u53e3 5900
     CConnection: Server supports RFB protocol version 3.8
     CConnection: Using RFB protocol version 3.8
     CConnection: Choosing security type None(1)
     DesktopWindow: \u6b63\u5728\u8c03\u6574\u7a97\u53e3\u5927\u5c0f\u4ee5\u907f\u514d\u610f\u5916\u7684\u5168\u5c4f\u8bf7\u6c42
     CConn:       \u6b63\u5728\u4f7f\u7528\u50cf\u7d20\u683c\u5f0f depth 24 (32bpp) little-endian rgb888
     CConn:       \u4f7f\u7528 Tight \u7f16\u7801
    

    在这里插入图片描述
    可能会出现的问题

    [root@localhost image]# qemu-kvm -m 1024 -enable-kvm centos7.qcow2
    Cannot set up guest memory 'pc.ram': Cannot allocate memory
    

    kvm虚拟机因异常原因启动异常后,再重新启动报Cannot set up guest memory ‘pc.ram’: Cannot allocate memory,这是由于宿主机内存不够
    在这里插入图片描述
    可以看到我这边创建宿主虚拟机的时候分配的内存为1GB,这样就导致我在linux上创建的虚拟机启动时内存不足,导致无法启动,所以我们将内存调至2G后,重新启动即可
    在这里插入图片描述
    本章小结:
    KVM是集成到Linux内核的Hypervisor,是X86架构且硬件支持虚拟化技术的Linux的全虚拟化解决方案.

    Hypervisor (虚拟机监控程序): 可有效分隔物理资源,并将这些资源分配给不同虚拟环境(也就是需要这些资源的任务)使用。

    虚拟机的创建本身通过Qemu-image即可完成,可以不依赖KVM,但是如果有KVM的存在并且硬件(处理器)支持如Inter VT(虚拟化技术)的功能。

    Inter VT(虚拟化技术):目前,多数服务器基础桌面计算机均处于启动状态,在BIOS设置

    那么Qemu在对处理器虚拟化这一块可以利用KVM提供的功能来提升性能

    展开全文
  • qemu-kvm源码分析

    2018-08-20 12:42:16
    本文档是qemu以及linux kernel中kvm模块代码解析,供参考
  • QEMU中设置简单的macOS VM的文档,由KVM加速。 通过和其他许多人的帮助。 觉得有用吗? 您可以或 捐款 。 macOS和KVM的新手? 检查 入门 您需要一个启用了qemu (3.1或更高版本), python3 , pip和KVM模块...
  • 主要介绍了详解虚拟化技术QEMU-KVM入门,QEMU-KVM就是KVMQEMU的结合,KVM负责CPU虚拟化+内存虚拟化,QEMU模拟其它IO设备,感兴趣的小伙伴们可以参考一下
  • KVM(一) qemu-kvm

    千次阅读 2019-05-13 21:24:25
    2008年9月4日,Redhat收购了Qumranet,至此Redhat拥有了自己的虚拟化解决方案,之后便舍弃Xen开始全面扶持KVM,从RHEL6开始KVM便被默认内置于内核中。本文介绍KVM虚拟化平台部署及管理。 KVM...

    前言

    KVM即Kernel Virtual Machine,最初是由以色列公司Qumranet开发。2007年2月被导入Linux 2.6.20核心中,成为内核源代码的一部分。2008年9月4日,Redhat收购了Qumranet,至此Redhat拥有了自己的虚拟化解决方案,之后便舍弃Xen开始全面扶持KVM,从RHEL6开始KVM便被默认内置于内核中。本文介绍KVM虚拟化平台部署及管理。

    KVM特点

    KVM必须在具备Intel VT或AMD-V功能的x86平台上运行。KVM包含一个为处理器提供底层虚拟化,可加载的核心模块kvm.ko(kvm-intel.ko或kvm-AMD.ko)。使用一个经过修改的QEMU(qemu-kvm),作为虚拟机上层控制和界面。

    由于KVM仅是一个简单的虚拟化模块,所以它的内存管理没有自我实现,需借助于Linux内核实现内存管理。KVM能够使用Linux所支持的任何存储,在驱动程序的实现上,直接借助于Linux内核来驱动任何硬件。在性能上KVM继承了Linux很好的性能和伸缩性,在虚拟化性能方面,已经达到非虚拟化原生环境95%左右的性能(官方数据)。KVM拓展性也非常好,客户机和宿主机都可以支持非常多的CPU数量和非常大的内存,可以过载使用CPU和内存,还可借助KSM技术实现对内存的过量使用,且保证性能依旧非常不错。

    xen的工作方式:首先在操作系统上安装xen;(rpm包);装好之后重启宿主机的操作系统,起来之后xen就成为了操作系统,直接运行在物理硬件之上了,将原来宿主机的操作系统,挤下去成为第一个虚拟机(dom0)。将刚挤下去的成为第一个虚拟机(dom0)的当为它的管理接口(管理接口:创建,删除,新建虚拟机)后面创建的虚拟机为dom1;dom2……

    KVM的工作方式:KVM是内核模块,一旦装上KVM的内核模块,原来的内核,就变为虚拟化管理平台:Hypervisor ,不用重启就直接可以在虚拟化管理平台上创建虚拟机了。

    KVM架构

    KVM架构.jpg

    KVM的架构非常简单,就是内核的一个模块,用户空间通过qemu模拟硬件提供给虚拟机使用,一个虚拟机就是一个普通的Linux进程,通过对这个进程的管理,就可以完成对虚拟机的管理。

    在这里插入图片描述
    kvm相关安装包及其作用

    qemu-kvm 主要的KVM程序包

    python-virtinst 创建虚拟机所需要的命令行工具和程序库

    virt-manager GUI虚拟机管理工具

    virt-top 虚拟机统计命令

    virt-viewer GUI连接程序,连接到已配置好的虚拟机

    libvirt C语言工具包,提供libvirt服务

    libvirt-client 为虚拟客户机提供的C语言工具包

    virt-install 基于libvirt服务的虚拟机创建命令

    bridge-utils 创建和管理桥接设备的工具

    QUME的主要功能:

    处理器模拟器

    仿真IO设备

    关联模拟的设备至真实设备;

    调试器

    与模拟器交互的用户接口

    qemu:kmv的文本管理工具,包括qemu-kvm、qemu-imgQUME的主要功能:

    处理器模拟器

    仿真IO设备

    关联模拟的设备至真实设备;

    调试器

    与模拟器交互的用户接口

    qemu:kmv的文本管理工具,包括qemu-kvm、qemu-img
    快速使用kvm技术:

    1 .判断CPU是否支持硬件虚拟化:
    grep -i -E ‘(vmx|svm|lm)’ /proc/cpuinfo
    vmx:Intel VT-x (inter的CPU出现vmx;lm “64位的操作平台”字样代表支持硬件虚拟化)
    svm:AMD AMD-v (AMD的CPU出现svm字样代表支持硬件虚拟化)

    yum install qemu-kvm
    qemu工具集本身可以支持xen、kvm等,红帽公司为了推广自己公司的kvm,专门把qemu中支持kvm的部分提取出来做成了qemu-kvm包
    ln -sv /usr/libexec/qemu-kvm /usr/bin/
    但红帽并不推荐用qemu,在虚拟机控制软件他们推广自己研发的libvirt工具集。因此安装qemu-kvm后,qemu-kvm的yum安装路径没有放在环境变量Path默认的路径中,制造使用不便。所以在这里加了软链接,这样使用中不需要全路径了。红帽坏的666啊…
    qemu-kvm -help

    qemu-img
    convert 无损格式转换
    resize 更改磁盘大小
    info 显示映像文件信息

    [root@localhost ~]# qemu-img info cirros-0.3.4-x86_64-disk.img 
    image: cirros-0.3.4-x86_64-disk.img
    file format: qcow2
    virtual size: 39M (41126400 bytes)
    disk size: 13M
    cluster_size: 65536
    Format specific information:
    compat: 0.10
    

    运行第一个虚拟镜像

    [root@localhost seabios]# qemu-kvm -m 128 -smp 1 -name testcirros -hda ~/cirros-0.3.4-x86_64-disk.img
    could not load PC BIOS 'bios-256k.bin'
    

    使用 find / -name bios-256k.bin 我发现,bios-256k.bin是一个软连接文件,链接的是上层目录中,seabiso目录下的bios-256k.bin,但是seabios目录下并没有bios-256k.bin这个文件,这可能是redhat搞的鬼,就像qemu-kvm本身并不在PATH环境变量中一样,所以,我复制了seabios目录下的bios.bin 为bios-256k.bin,这样下来,qemu-kvm就可以启动了,我们可以再加上–nographic选项不使用图形化启动!太黑了!

    也可以使用-cpu选项,指定模拟的cpu类型

    -cpu model:设定CPU类型,如coreduo、qemu64、host等 qemu-kvm -cpu ?
          	     # qemu-kvm -m 128 -cpu core2duo(host) -smp 1 -name testcirros -hda ~/cirros-0.3.4-x86_64-disk.img
    

    再次执行,通过

    [root@localhost seabios]# qemu-kvm -m 128 -smp 1 -name testcirros -hda ~/cirros-0.3.4-x86_64-disk.img
    VNC server running on `::1:5900'
    

    使用VNC,且只监听在本机,为了安全。。。
    安装tigervnc

    [root@localhost ~]yum install tigervnc -y
    [root@localhost ~]# rpm -ql tigervnc
    /usr/bin/vncviewer
    /usr/share/applications/vncviewer.desktop
    /usr/share/doc/tigervnc-1.8.0
    /usr/share/doc/tigervnc-1.8.0/README.txt
    

    使用vncviewer连接

    [root@localhost ~]# vncviewer :5900
    

    在这里插入图片描述
    用户名密码都在,直接登录
    使用以下命令可切换到管理员

    sudo su -
    

    ctrl+alt+2切换到监控平台
    help 可以看到众多命令
    info 命令可以显示信息
    在这里插入图片描述
    可实现很多管理功能

    第一个虚拟机启动完成
    当前的虚拟机相当于在CentOS主机上的一个进程,可以用ps aux查看

    root      21595  1.8  3.7 810220 107688 pts/0   Sl+  03:15   0:18 qemu-kvm -m 128 -smp 1 -name testcirros -hda /root/cirros-0.3.4-x86_64-disk.img
    

    关闭虚拟机,发送关机信号

    kill 21595 真机
    halt 或 poweroff 虚拟机内部输入命令
    

    使用复杂一些的启动设置如下

    qemu-kvm -m 128 -name test -smp 1 -drive file=~/cirros-0.3.4-x86_64-disk.img,if=virtio,media=disk,cache=writeback,format=qcow2 
    

    指定了虚拟磁盘接口类型、介质类型、cache为回写、磁盘文件格式为qcow2

    fdisk -l
    Disk /dev/vda 变成了虚拟磁盘,不再是sda

    ls /sys/bus 看总线类型,出现了virtio

    ls /sys/bus/virtio/devices
    virtio0
    

    在这里插入图片描述

    从头创建一个虚拟机
    建立一个磁盘映像文件,winxp和centos各一个

    [root@localhost ~]# qemu-img create -f qcow2 /images/kvm/winxp.qcow2 -o size=10G,preallocation=metadata
    Formatting '/images/kvm/winxp.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 preallocation='metadata' lazy_refcounts=off 
    
    [root@localhost ~]# qemu-img create -f qcow2 /images/kvm/centos7.qcow2 -o size=10G,preallocation=metadata
    Formatting '/images/kvm/centos7.qcow2', fmt=qcow2 size=10737418240 encryption=off cluster_size=65536 preallocation='metadata' lazy_refcounts=off
    

    开始创建虚拟机,并安装系统

    qemu-kvm -m 1024 -name centos7 -smp 1 -cpu host -drive file=/images/kvm/centos7.qcow2,if=virtio,media=disk,cache=writeback,format=qcow2 -drive file=~/CentOS-7-x86_64-Minimal-1810.iso,media=cdrom -boot order=dc,once=d
    VNC server running on `::1:5900'
    

    调用VNC
    在这里插入图片描述
    安装完成后启动

     qemu-kvm -m 1024 -name centos7 -smp 1 -cpu host -drive file=/images/kvm/centos7.qcow2,if=virtio,media=disk,cache=writeback,format=qcow2 -drive
    

    在这里插入图片描述
    成功了!

    可以在当前的界面中运行虚拟机 -nographic

    qemu-kvm -m 128 -name test -smp 1 -drive file=~/cirros-0.3.4-x86_64-disk.img,if=virtio,media=disk,cache=writeback,format=qcow2  -nographic
    

    网络选项:
    -net nic 定义net frontend
    -net user
    -net tap 定义net backend
    script=:启动脚本
    downscript=:停止脚本;
    桥设备
    bridge-utils.x86.64
    modinfo bridge

    				[root@localhost ~]# rpm -ql bridge-utils
    					/usr/sbin/brctl
    					/usr/share/doc/bridge-utils-1.5
    					/usr/share/doc/bridge-utils-1.5/AUTHORS
    					/usr/share/doc/bridge-utils-1.5/COPYING
    					/usr/share/doc/bridge-utils-1.5/FAQ
    					/usr/share/doc/bridge-utils-1.5/HOWTO
    					/usr/share/man/man8/brctl.8.gz
    					brctl -h
    

    创建桥设备

    [root@localhost ~]# brctl addbr br0 
    [root@localhost ~]# ifconfig -a
    br0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
    				        inet 192.168.11.73  netmask 255.255.255.0  broadcast 192.168.11.255
    				        ether 06:17:e5:1a:5e:f7  txqueuelen 1000  (Ethernet)
    				        RX packets 0  bytes 0 (0.0 B)
    				        RX errors 0  dropped 0  overruns 0  frame 0
    				        TX packets 0  bytes 0 (0.0 B)
    				        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    [root@localhost ~]# brctl stp br0 off
    [root@localhost ~]# brctl show
    			bridge name     bridge id               STP enabled     interfaces
    			br0             8000.000000000000       no
    			virbr0          8000.5254005abc25       yes             virbr0-nic
    [root@localhost ~]# brctl delbr br0
    

    激活br0

    [root@localhost ~]# ip link set dev br0 down
    [root@localhost ~]# ip link set dev br0 up
    [root@localhost ~]# ip link set dev br0 down
    [root@localhost ~]# ifconfig br0 up
    

    查看本机支持的网卡类别

    [root@localhost ~]# qemu-kvm -net nic,model=?
    			qemu: Supported NIC models: ne2k_pci,i82551,i82557b,i82559er,rtl8139,e1000,pcnet,virtio
    

    添加两块网卡启动虚拟机,必须要有启动脚本(/etc/qemu-ifup),通过脚本网卡挂接到桥上

    [root@localhost ~]# qemu-kvm -m 128 -name test -smp 1 -drive file=~/cirros-0.3.4-x86_64-disk.img,if=virtio,media=disk,cache=writeback,format=qcow2 -nographic -net nic,model=virtio -net tap,ifname=vif0.0 -net nic -net tap,ifname=vif0.1 
    

    因为没有启动脚本,报错:

    [root@localhost ~]# qemu-kvm -m 128 -name test -smp 1 -drive file=~/cirros-0.3.4-x86_64-disk.img,if=virtio,media=disk,cache=writeback,format=qcow2 -nographic -net nic,model=virtio -net tap,ifname=vif0.0 
    /etc/qemu-ifup: could not launch network script
    qemu-kvm: -net tap,name=vif0.0: Device 'tap' could not be initialized
    

    qemu-ifup脚本 vif0.0会传递为$1

    			#!/bin/bash
    			#
    			bridge=br0
    
    			if [ -n "$1" ]; then
    				ip link set $1 up
    				sleep 1
    				brctl addif $bridge $1
    				[ $? -eq 0 ] && exit 0 || exit 1
    			else 
    				echo "Error: no interface specified."
    			exit 1
    			fi
    

    qemu-ifdown脚本

    			#!/bin/bash
    			#
    			bridge=br0
    
    			if [ -n "$1" ]; then
    				brctl delif $bridge $1
    				ip link set $1 down
    				exit 0
    			
    			else 
    				echo "Error: no interface specified."
    				exit 1
    			fi
    

    加上脚本运行,放在默认位置,不用只script也是可以的

    [root@localhost ~]# qemu-kvm -m 128 -name test -smp 1 -drive file=~/cirros-0.3.4-x86_64-disk.img,if=virtio,media=disk,cache=writeback,format=qcow2 -nographic -net nic,model=e1000 -net tap,ifname=vif0.0,script=/etc/qemu-ifup
    

    运行虚拟机后,给虚拟机配置ip

    #ifconfig eth0 192.168.11.81/24
    

    启动多个虚拟机默认MAC地址相同,因此需要指定mac=52:54:00:12:34:57;52:54:00固定,默认值是52:54:00:12:34:56

    [root@localhost ~]# qemu-kvm -m 128 -name test -smp 1 -drive file=~/cirros-0.3.4-x86_64-disk.img,if=virtio,media=disk,cache=writeback,format=qcow2 -nographic -net nic,model=e1000,macaddr=52:54:00:12:34:57 -net tap,ifname=vif0.0,script=/etc/qemu-ifup
    

    pxe启动虚拟机安装

    qemu-img create /images/kvm/centos.img -o size 120G,preallocation=metadata -f qcow2
    qemu-kvm -m 512 -name centos -smp 2  -drive file=/images/kvm/centos.img,if=virtio,media=disk,cache=writeback,format=qcow2 -net nic,macaddr=52:54:00:55:32:19 -net tap,ifname=br0,model=virtio,script=/etc/qemu-ifup -boot order=nc,once=n --nographic
    

    启动已经建好的虚拟机

    [root@localhost lib64]# qemu-kvm -m 1024 -name centos7.81 -smp 2 -cpu host -drive file=/images/kvm/centos7-81.img,if=virtio,media=disk,cache=writeback,format=qcow2 -net nic,model=virtio,macaddr=52:54:00:12:34:81,model=virtio -net tap,ifname=vif0.0
    

    openstack、kvm、qemu-kvm、libvirt、xen的关系

    KVM是最底层的hypervisor,它是用来模拟CPU的运行,它缺少了对network和周边I/O的支持,所以我们是没法直接用它的。QEMU-KVM就是一个完整的模拟器,它是建基于KVM上面的,它提供了完整的网络和I/O支持. Openstack不会直接控制qemu-kvm,它会用一个叫libvit的库去间接控制qemu-lvm, libvirt提供了夸VM平台的功能,它可以控制除了QEMU的模拟器,包括vmware, virtualbox xen等等。所以为了openstack的夸VM性,所以openstack只会用libvirt而不直接用qemu-kvm。libvirt还提供了一些高级的功能,例如pool/vol管理。

    展开全文
  • 一:介绍Hypervisor:是一种“虚拟机监视器(VMM)”,它介于裸机硬件和操作系统之间的组件,通过它, 可以在物理服务器上安装多个操作系统...KVM:Linux 2.6X版本中加入的内核模块,分为两个:kvm.ko 和 kvm_intel.k...

    一:介绍

    Hypervisor:是一种“虚拟机监视器(VMM)”,它介于裸机硬件和操作系统之间的组件,通过它, 可以在物理服务器上安装多个操作系统。

    VNC:是一个在UNIX和Linux平台上的远程控制开源程序,有:vncserver,vncviewer,vncpasswd, 和 vncconnect。

    KVM:Linux 2.6X版本中加入的内核模块,分为两个:kvm.ko 和 kvm_intel.ko / kvm_amd.ko

    QEMU-KVM:KVM是一个可以虚拟CPU和内存的模块,但是不能够虚拟I/O等,所以它借鉴了QEMU,形成了一个QEMU-KVM的工具。利用它,用户可以很方便的操作KVM内核,虚拟出虚拟机、虚拟磁盘等。

    虚拟化分为:

    半虚拟化:完全用软件模拟,不需要硬件支持,速度慢 => xen

    全虚拟化:需要硬件支持,速度快 ==> KVM

    二:创建虚拟机

    1、查看cup是否支持虚拟 grep -E -o 'vmx|svm' --color /proc/cpuinfo

    注意:如果想在vmwareWorkstation的虚拟机中使用KVM,

    则需要在设置那里开启VT-X技术,如图:

    c7068bcbfc350e858d2e733c870f6d45.png

    2、查看Linux内核是否加载了kvm模块 lsmod | grep kvm

    3、加载KVM模块 modprobe kvm

    modprobe kvm_intel

    4、安装qemu-kvm,安装完成后会生成/usr/libexec/qemu-kvm,是用户空间操作kvm内核的接口,安装后,会自动加载上面的KVM模块 yum install -y qemu-kvm

    5、通过网络上传ISO镜像文件 通过CRT的Alt + p 打开ftp客户端上传即可

    6、生成一个8G的镜像文件,作为虚拟机的磁盘 qemu-img create -f raw /root/hadoop.img 8G 默认生成raw格式,给多少就一次性划分多少

    qemu-img create -f qcow2 /root/hadoop.img 8G 生成qcow2格式,用多少算多少

    7、使用qemu-kvm创建虚拟机(参数说明 -m 指定内存大小 -smp 指定cup数量 -boot启动顺序) /usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd

    -cdrom /iso/CentOS-6.6-x86_64-minimal.iso -hda /cloud/CentOS.img -vnc :1

    参数说明:

    -m 指定客户机内存大小,默认单位MB

    -smp 指定客户机cpu个数。SMP:(symmetric[sɪ'metrɪk] Multi-processing)对称多处理

    -boot 指定客户机系统启动顺序,order=cd是指先光盘再硬盘。c:CD-ROM d:Hard Disk

    -hda 指定客户机的IDE硬盘(即前面的创建的镜像文件)

    -cdrom 指定客户机的光驱

    8、安装vnc或使用vnc工具连接虚拟机,给虚拟机安装系统

    9、关闭虚拟机并再次启动虚拟机,指定vnc端口为5901(不需要指定cdrom,因为已经将操作系统安装到磁盘中了,当然指定也没有关系,因为会检测是否安装了操作系统!) /usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/CentOS.img -vnc :1

    三:配置网络(brigde、nat、host-only)

    注意:brctl和tunctl只是临时创建,并不会修改network-scripts下面的ifcfg-eth0信息,所以开机会恢复。

    说明:需要bridge-utils 和 tunctl 的支持。

    brctl是Linux下用来创建和管理以太网桥,在内核中建立、维护、检查网桥配置的命令 tunctl是用来创建tap以及tun模式的网桥端口。

    在计算机网络中TUN与TAP是操作系统内核中的虚拟网络设备。不同于普通靠硬件网路板卡实现的设备,这些虚拟的网络设备全部用软件实现,并向运行于操作系统上的软件提供与硬件的网络设备完全相同的功能。

    TAP等同于一个以太网设备,它操作第二层数据包如以太网数据帧。TUN模拟了网络层设备,操作第三层数据包比如IP数据封包。

    bridge桥接配置

    1、要安装bridge-utils tunctl yum install -y bridge-utils tunctl

    2、添加一个br0网桥(桥接类型) brctl addbr br0

    ifconfig br0 up

    3、hypervisor的etho也需要绑定到bridge上,一步执行完成(注意修改成自己的IP) brctl addif br0 eth0 && brctl stp br0 on && ifconfig eth0 0.0.0.0 &&

    ifconfig br0 192.168.33.250 netmask 255.255.255.0 && route add default gw 192.168.33.1

    4、创建TAP类型虚拟网卡设备,用于绑定虚拟机的网卡绑定 tunctl -t vnet0

    ifconfig vnet0 up

    brctl addif br0 vnet0

    brctl show

    5、创建虚拟机并关联网卡(可以连续带多个vnet) /usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -cdrom /kvmhost/iso/centos-6.7.iso

    -hda /kvmhost/kvms/test.img -net nic -net tap,ifname=vnet0,script=no,downscript=no

    -net nic -net tap,ifname=vnet1,script=no,downscript=no -vnc :1

    ab97eb23eed863c8105964536642fc25.png

    6、启动虚拟机并关联网卡(可以连续带多个vnet)并添加mac地址 /usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/Centos.img

    -net nic,macaddr=52:54:00:12:34:57 -net tap,ifname=vnet0,script=no,downscript=no

    7、编辑ifcfg-eth0 配置 静态ip(和物理机在同一个网段)

    配置子网掩码

    配置dns1

    配置默认网关(和物理机同一网关)

    8、重新启动network service network restart 即可

    host-only配置

    1、要安装bridge-utils tunctl yum install -y bridge-utils tunctl

    2、添加一个hostonlybr0网桥(桥接类型) brctl addbr hostonlybr0

    ifconfig hostonlybr0 up

    3、给网桥设置一个随意的ip地址(不需要吧eth0绑定到此网桥上,也就是和eth0隔离)

    4、创建TAP类型虚拟网卡设备,用于绑定虚拟机的网卡绑定 tunctl -t vnet0

    ifconfig vnet0 up

    brctl addif hostonlybr0 vnet0

    brctl show

    5、创建虚拟机并关联网卡

    /usr/libexec/qemu-kvm -m 4096 -smp 1 -boot order=cd -hda /cloud/Centos.img -net nic -net tap,ifname=vnet0,script=no,downscript=no

    6、启动虚拟机并关联网卡并添加mac地址

    /usr/libexec/qemu-kvm -m 2048 -smp 1 -boot order=cd -hda /cloud/Centos.img -net nic,macaddr=52:54:00:12:34:57 -net tap,ifname=vnet0,script=no,downscript=no

    7、编辑ifcfg-eth0 配置 静态ip(随意一个网段,大家都在一起即可)

    配置子网掩码

    配置dns1

    配置默认网关(和物理机同一网关)

    8、重新启动network service network restart 即可

    四、qemu-img是一个比较重要的工具,是QEMU的磁盘管理工具。

    1、查看帮助信息 qemu-img -h

    2、查看镜像文件信息 qemu-img info /cloud/CentOS.img

    3、创建一个磁盘镜像文件 qemu-img create -f qcow2 /cloud/itcast.img 10G

    4、将raw格式转换成qcow2格式 qemu-img convert -O qcow2 /cloud/itcast.raw /cloud/itcast.qcow2

    5、修改镜像大小 qemu-img resize /cloud/test.img +2G

    6、检查镜像 qemu-img check /cloud/itcast.qcow2

    7、镜像格式 qemu-img支持多种镜像格式,可通过qemu-img -h命令查看,常用的有qcow2,raw

    raw:原始的磁盘镜像格式,是qemu-img命令默认的文件格式,这种格式的文件的优势在于它非常

    简单且非常容易移植到其他模拟器上使用。特点一开始就让镜像实际占用了分配空间,但是写入速度稍快一下。

    qcow2:这种格式是QEMU目前推荐的镜像格式,它是功能最多的格式,它支持稀疏文件以节省存储空间,

    支持加密、压缩、快照等功能

    QEMU monitor是QEMU与用户交互的一种控制台,一般用于为QEMU模拟器提供较为复杂的功能,

    QEMU monitor的切换 "Ctrl + Alt + 2" --> QEMU monitor状态

    "Ctrl + Alt + 1" --> 客户机标准显示窗口

    显示系统命令状态:info

    查看QEMU的版本信息 info versions

    查看当前QEMU是否有KVM的支持 info kvm

    info name

    info status

    查看客户机各个vCPU的信息 info cpus

    查看块设备信息,如硬盘、软盘、光驱等 info block

    查看客户机的网络配置信息 info network

    显示当前系统中已保存的客户机快照信息 info snapshots

    查看当前客户机的迁移状态 info migrate

    显示当前客户机的VNC状态 info vnc

    查看QEMU monitor中命令执行的历史 info history

    创建快照 savevm snap20150406

    恢复快照 loadvm snap20150406

    删除快照 delvm snap20150406

    展开全文
  • QEMU-KVM安装macOS系统

    千次阅读 2021-04-03 22:27:37
    此文档是介绍在QEMU/KVM中安装macOS VM的操作。 大多数内容翻译自foxlet所写的项目[README.md](https://github.com/lioneie/macOS-Simple-KVM/blob/master/README.md),当然也修改和增加了一些内容。

    macOS-Simple-KVM

    此文档是介绍在QEMU/KVM中安装macOS VM的操作。

    大多数内容翻译自foxlet所写的项目README.md,当然也修改和增加了一些内容。

    项目github链接(forked from foxlet)。

    此项目由@FoxletFox发起,获得其他许多人的帮助。

    macOS和KVM的新手? 请看the FAQs

    说明

    需要说明的是苹果公司不允许macOS系统在非MAC电脑上安装,所以本文的方法请不要用于商业用途,仅供想折腾的极客参考。

    我(陈孝松)有一台macbook pro,但还是更喜欢用Linux(Fedora),有极少数的商业软件没有提供Linux版本,又不想用windows系统,所以偶尔使用QEMU/KVM下安装的macOS系统。

    准备

    你将需要一个具有qemu(3.1或更高版本),python3pip和KVM模块已启用的Linux系统。 不需要 Mac电脑。 不同发行版的一些安装命令(本人用的是Fedora):

    sudo apt-get install qemu-system qemu-utils python3 python3-pip  # for Ubuntu, Debian, Mint, and PopOS.
    sudo pacman -S qemu python python-pip python-wheel  # for Arch.
    sudo xbps-install -Su qemu python3 python3-pip   # for Void Linux.
    sudo zypper in qemu-tools qemu-kvm qemu-x86 qemu-audio-pa python3-pip  # for openSUSE Tumbleweed
    sudo dnf install @virtualization -y # for Fedora
    sudo emerge -a qemu python:3.4 pip # for Gentoo
    

    第1步

    运行jumpstart.sh脚本下载macOS的安装介质(需要连接互联网)。 默认安装使用Catalina,但是你可以通过添加--high-sierra--mojave--catalina来选择要获取的版本。 例如:

    ./jumpstart.sh --catalina
    

    注意:如果已经下载了BaseSystem.img,则可以跳过此步骤。 如果你具有BaseSystem.dmg,则需要使用dmg2img工具进行转换。

    第2步

    使用qemu-img创建一个空硬盘,根据你的需要修改名称和硬盘大小:

    qemu-img create -f qcow2 MyDisk.qcow2 64G
    

    将以下内容添加到basic.sh脚本的末尾:

        -drive id=SystemDisk,if=none,file=MyDisk.qcow2 \
        -device ide-hd,bus=sata.4,drive=SystemDisk \
    

    注意:如果你运行在headless system (如 Cloud providers),,则需要加 -nographic , 要支持VNC需要加-vnc:0 -k en-us

    然后运行basic.sh来启动机器并安装macOS。 请记住首先在“磁盘工具”中进行分区!

    第2a步 (Virtual Machine Manager)

    1. 如果你想导入到Virt-Manager中进行进一步的配置(而不是只在QEMU上运行),只需运行sudo ./make.sh --add
    2. 运行上述命令后,在Virt-Manager的设置中添加 MyDisk.qcow2 SATA Disk。
    3. OVMF_CODE.fdOVMF_VARS-1024x768.fd 放到 /usr/share/OVMF/macOS/ 路径下(或其他路径,在home目录下会报OVMF_CODE.fd权限错误)。
    4. 在Virt-Manager中detail->overview->xml中将OVMF_*路径修改成/usr/share/OVMF/macOS/下的文件(要先允许xml编辑

    第2b步 (Headless Systems)

    如果你使用的是cloud-based/headless system,则可以使用headless.sh来设置一个快速的VNC实例。 设置是通过变量定义的,如以下示例所示。 默认情况下,VNC将在端口 5900 上启动。

    HEADLESS=1 MEM=1G CPUS=2 SYSTEM_DISK=MyDisk.qcow2 ./headless.sh
    

    第3步

    一切搞定!

    要微调系统并提高性能,请查看docs文件夹,以获取更多信息,如adding memory,设置bridged networking的更多信息,添加 passthrough hardware (for GPUs),调整screen resolution并启用声音功能。

    展开全文
  • QEMU: virsh/qemu-kvm 总结

    2021-04-23 11:57:36
    文章目录 重新创建vm virsh dump 创建vm,基于vmlinz 错误总结 Failed to create chardev ramdisk 的大小超过80M,boot failure 指定串口速率...不如串口不能输入命令 参考 https://abelsu7.top/2019/03/28/kvm-review/
  • CentOS 6加载了KVM模块后,我们是无法进行虚拟机的管理的,如果需要管理KVM虚拟机,还需要管理工具才可以。先看一下KVM的管理工具栈。 yum grouplist |grep -i... qemu-kvm Virtualization Client: python-virt...
  • 研究下Qemu-KVM虚拟机

    2021-11-09 00:46:14
    做了云桌面后,用到了很多虚拟化的东西,Qemu-KVM虚拟机就是其中之一,为了更好的了解和使用Qemu,最近看了下Qemu的原理实现,都是使用C语言写的,对于我这种只是了解C语言的来说看着...
  • qemu-kvm安装过程

    2021-10-27 19:13:55
    git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git ./configure --enable-kvm make 遇到下面报错: In file included from ./qemu-common.h:6:0, from block/qcow2-snapshot.c:25: block/qcow2-snapshot.c: 在...
  • qemu-kvm
  • KVM虚拟化 KVM必须开启虚拟化 环境搭建 网卡名分别是ens33和ens34 ens33 IP 192.168.20.110 ens34 IP 192.168.20.111 我在VMware里装了个centos7,把centos7当做宿主机使用 话不多说直接开始使用,详细原理见...
  • 使用qemu搭建内核调试环境编译内核安装qemu-kvm制作根文件系统启动虚拟机 编译内核 安装qemu-kvm 制作根文件系统 启动虚拟机
  • qemu-kvm安装虚拟机

    2021-06-08 14:47:50
    10.5.5-rc2.img 20G 启动客户机,并在其中用准备好的ISO安装系统,命令行如下: [root@jay-linux kvm_demo]# qemu-system-x86_64 -m 2048 -smp 4 –boot order=dc -hda /root/kvm_demo/rhel6u3.img -cdrom /root/kvm...
  • centos7 升级qemu-kvm

    2021-05-16 09:32:30
    先卸载qemu-kvmyum –y remove qemu-kvmyum -y install gcc gcc-c++ automake libtool zlib-devel glib2-devel bzip2-devel libuuid-devel spice-protocol spice-server-devel usbredir-devel libaio-devel编译安装...
  • qemu-kvm PAGE 1 [文档标题 qemu-kvm 步骤1虚拟化环境配置 ?1查看硬件是否支持虚拟化根据设备情况显示可能不同 #cat /proc/cpuinfo | egrep 'vmx|svm' ?注:如果输出的结果包含vmx它是Intel处理器虚拟机技术标志 ?...
  • 主讲朱晓彦 qemu-kvm 01 qemu-kvm 步骤1虚拟化环境配置 查看硬件是否支持虚拟化根据设备情况显示可能不同 # cat /proc/cpuinfo | egrep 'vmx|svm' qemu-kvm 步骤2配置yum环境 关闭防火墙并关闭 SELinux 我们把/opt/...
  • 个人笔记,不保证正确本文的目标是搭建一个 QEMU/KVM 学习环境,带 GUI。一、安装 QUEU/KVMQEMU/KVM 环境需要安装很多的组件,它们各司其职:qemu: 模拟各类输入输出设备(网卡、磁盘、USB端口等)qemu 底层使用 kvm ...
  • 一、漏洞简介近期,社区在QEMU-KVM虚拟化平台的vhost内核模块中发现了一个缓冲区溢出漏洞(CVE-2019-14835),可能在虚拟机热迁移过程中被滥用,拥有特权的Guest用户可以将长度无效的描述符传递给宿主机,并升级其在...
  • 本文将会介绍如何利用spice、qemu-kvm以及libvird源码编译并进行虚机的创建。相信大家平时搭建虚机用的可能比较多的是诸如使用VMware类的工具,这些工具也都基本能够满足我们的需求,但是要想从事虚拟化工作以及针对...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,785
精华内容 9,514
关键字:

QEMU-kvm