本篇博客爲我的KVM虛擬化精簡筆記
linux
KVM:基於內核的虛擬機(英語:Kernel-based Virtual Machine,縮寫爲 KVM),是一種用於Linux內核中的虛擬化基礎設施,能夠將Linux內核轉化爲一個hypervisor,其功能相似於window中軟件vmware。centos
實驗:在centos7上虛擬出centos7虛擬主機(KVM虛擬主機內存建議不低於4G)bash
安裝KVM虛擬化軟件網絡
安裝依賴包:yum install -y libvirt* virt-* qemm-kvm*dom
(libvirt 虛擬機管理 virt 虛擬機安裝克隆 qemm-kvm 管理虛擬機磁盤)ide
啓動服務:systemctl start libvirtdcentos7
設置開啓自啓動:virsh is-enable libvirtdspa
配置第一臺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
參數(說明)orm
--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