KVM虛擬化配置

KVM虛擬化

虛擬化概念

KVM虛擬化概念詳講linux

虛擬化配置

  • 首先開啓虛擬化的支持 而且增長一個50g的硬盤

image-20210318080747269

  • free查看內存 image-20210318081031204網絡

  • grep -Ei 'vmx|svm' /proc/cpuinfo查看虛擬機是支持虛擬化dom

image-20210317084204026

  • lsblk 查看是否增長了一塊新的磁盤 這裏咱們看到新增了一塊50g的內存

image-20210317084245190

  • 接下來咱們格式化硬盤格式化爲ext4格式 mkfs.ext4 /dev/sdb
  • blkid /dev/sdb查看磁盤信息

image-20210317084320436

  • 建立掛載目錄 mkdir /kvm_data
  • mount /dev/sdb /kvm_data 掛載到/kvm_data
  • 爲使/kvm_data開機自動掛載 須要修改‘/etc/fstab’
    • 添加 /dev/sdb /kvm_data ext4 defaults 0 0
  • 關閉防火牆 和 seLinux

安裝KVM

  • yum install -y virt-* libvirt bridge-utils qemu-img

啓動KVM性能

  • 配置網卡 首先複製原先的網卡 image-20210318082206762測試

  • 接下來修改ifcfg-broui

    • TYPE="Bridge"
      BOOTPROTO="none"
      DEFROUTE="yes"
      NAME="bro"
      DEVICE="bro"
      ONBOOT="yes"
      IPADDR="192.168.207.143"
      NETMASK="255.255.255.0"
      GATEWAY="192.168.207.2"
      DNS1=114.114.114.114
      DNS2=8.8.8.8
  • 修改ifcfg-ens33操作系統

    • TYPE="Ethernet"
      NAME="ens33"
      DEVICE="ens33"
      ONBOOT="yes"
      BOOTPROTO="none"
      BRIDGE="bro"
  • systemctl restart network 重啓網卡.net

image-20210317085553750

啓動libvirtd服務

首先檢查KVM模塊是否加載,命令以下(lsmod命令用於顯示已載入系統的模塊):rest

  • lsmod|grep kvmcode

    • image-20210317085616209
  • systemctl start libvirtd開啓libvirtd

image-20210317085654011

  • brctl show 查看有兩個網卡

    • image-20210317085731624
  • 上傳Centos7到/tmp/目錄下

  • virt-install --name=test --memory=512,maxmemory=1024
    --vcpus=1,maxvcpus=2 --os-type=linux --os-variant=rhel7
    --location=/tmp/CentOS-7-x86_64-DVD-1511.iso
    --disk path=/kvm_data/test.img,size=10 
    --bridge=br0
    --graphics=none
    --console=pty,target_type=serial 
    --extra-args="console=tty0 console=ttyS0"
  • 輸入上面的命令開始安裝虛擬機

  • 命令解釋:

     --name:指定虛擬機的名稱。
     --memory:指定分配給虛擬機的內存資源大小。
     maxmemory:指定可調節的最大內存資源大小,由於KVM支持熱調整虛擬機的資源。
     --vcpus:指定分配給虛擬機的CPU核心數量。
     maxvcpus:指定可調節的最大CPU核心數量。
     --os-type:指定虛擬機安裝的操做系統類型。
     --os-variant:指定系統的發行版本。
     --location:指定ISO鏡像文件所在的路徑,支持使用網絡資源路徑,也就是說可使用URL。
     --disk path:指定虛擬硬盤所存放的路徑及名稱,size則是指定該硬盤的可用大小,單位是G。
     --bridge:指定使用哪個橋接網卡,也就是說使用橋接的網絡模式。
     --graphics:指定是否開啓圖形。
     --console:定義終端的屬性,target_type 則是定義終端的類型。
     --extra-args:定義終端額外的參數。
  • 開機後進入設置界面 對時區 root密碼等進行設置

虛擬機管理

  • virsh list 查看虛擬機列表 只能看見已經開啓的虛擬機

image-20210317101516415

  • virsh list --all查看全部的虛擬機
  • virsh console test進入指定的虛擬機

vrish經常使用命令,命令以下:

virsh shutdown test 
//關閉虛擬機
virsh start test 
//開啓虛擬機
virsh destroy test
//相似stop,這個是強制中止
virsh undefine test
//完全銷燬虛擬機,會刪除虛擬機配置文件,virsh list --all就看不到
virsh autostart test
//宿主機開機該虛擬機也開機
virsh autostart --disable test
//解除開機啓動
virsh suspend test
//掛起
virsh resume test
//恢復

克隆虛擬機

  • 克隆虛擬機以前必需要關閉虛擬機

  • virt-clone --original test --name test02 --file

image-20210317102111130

 --original:指定克隆源虛擬機。
 --name:指定克隆後的虛擬機名字。
 --file:指定目標虛擬機的虛擬磁盤文件
  • 查看虛擬機是否增長 test02 ls /etc/libvirt/qemu/

image-20210317102254381

快照

