KVM虛擬化

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 必須出現一個,表示是支持的
View Code

 

  

 

  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
View Code

 

 

  4.查看模塊

1     # lsmod |grep kvm
View Code

 

  

 

  5.安裝用戶端工具 qemu-kvm

1     # yum install libvirt-daemon-kvm qemu-kvm virt-manager -y
View Code

 

 

  6.啓動kvm守護程序並建立虛擬橋

1     # systemctl start libvirtd.service
2     # virsh iface-bridge eth0(ens33) br0        //centos6是eth0,7是ens33
3     # systemctl restart netowrk
View Code

 

  

 

   7.打virt-manager 窗口,建立虛擬機

    #查看虛擬機

  

 

 

1    # virt-manager
View Code

 

  

 

  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               # 編輯配置文件(通常是在剛定義完虛擬機以後)
View Code

 

 

4、Qemu-kvm安裝

  1.建立虛擬網橋

1     # yum -y install bridge-utils 
2     # brctl addbr br-int0 
3     # brctl show
View Code

 

  

1     # ifconfig -a
View Code

 


  2.激活網橋

1     # ip link set br-int0 up
View Code

 


  3.刪除網橋

1     # ip link set br-int0 down
2     # brctl delbr br-int0
3     # ifconfig -a
4     # brctl show
View Code

 


  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
View Code

 

    

 

  5.把主機的網卡鏈接到網橋上

1     # vim ifcfg-eth1/ens33
2       DEVICE=eth1/ens33
3       ONBOOT=yes
4       BRIDGE=br0
View Code

 

      

 

  6.重啓網卡

1     # systemctl restart network
2     # brctl show
View Code

 

    

 

  7.安裝qemu-kvm

1     # yum install qemu-kvm libvirt-daemon-kvm virt-manager 
2     # modprobe kvm
3     # lsmod |grep kvm
View Code

 

    

 

  8.建立軟連接,把qemu寫入PATH變量

1     # ln -sv /usr/libexec/qemu-kvm /usr/bin/
2     # qemu-kvm -h
View Code

 

  9.安裝VNC圖形工具

1     # yum install vnc-server tigervnc -y
2     # vncpasswd
3     # vncserver
View Code

 

    

 

  10.建立虛擬機所須要的iso鏡像和磁盤

1     # mkdir /kvm/images -pv
2     # qemu-img create -o preallocation=metadata -f qcow2 /kvm/images/centos.qcow2 60G
View Code

 

    

 

  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    :定義啓動引導次序
View Code

 

    

    

 


  12.另開終端打開安裝

1     # vncviewer :5900
View Code

 

    

 

  13.開始安裝

    

相關文章
相關標籤/搜索