KVM+Qemu+Libvirt实战

上一篇的文章是为了给这一篇文件提供理论的基础,在这篇文章中我将带大家一起来实现在linux中虚拟出ubuntu的server版来

我们需要用KVM+Qemu+Libvirt来进行kvm全虚拟化,创建虚拟机并管理。

kvm是用来虚拟化或者说模拟CPU、内存等硬件的。

QEMU只是用来虚拟化硬盘的

libvirt提供了整个虚拟机的管理,比如说虚拟机的启动,停止,创建,删除等等。

其实KVM+Qemu+Libvirt就是模拟了一个VMWare软件

环境:

    宿主机:ubuntu16.04的server版

    kvm虚拟化中安装的虚拟化操作系统为:ubuntu16.04的server版

在这里中一定要记住不能使用VMWare中的ubuntu当宿主机去做KVM虚拟化,因为VMWare本身已经是虚拟化的了。

一、KVM支持检测及模块安装

  1.1、KVM支持检测

    1)CPU检测:sudo kvm-ok

    如果出现左边的提示,则表示支持kvm

      grep vmx /proc/cpuinfo

  1.2、安装KVM模块

    sudo apt install kvm

     模块启动检测:lsmod |grep kvm

二、虚拟磁盘管理

  2.1、安装qemu-utils工具

    sudo apt install qemu-utils

  2.2、对/dev/vdb分区为vdb1,挂载到"/vdb1"

    这个步骤在linux教程的文章中有,不懂得可以去查看

  2.3、创建虚拟磁盘

    sudo qemu-img create -f qcow2 /zyhdata/us1.qcow2 30G

    运行结果

        

  2.4、虚拟磁盘文件的检查

    sudo qemu-img info /zyhdata/us1.qcow2

      

三、libvirtd配置

  3.1、安装libvirtd工具

    sudo apt install vitinst

  3.2、检测该工具是否安装

    ps -ef|grep -i libvirtd  查看是否有libvirtd进程

  3.3、sudo vi /etc/libvirt/libvirtd.conf

    

    这些内容在该文件中或许都已经存在,也有可能是以注释的形式体现的,取消注释,如果值和上面中的不符合,就改成上面中的值。

  3.4、修改libvirt-lib文件

    sudo vi /etc/default/libvirt-bin中修改其中的libvirtd_opts="-d -l"

  3.5、修改qemu.conf文件

    sudo vi /etc/libvirt/qemu.conf中修改其中的vnc_listen="0.0.0.0"

  3.6、重启libvirt-bin服务

    sudo service libvirt-bin restart

    注意:如果你将你的Ubuntu操作系统升级到了16.10(04)版本,libvirt-bin服务跟操作系统由冲突,不能这样重启服务。只能是重启操作系统。

           sudo reboot

四、创建或安装(虚拟)操作系统

  4.1、命令安装

    1)使用virt-install命令进行安装,一步一步的执行

  

     我们就这样在console中一行一行的往下走。

    2)使用shell脚本来安装

      使用shell脚本安装(代替上面的1)),省得我们一行一行在console敲。  

      create_kvm.sh文件   

  1 DIST_QCOW2=$2
  2 ORIGN_ISO=$3
  3
  4 sudo virt-install   5 --connect qemu:///system \
  6 --name $1   7 --ram 2048   8 --vcpus=2   9 --disk path=${DIST_QCOW2},format=qcow2,size=20,bus=virtio  10 --cdrom $ORIGN_ISO  11 --vnc  12 --os-type linux  13 --accelerate  14 --hvm  15 --network bridge=virbr0,model=virtio  16 --noautoconsole

     注意:在上面的脚本文件中\代表的是续行符。在shell中已经使用的sudo

    接下来就是运行脚本进行安装了:        