​ 快照是在咱們使用Vmware的時候,很經常使用的一個功能。它能夠回到以前的某一狀態。在KVM中RAW格式的虛擬磁盤不支持作快照,qcow2支持。

  • 建立快照 virsh snapshot-create test

  • qemu-img info /kvm_data/test.img 查看test.img信息 而且同時查看 快照列表

    • image-20210317102412346
  • virsh snapshot-list test 列出全部快照

    • image-20210317102445073
  • virsh snapshot-current test 查看當前快照詳細信息

  • ls /var/lib/libvirt/qemu/snapshot/test/查看全部快照配置文件

  • 恢復指定快照 virsh snapshot-revert test 1588485687

  • 刪除指定快照 virsh snapshot-delete test 1588485687

磁盤格式

  • qemu-img info /kvm_data/test.img 查看磁盤格式信息

    • image-20210317102757799
  • 建立2 GB的RAW格式磁盤 qemu-img create -f raw /kvm_data/test_1.img 2G

    • -f 指定磁盤類型 後面跟3個參數 磁盤類型、磁盤文件、大小
  • qemu-img convert -O qcow2 /kvm_data/test_1.img /kvm_data/test_1.qcow2 將磁盤轉換爲qcow2格式

    • convert -O 進行格式轉換
  • ls -lh /kvm_data/test_1.img

image-20210317103717474

能夠看到qcow2文件比較小,raw文件大小和咱們指定空間大小同樣是2G raw格式的磁盤性能比qcow2要好,可是raw格式的磁盤沒法作快照

  • qemu-img convert -O raw /kvm_data/test02.img /kvm_data/test02_2.img 將test02轉換爲raw格式

    • image-20210317103943312
  • 更改磁盤格式和文件路徑,而後啓動test02虛擬機,命令以下: virsh edit test02

    • /找到上面這部分將qcow修改成raw,/kvm_data/test02.img改成

image-20210318085418170

磁盤擴容

  • 首先擴容RAW格式,命令以下: qemu-img resize /kvm_data/test02_2.img +2G

image-20210317105727178

  • qemu-img info /kvm_data/test02_2.img 查看磁盤信息 大小增長了2g

image-20210317105820954

  • 進入虛擬機 virsh console test02 使用 fdisk -l 查看磁盤列表

image-20210317110132772

  • 發現這時虛擬機的磁盤大小仍是10g 因此咱們須要從新啓動虛擬機後 再進行測試

image-20210317110147004

  • 這樣咱們看到已經變爲12g了 接下來對該磁盤進行分區 fdisk /dev/vda

  • 分區完成後 使用p查看磁盤列表:

image-20210317110608577

  • 除了對已有磁盤擴容外,還能夠額外增長磁盤,命令以下:
    • qemu-img create -f raw /kvm_data/test02_3.raw 5G 建立一塊新的5g的磁盤
  • virsh edit test02 編輯虛擬機test02
  • 主要修改source file名稱爲/kvm_data/test02_3.raw,target dev改成vdb,slot改成0x09,不與0x06衝突便可。

image-20210317111328412

  • 關閉虛擬機進行測試:

image-20210317111522073

接下來,咱們擴容qcow2格式的磁盤,命令以下:

  • qemu-img resize /kvm_data/test.img +2G 若提示qemu-img: Can't resize an image which has snapshots,須要刪除快照

  • 使用命令 qemu-img info test.img 查看虛擬機信息

image-20210317111750108

  • 重啓虛擬機 進行查看 fdisk -l

image-20210317112528721

調整CPU內存、網卡

  • 查看虛擬機配置信息 virsh dominfo test
  • 修改配置文件 virsh edit test

image-20210317141143424

  • 再次查看配置信息 virsh dominfo test

image-20210317141031960

  • 還能夠動態修改 內存和cpu信息 動態修改重啓後失效
    • virsh setmem test 800m 修改動態內存
    • virsh setvcpus test 2 修改cpu數 只能增長不能減小
  • 再次查看虛擬機配置信息

image-20210317141412875

  • virsh dumpxml test > /etc/libvirt/qemu/test.xml把配置寫到配置文件中

配置網卡

  • virsh domiflist test 列出網卡列表

image-20210317141550289

  • 增長一塊新的網卡,並設置爲NAT網絡模式(virbr0相似VMware的VMnet8),這裏若是寫--source br0,則網絡模式爲橋接,命令以下:
    • virsh attach-interface test --type bridge --source virbr0
    • virsh domiflist test

image-20210317141807147

  • virsh dumpxml test > /etc/libvirt/qemu/test.xml把配置文件進行備份

  • 進入虛擬機查看網卡信息 ip a

image-20210317150816752

  • 此方法在重啓虛擬機後 網卡自動消失 若是想要網卡永久存在 須要將網卡添加到配置文件中
    • image-20210318091356364

遷移虛擬機

  • 遷移虛擬機必需要先關閉
    • virsh domblklist test 查看虛擬磁盤所在目錄
  • virsh dumpxml test > /etc/libvirt/qemu/test03.xml 若是是遠程虛擬機須要把該文件拷貝到遠程上去
  • rsync -av /kvm_data/test.img /kvm_data/test03.img 若是是遷移到遠程,則須要把該磁盤文件拷貝到遠程機器上

image-20210317151623330

  • 由於是遷移到本機,配置文件用的是test子機的配置,不改會有衝突,因此須要修改該文件。若是是遠程機器不用修改,命令以下:

    • vi /etc/libvirt/qemu/test03.xml
    • image-20210318091754643
  • virsh define /etc/libvirt/qemu/test03.xml 定義新的虛擬機

  • virsh list --all查看全部的虛擬機

image-20210317151910428

相關文章
相關標籤/搜索