1. 程式人生 > >KVM+Qemu+Libvirt實戰

KVM+Qemu+Libvirt實戰

等等 eboot blog 輸入 splay 終端 服務 內存 1-1

上一篇的文章是為了給這一篇文件提供理論的基礎,在這篇文章中我將帶大家一起來實現在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、虛擬磁盤管理

    技術分享

  

        

        

            

  

            

          

    

KVM+Qemu+Libvirt實戰