shell/create_kvm.sh us1 /vdb1/us1.qcow2 /iso/ubuntu-17.04-server-amd64.iso   注意:      在这里脚本中有三个参数:                  第一个为虚拟机名字                  第二个为指定的虚拟磁盘                  第三个为ubuntu系统的镜像文件

   注意:镜像文件的选取:搭建集群保证所有的服务器的操作系统类型和操作系统版本以及内核版本最好都一致。 

      sudo apt dist-upgrade 升级软件以及内核

    3)使用virsh命令

       virsh list --all查看你所有虚拟机的情况

       visrh list 查看正在运行的虚拟机的情况

       

    4)使用vnc-viewer检测系统

       这里需要安装vnc viewer软件的,没有的话可以去我的博客中的随笔分类tools中下载

      作用:我们虚拟机已经在安装ubuntu系统了,但是后面有些安装过程中需要认为去操作的,所以我们需要去使用vnc viewer去检测它的安装

      url:host_ip:vnc编号(virsh vncdisplay vmname进行查看)

      

      

      进入这里就是我们熟悉的安装ubuntu的过程了。不知道怎么安装ubuntu的server版的可以去我的博客中的随笔分类tools中下载

  总结:至此,第一种创建虚拟机的方式就完成了,其实这种创建时非常的繁琐的。但是可以知道它的安装整个过程

  4.2、第二种创建虚拟机的方式:(生成相应的xml文件+qcow2文件=虚拟机)

     在上面我们已经安装了一个ubuntu系统,所以在us1.qcow2虚拟磁盘中是有ubuntu系统文件的和相对应的xml文件的。

    1)复制us1.qcow2到us2.qcow2

      

    2)复制us1.xml到us2.xml

     

    3)修改us2.xml文件中的四个地方      

      a)修改xml文件中的虚拟机名称。<name>us2</name>中的内容。
      b)修改UUID,16进制的值,随便修改其中几个值即可。
      c)修改新的虚拟机配置中的磁盘(虚拟磁盘文件)信息。
      d)修改MAC地址,16进制的值,随便修改其中几个值即可。

    4)重启libvirt-bin服务。如果重启该服务有错,请重启宿主机

       

  总结:使用这种安装非常的方便,只需要复制两个文件,修改一个文件就可以了。我这里会提供来两个文件给需要的人,可以去我的博客中的随笔分类tools中下载    

  4.3、第三种创建虚拟机的方式:virt-manager

      首先你需要去安装这个软件

      sudo apt install virt-manager

    1)终端输入

      virt-manager

      

    2)file-->add connection

      2.1)选中connection remote host

        

       2.2)file-->create new virtual machine

        第一步:

        

        第二步:

        

        第三步:

          

          接下来可以自己去尝试我就不详细解释了

五、虚拟机管理、虚拟机域管理、虚拟磁盘管理

  5.1、虚拟机管理

    

    

  5.2、虚拟机域管理

    

  5.3、虚拟磁盘管理

    

  

        

        

            

  

            

       

  

    

时间: 2024-08-01 10:45:24

KVM+Qemu+Libvirt实战的相关文章

Linux实现KVM+QEMU+libvirt的虚拟机环境 并使用virsh对虚拟机进行管理

说明: 本文使用的实验环境是运行在windows10上的Vmware workstation 12.5 pro,宿主机操作系统是Ubuntu16(机器名称为KVM_test),kvm+qemu+libvirt安装在KVM_test上.运行在KVM_test上的客户机操作系统也是Ubuntu16(机器名称为test_ubuntu). 本实验需要的软件有Vmware workstation.vnc viewer.ubuntu16的ios镜像.Vnc viewer需要注册码,请自行百度查找. 本实验所

[转] Kvm Qemu Libvirt

如需转载,请标明原文出处以及作者 陈锐 Rui Chen @kiwik 2014/5/4 17:53:39 写在最前面: 这段时间一直在墨西哥出差,其中遇到了各种糟心的事儿,关注我微博的同学可能都知道,但是要说的是,也有一些收获,一个就是终于在30岁的时候在墨西哥找到了一点点学英语的小窍门:另一个就是这段时间一直在想办法实现一个Ceilometer的blueprint,由于用到了 libvirt,QEMU和KVM,对虚拟化的理解有了一点点进步,总结了一下,写下这篇blog. 这篇文章是对KVM,

