一、qemu-kvm建立虛擬機並設置網絡

一:介紹

  • Hypervisor:是一種「虛擬機監視器(VMM)」,它介於裸機硬件和操做系統之間的組件,經過它, 能夠在物理服務器上安裝多個操做系統。centos

  • 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內核,虛擬出虛擬機、虛擬磁盤等。工具

  • 虛擬化分爲:oop

    半虛擬化:徹底用軟件模擬,不須要硬件支持,速度慢 => xenui

    全虛擬化:須要硬件支持,速度快 ==> KVM加密

二:建立虛擬機

  • 一、查看cup是否支持虛擬操作系統

    grep -E -o 'vmx|svm' --color /proc/cpuinfo

    注意:若是想在vmwareWorkstation的虛擬機中使用KVM,計算機網絡

    則須要在設置那裏開啓VT-X技術,如圖: rest

  • 二、查看Linux內核是否加載了kvm模塊

    lsmod | grep kvm
  • 三、加載KVM模塊

    modprobe kvm
      modprobe kvm_intel
  • 四、安裝qemu-kvm,安裝完成後會生成/usr/libexec/qemu-kvm,是用戶空間操做kvm內核的接口,安裝後,會自動加載上面的KVM模塊

    yum install -y qemu-kvm
  • 五、經過網絡上傳ISO鏡像文件

    經過CRT的Alt + p 打開ftp客戶端上傳便可
  • 六、生成一個8G的鏡像文件,做爲虛擬機的磁盤

    qemu-img create  -f  raw  /root/hadoop.img 8G      默認生成raw格式,給多少就一次性劃分多少
      qemu-img create  -f  qcow2  /root/hadoop.img 8G           生成qcow2格式,用多少算多少
  • 七、使用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 指定客戶機的光驅
  • 八、安裝vnc或使用vnc工具鏈接虛擬機,給虛擬機安裝系統

  • 九、關閉虛擬機並再次啓動虛擬機,指定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橋接配置

  • 一、要安裝bridge-utils tunctl

    yum install -y bridge-utils tunctl
  • 二、添加一個br0網橋(橋接類型)

    brctl addbr br0
      ifconfig br0 up
  • 三、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
  • 四、建立TAP類型虛擬網卡設備,用於綁定虛擬機的網卡綁定

    tunctl -t vnet0
      ifconfig vnet0 up
      brctl addif br0 vnet0
      brctl show
  • 五、建立虛擬機並關聯網卡(能夠連續帶多個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

  • 六、啓動虛擬機並關聯網卡(能夠連續帶多個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
  • 七、編輯ifcfg-eth0 配置

    靜態ip(和物理機在同一個網段)
    
      配置子網掩碼
    
      配置dns1
    
      配置默認網關(和物理機同一網關)
  • 八、從新啓動network service network restart 便可

##host-only配置

  • 一、要安裝bridge-utils tunctl

    yum install -y bridge-utils tunctl
  • 二、添加一個hostonlybr0網橋(橋接類型)

    brctl addbr hostonlybr0
      ifconfig hostonlybr0 up
  • 三、給網橋設置一個隨意的ip地址(不須要吧eth0綁定到此網橋上,也就是和eth0隔離)

  • 四、建立TAP類型虛擬網卡設備,用於綁定虛擬機的網卡綁定

    tunctl -t vnet0
      ifconfig vnet0 up
      brctl addif hostonlybr0 vnet0
      brctl show
  • 五、建立虛擬機並關聯網卡

    /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

  • 六、啓動虛擬機並關聯網卡並添加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

  • 七、編輯ifcfg-eth0 配置

    靜態ip(隨意一個網段,你們都在一塊兒便可)
    
      配置子網掩碼
    
      配置dns1
    
      配置默認網關(和物理機同一網關)
  • 八、從新啓動network service network restart 便可

4、qemu-img是一個比較重要的工具,是QEMU的磁盤管理工具。

  • 一、查看幫助信息

    qemu-img -h
  • 二、查看鏡像文件信息

    qemu-img info /cloud/CentOS.img
  • 三、建立一個磁盤鏡像文件

    qemu-img create -f qcow2 /cloud/itcast.img 10G
  • 四、將raw格式轉換成qcow2格式

    qemu-img convert -O qcow2 /cloud/itcast.raw  /cloud/itcast.qcow2
  • 五、修改鏡像大小

    qemu-img resize /cloud/test.img +2G
  • 六、檢查鏡像

    qemu-img check /cloud/itcast.qcow2
  • 七、鏡像格式

    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
相關文章
相關標籤/搜索