1、kvm簡介 python
(1)簡介編程
KVM:就是Keyboard Video Mouse的縮寫。KVM 交換機經過直接鏈接鍵盤、視頻和鼠標 (KVM) 端口,讓您可以訪問和控制計算機。KVM 技術無需目標服務器修改軟件。這就意味着能夠在 Windows 的 BIOS 環境下,隨時訪問目標計算機。KVM 提供真正的主板級別訪問,並支持多平臺服務器和串行設備。ubuntu
KVM 技術已經從最初的基礎SOHO辦公型,發展成爲企業 IT 基礎機房設施管理系統。能夠從kvm 客戶端管理軟件輕鬆的直接訪問位於多個遠程位置的服務器和設備。KVM over IP 解決方案具有完善的多地點故障轉移功能、符合新服務器管理標準 (IPMI) 的直接界面,以及將本地存儲媒體映射至遠程位置的功能。vim
KVM 是個"怪胎",本來是類型2 的主機虛擬化;但一旦在OS 上加載了kvm.ko 模塊,就會"感染"OS,使其變爲hypervisor(kvm),本來的軟件空間做爲控制檯,轉化成類型1 模式的主機虛擬化centos
(2)KVM的組件服務器
① kvm.ko:模塊網絡
API 應用程序編程接口架構
② qemu-kvm:用戶空間的工具程序;dom
qemu-KVM是一種開源虛擬器,它爲KVM管理程序提供硬件仿真。ide
運行中的一個kvm虛擬機就是一個qemu-kvm進程,運行qemu-kvm程序並傳遞給它合適的選項及參數即能完成虛擬機啓動,終止此進程即能關閉虛擬機;
③ libvirt 虛擬化庫:Libvirt是一個C工具包,能夠與最近版本的Linux(以及其餘操做系統)的虛擬化功能進行交互。主包包含了導出虛擬化支持的libvirtd服務器。
C/S:
Client:
libvirt-client
virt-manager
Daemon:
libvirt-daemon
(3)KVM模塊load進內存以後,系統的運行模式:
內核模式:GuestOS執行IO類的操做時,或其它的特殊指令操做時的模式;它也被稱爲"Guest-Kernel"模式;
用戶模式:Host OS的用戶空間,用於代爲GuestOS發出IO請求;
來賓模式:GuestOS的用戶模式;全部的非IO類請求
2、安裝
(1)前提:
① 必須跑在x86 系統的架構上
② 必須支持硬件級虛擬化
vmx:Intel VT-x
svm:AMD AMD-vt
③ 在虛擬機上再虛擬化,需開啓虛擬化 Intel VT-x/EP
1.配置主機支持虛擬化
2.查看是否支持
1 # grep -i -E '(vmx|svm|lm)' /proc/cpuinfo 2 3 注意:vmx 或 svm或lm 必須出現一個,表示是支持的
3.裝載KVM 模塊
1 # yum -y install kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v 2 # yum update 3 # yum upgrade 4 # modprobe kvm
4.查看模塊
1 # lsmod |grep kvm
5.安裝用戶端工具 qemu-kvm
1 # yum install libvirt-daemon-kvm qemu-kvm virt-manager -y
6.啓動kvm守護程序並建立虛擬橋
1 # systemctl start libvirtd.service 2 # virsh iface-bridge eth0(ens33) br0 //centos6是eth0,7是ens33 3 # systemctl restart netowrk
7.打virt-manager 窗口,建立虛擬機
#查看虛擬機
1 # virt-manager
8.上傳鏡像用於建立系統
9.建立虛擬機
(1)選擇本地鏡像安裝
(2)選取鏡像
(3)配置cpu、內存
(4)配置硬盤大小
(5)覈對配置信息,勾選安裝前配置,注意網絡選網橋br0
(6)選取鍵盤和圖形界面VNC,方便鼠標鍵盤操做
(7)開始安裝
(8)最小化安裝
(9)配置網絡
(10)配置密碼開始安裝
(11)安裝完成,測試鏈接
3、Virsh經常使用命令
1 virsh list #顯示本地活動虛擬機 2 virsh list –all #顯示本地全部的虛擬機(活動的+不活動的) 3 virsh define ubuntu.xml #經過配置文件定義一個虛擬機(這個虛擬機還不是活動的) 4 virsh start ubuntu #啓動名字爲ubuntu的非活動虛擬機 5 virsh create ubuntu.xml # 建立虛擬機(建立後,虛擬機當即執行,成爲活動主機) 6 virsh suspend ubuntu # 暫停虛擬機 7 virsh resume ubuntu # 啓動暫停的虛擬機 8 virsh shutdown ubuntu # 正常關閉虛擬機 9 virsh destroy ubuntu # 強制關閉虛擬機 10 virsh dominfo ubuntu #顯示虛擬機的基本信息 11 virsh domname 2 # 顯示id號爲2的虛擬機名 12 virsh domid ubuntu # 顯示虛擬機id號 13 virsh domuuid ubuntu # 顯示虛擬機的uuid 14 virsh domstate ubuntu # 顯示虛擬機的當前狀態 15 virsh dumpxml ubuntu # 顯示虛擬機的當前配置文件(可能和定義虛擬機時的配置不一樣,由於當虛擬機啓動時,須要給虛擬機分配id號、uuid、vnc端口號等等) 16 virsh setmem ubuntu 512000 # 給不活動虛擬機設置內存大小 17 virsh setvcpus ubuntu 4 # 給不活動虛擬機設置cpu個數 18 virsh edit ubuntu # 編輯配置文件(通常是在剛定義完虛擬機以後)
4、Qemu-kvm安裝
1.建立虛擬網橋
1 # yum -y install bridge-utils 2 # brctl addbr br-int0 3 # brctl show
1 # ifconfig -a
2.激活網橋
1 # ip link set br-int0 up
3.刪除網橋
1 # ip link set br-int0 down 2 # brctl delbr br-int0 3 # ifconfig -a 4 # brctl show
4.手動建立物理網橋
1 # cd /etc/sysconfig/network-scripts 2 # cp ifcfg-eth1/ens33 ifcfg-br0 3 # vim ifcfg-br0 4 TYPE=Bridge 5 NAME=br0 6 UUID=395fbf3c-07ef-4f58-a6a6-049c646a3d2b 7 DEVICE=br0 8 ONBOOT=yes 9 IPADDR=192.168.11.199 10 NETMASK=255.255.255.0 11 GATEWAY=192.168.11.254 12 DNS1=114.114.114.114 13 ZONE=public
5.把主機的網卡鏈接到網橋上
1 # vim ifcfg-eth1/ens33 2 DEVICE=eth1/ens33 3 ONBOOT=yes 4 BRIDGE=br0
6.重啓網卡
1 # systemctl restart network 2 # brctl show
7.安裝qemu-kvm
1 # yum install qemu-kvm libvirt-daemon-kvm virt-manager 2 # modprobe kvm 3 # lsmod |grep kvm
8.建立軟連接,把qemu寫入PATH變量
1 # ln -sv /usr/libexec/qemu-kvm /usr/bin/ 2 # qemu-kvm -h
9.安裝VNC圖形工具
1 # yum install vnc-server tigervnc -y 2 # vncpasswd 3 # vncserver
10.建立虛擬機所須要的iso鏡像和磁盤
1 # mkdir /kvm/images -pv 2 # qemu-img create -o preallocation=metadata -f qcow2 /kvm/images/centos.qcow2 60G
11.建立虛擬機
1 # qemu-kvm -cpu host -smp 1 -name centos -m 512 -drive file=/kvm/images/centos.qcow2,if=ide,media=disk,format=qcow2 -drive file=/var/lib/libvirt/images/CentOS-7-x86_64-DVD-1804.iso,media=cdrom -boot dc -usbdevice tablet 2 3 -cpu :指定CPU的模式 4 5 -smp :指定CPU的個數 6 7 -name :指定虛擬機的名字 8 9 -m :指定虛擬機內存大小 10 11 -drive file :指定硬盤設備文件 12 13 if=ide :指定硬盤設備鏈接的藉口類型 14 15 media=disk :指定硬盤設備爲磁盤 16 17 format=qcow2 :指定映像文件的格式 18 19 -boot :定義啓動引導次序
12.另開終端打開安裝
1 # vncviewer :5900
13.開始安裝