kvm/qemu/libvirt学习笔记 (1) qemu/kvm/libvirt介绍及虚拟化环境的安装

kvm简介 kvm最初由Quramnet公司开发,2008年被RedHat公司收购.kvm全称基于内核的虚拟机(Kernel-based Virtual Machine),它是Linux的一个内核模块.包括核心虚拟化模块kvm.ko,以及特定CPU的模块kvm-inet.ko或kvm-amd.ko,其实现需要宿主机的CPU支持硬件虚拟化.从Linux内核版本2.6.20开始,kvm模块就已经包含在Linux内核中了.在X86平台下CPU的硬件虚拟化技术有Inetl的VT-X和AMD的AMD-V.

初探KVM——使用libvirt的virsh管理kvm

一.KVM虚拟机的管理工具 准确来说,KVM 仅仅是 Linux 内核的一个模块.管理和创建完整的 KVM 虚拟机,需要更多的辅助工具. QEMU-KVM:在 Linux 系统中,首先我们可以用 modprobe 系统工具去加载 KVM 模块,如果用 RPM 安装 KVM 软件包,系统会在启动时自动加载模块.加载了模块后,才能进一步通过其他工具创建虚拟机.但仅有 KVM 模块是远远不够的,因为用户无法直接控制内核模块去做事情,还必须有一个用户空间的工具.关于用户空间的工具,KVM 的开发者选择了

53 kvm及libvirt、使用virsh管理kvm虚拟机、网络虚拟化技术基础、网络名称空间netns用法详解

01 kvm及libvirt [[email protected] ~]# yum install libvirt libvirt-client python-virtinst virt-manager virt-install -y [[email protected] ~]# yum -y install qemu-kvm [[email protected] ~]# systemctl start libvirtd.service #创建桥 [[email protected] ~]# v

[转] KVM/QEMU hypervisor driver

KVM/QEMU hypervisor driver Project Links Deployment pre-requisites Connections to QEMU driver Driver security architecture Driver instances POSIX users/groups Linux process capabilities SELinux basic confinement SELinux sVirt confinement AppArmor sVi

KVM&amp;amp;Libvirt基本概念及开发杂谈

导读 大家好,本次肖力分享的主题是KVM&Libvirt基本概念及开发杂谈,内容有些凌乱松散,主要基于自己早期整理的笔记内容和实践感悟,有些内容难免有失偏颇,望见谅.前面先介绍下需要了解的基本知识,大部分内容在肖力著作中都有更详细的解释,可阅读参考. KVM包含: 1.内核模块kvm.ko,用于核心虚拟框架. 2.包含与处理器相关的模块kvm-intel.ko,kvm-amd.ko 3.kvm需要使用经过修改定制的qemu软件提供用户空间工具 *内核组件已经包含在Linux内核2.6.20中了

KVM,QEMU核心分析

目前正在学习虚拟化软件KVM相关运行原理.过程,对源码的分析进行了总结,只是为了学习交流使用,若有不正确的地方,希望大家提出. 总入口:我的个人blog:luoye.me 文章列表(可直接点击进入) 1. kvm安装与启动过程说明 2. kvm安装与启动过程说明-Kernel源码编译方式 3. KVM硬件辅助虚拟化之 EPT(Extended Page Table 4. KVM硬件辅助虚拟化之 EPT in Nested Virtualization 5. KVM-Introduce 6. KV

kvm/qemu虚拟机桥接网络创建与配置

首先阐述一下kvm与qemu的关系,kvm是修改过的qemu,而且使用了硬件支持的仿真,仿真速度比QEMU快. 配置kvm/qemu的网络有两种方法.其一,默认方式为用户模式网络(Usermode Networking),数据包由NAT方式通过主机的接口进行传送. 其二,使用桥接方式(Bridged Networking),外部的机器可以直接联通到虚拟机,就像联通到你的主机一样. 第一,用户模式,虚拟机可以使用网络服务,但局域网中其他机器包括宿主机无法连接它.比如,它可以浏览网页,但外部机器不能