KVM虛擬化

    本篇博客爲個人KVM虛擬化精簡筆記


KVM:基於內核的虛擬機(英語:Kernel-based Virtual Machine,縮寫爲 KVM),是一種用於Linux內核中的虛擬化基礎設施,可以將Linux內核轉化爲一個hypervisor,其功能類似於window中軟件vmware。


實驗:在centos7上虛擬出centos7虛擬主機(KVM虛擬主機內存建議不低於4G)


安裝KVM虛擬化軟件


安裝依賴包:yum install -y libvirt* virt-* qemm-kvm*

(libvirt 虛擬機管理  virt 虛擬機安裝克隆 qemm-kvm 管理虛擬機磁盤)


啓動服務:systemctl start libvirtd

設置開啓自啓動:virsh is-enable libvirtd


配置第一臺kvm虛擬機:

[root@kvm ~]# virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /data/clsn.raw,format=raw,size=10 --cdrom /data/CentOS-7-x86_64-DVD-1511.iso --network network=default --graphics vnc,listen=0.0.0.0,port=5900 --noautoconsole


參數(說明)

--virt-type     要使用的管理程序名稱(kvm)

--os-type       系統類型

--os-variant    在客戶機上安裝的操作系統

--name          客戶機實例名稱

--memory        配置客戶機虛擬內存大小

--vcpus         配置客戶機虛擬cpu數量

--disk          指定存儲的各種選項

--cdrom         光驅安裝介質

--network       配置客戶機的網絡接口

--graphics      配置客戶機顯示設置


KVM虛擬主機基本操作


例:創建一臺KVM虛擬機:centos7

KVM配置文件位置:ls /etc/libvirt/qemu/centos7.xml

修改KVM虛擬機配置文件 :virsh edit centos7


備份虛擬機(關機):virsh dumpxml centos7.xml

查看創建的虛擬機:virsh list --all

刪除創建的虛擬機:virsh undefine centos7

導入虛擬機:virsh define centos7.xml

修改虛擬機名稱:virsh domrename centos7 clsn7

虛擬機掛起:virsh suspend clsn7

掛起後恢復:virsh resume clsn7

設置虛擬機開機自啓:virsh autostart clsn7

取消開機自啓:virsh autostart --disable clsn7


-----配置虛擬機console口登陸-----


在創建的KVM虛擬機內操作(僅限centos7系統)

[root@xuni ~]# grubby --update-kernel=ALL --args="console=ttyS0,115200n8"

[root@xuni ~]# reboot

重啓後,物理機連接虛擬機

[root@kvm~ ]# virsh console clsn7


-----KVM虛擬機磁盤管理-----


[root@kvm ~]#  mkdir /data/ && cd /data
創建一塊qcow2的虛擬硬盤
[root@kvm ~]# qemu-img create -f qcow2 clsn.qcow2 2G
查看當前虛擬機硬盤信息
[root@kvm ~]# qemu-img info /data/clsn.raw
raw轉qcow2格式
[root@kvm ~]# qemu-img convert -f raw -O qcow2 clsn.raw clsn.qcow2


[root@kvm data]# virsh edit clsn7 
修改前:
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/data/clsn.raw'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
修改後:
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/data/clsn.qcow2'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>


刪除原磁盤文件

[root@kvm data]# \rm clsn.raw


KVM虛擬機添加硬盤


進入硬盤存放目錄

創建一塊新的硬盤

[root@kvm data]# qemu-img create -f qcow2 clsn7-add01.qcow2 5G

爲虛擬機添加硬盤

[root@kvm data]# virsh attach-disk clsn7 /data/clsn7-add01.qcow2 vdb --live --cache=none --subdriver=qcow2

分離硬盤

[root@kvm data]# virsh detach-disk clsn7  vdb


KVM虛擬機快照管理


生成快照:virsh snapshot-create clsn7

查看主機快照列表:virsh snapshot-list clsn7

查看快照信息:virsh snapshot-info  clsn7 --snapshotname 1516607756

還原快照:virsh snapshot-revert clsn7 --snapshotname 1516607756

刪除快照:virsh snapshot-delete  clsn7 --snapshotname 1516607756

快照配置文件位置:/var/lib/libvirt/qemu/snapshot


kvm虛擬機克隆:virt-clone --auto-clone -o clsn7


KVM虛擬機網絡管理


編輯文件/etc/sysconfig/network-script/eth0 br0配置文件
# 查看 eth0 配置文件
[root@kvm ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BRIDGE="br0"
# 查看 br0 配置文件
[root@kvm ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0 
DEVICE="br0"
ONBOOT="yes"
TYPE="Bridge"
BOOTPROTO="none"
IPADDR="10.0.0.240"
NETMASK="255.255.255.0"
GATEWAY="10.0.0.254"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
DHCPV6C="no"
STP="on"
DELAY="0"
#查看宿主機網橋
[root@kvm ~]# brctl show 
bridge name    bridge id        STP enabled    interfaces
br0        8000.000c294d551b    yes        eth0
virbr0     8000.5254006aaa40    yes        virbr0-nic
==修改虛擬機==
[root@kvm ~]# virsh edit clsn7 
修改前:
    <interface type='network'>
      <mac address='52:54:00:42:bf:bc'/>
      <source network='default'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
修改後:
    <interface type='bridge'>
      <mac address='52:54:00:42:bf:bc'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
#虛擬主機內操作
[root@clsn7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.110
NETMASK=255.255.255.0
GATEWAY=10.0.0.254
DNS1=223.5.5.5

========================


KVM虛擬機冷遷移

#在第二臺主機上安裝KVM組件
[root@kvm02 ~]# yum install libvirt* virt-* qemm-kvm* -y
#配置橋接網絡
[root@kvm02 ~]# virsh iface-bridge eth0 br0
mkdir -p /data/
#在第一臺主機將虛擬機關機,導出配置文件
[root@kvm ~]#virsh dumpxml clsn7 > clsn7.xml
#將虛擬機導出的文件和磁盤傳輸到kvm02上
[root@kvm ~]#scp -rp clsn7.xml clsn.qcow2 10.0.0.201:/data
#導出配置文件
[root@kvm02 ~]# virsh define clsn7.xml
[root@kvm02 ~]# virsh start clsn7.xml




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章