KVM虛擬化之安裝KVM虛擬機(一)

KVM虛擬化

1、KVM虛擬化介紹與應用場景

什麼是KVM虛擬化?

KVM,內核級虛擬化技術 Kernel-based Virtual Machine 。KVM的虛擬化需要硬件支持(如Intel VT技術或者AMD V技術)。是基於硬件的完全虛擬化。虛擬化就是通過模擬計算機硬件(cpu,內存,硬盤,網卡)來實現在一臺物理服務器上運行同時多個不同的操作系統,使每個操作系統之間都是互相隔離的,並且應用程序都可以在相互獨立的空間內運行而互不影響,可以實現資源的動態分配、靈活調度、跨域共享,提高資源利用率,服務於各行各業中靈活多變的應用需求。從而顯著提高服務器的工作效率。

KVM架構

KVM 基本上有兩個組件構成:

*  kvm 驅動  現在已經是Linux內核的一個模塊了,它的作用主要是負責虛擬機的創建,虛擬內存的分配 虛擬CPU寄存器的讀寫和虛擬cpu的運行
*  另一個組件是 Qemu    QEMU是一個通用的開源機器模擬器和虛擬器,其主要的功能是用於模擬虛擬機的用戶空間組件,提供io 設備模型,訪問外設的途徑

Qemu 是什麼?

Qemu 是純軟件設計的虛擬化模擬器,幾乎可以模擬任何硬件設備,我們最熟悉的就是能夠模擬一臺能夠獨立運行操作系統的虛擬機,虛擬機認爲自己和虛擬機打交道,但其實是和Qemu模擬出來的硬件打交道,Qemu 將這些真正的指令轉譯給真正的硬件

* 虛擬化的技術優點

(1)降低運營成本
(2)提高應用兼容性
(3)加速應用部署
(4)提高服務可用性
(5)提升資源利用率
(6)動態調度資源
(7)降低能源消耗

KVM應用場景

* 場景1:只有一臺服務器,但是要運行多個版本的軟件,不同版本之間還相互衝突
* 場景2:機房的遷移,物理機在運輸過程中容易損壞,導致數據丟失
* 場景3:openstack部署太難!步驟太繁瑣,如何體驗最新版的openstack
* 場景4:開發環境和測試環境經常損壞,運維重複裝系統
* 場景5:業務的擴張,需要快速部署10個一模一樣的集羣

2、安裝KVM虛擬化

* 服務器規劃

操作系統 主機名 IP地址 內存大小 硬盤大小
CentOS7.4 kvm01 10.0.0.11/24 4G 100G
  • 基礎環境配置
// 查看當前系統版本
[root@kvm01 ~]# hostnamectl
Static hostname: kvm01
Icon name: computer-vm
Chassis: vm
Machine ID: 6878674c84644fd381a5e3a82d80cf18
Boot ID: fd8e37aca7e4421fa5674fc0fff147e9
Virtualization: vmware
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-693.el7.x86_64
Architecture: x86-64

// 設定主機名
[root@kvm01 ~]# hostnamectl set-hostname kvm01

// 關閉防火牆
[root@kvm01 ~]# systemctl stop firewalld
[root@kvm01 ~]# systemctl disable firewalld

// 關閉Selinux
[root@kvm01 ~]# sed -i '/SELINUX=/cSELINUX=disabled'  /etc/selinux/config
[root@kvm01 ~]# setenforce 0

// 配置hosts解析
[root@kvm01 ~]# echo "10.0.0.11 kvm01" >> /etc/hosts

* 確認開啓虛擬化

KVM需要硬件支持, 所以需要開啓虛擬化支持

1.硬件設備直接在BIOS設置開啓CPU虛擬化
2.個人電腦同樣進入BIOS開啓虛擬化支持
3.VM需要找到對應虛擬機開啓對應的VT-EPT虛擬化技術

# 沒有任何內容則表示服務器沒有啓用虛擬化
[root@kvm01 ~]# egrep '(vmx|svm)' /proc/cpuinfo

KVM虛擬化之安裝KVM虛擬機(一)

* 安裝KVM

#安裝kvm依賴
yum install qemu-kvm qemu-kvm-tools libvirt virt-manager virt-install openssh-askpass –y

#啓動libvirtd服務
systemctl start libvirtd.service
systemctl enable libvirtd.service
systemctl status libvirtd.service

#注意: 啓動後會新增一塊virbr0網絡

創建橋接網絡
virsh iface-bridge eth0 br0

KVM虛擬機安裝CentOS7系統

* windows系統上安裝 tightvnc 軟件
`http://www.tightvnc.com``

  • 通過xftp上傳iso鏡像到/opt目錄下

KVM虛擬化之安裝KVM虛擬機(一)

* KVM安裝CentOS 7 系統

virt-install --virt-type kvm --os-type=linux --os-variant rhel7 --name centos7 --memory 1024 --vcpus 1 --disk /opt/centos2.raw,format=raw,size=10 --cdrom /opt/CentOS-7-x86_64-DVD-1708.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole

//參數概述
--virt-type:指定虛擬機類型(kvm、qemu、xen)
--name:指定虛擬機名稱
--raw:指定虛擬機使⽤用內存大小
--cpu:指定cpu的核數(默認爲1)
--cdrom:指定虛擬機安裝的ISO鏡像
--disk:指定虛擬機數據存儲磁盤qcow2
--network:指定虛擬機網絡類型, 默認nat,常用bridge
--graphics:指定虛擬機可連接⽅方式, 比如VNC
--noautoconsole:不連接虛擬機圖形界面控制檯

* 顯示下圖則表示成功

KVM虛擬化之安裝KVM虛擬機(一)

* 使用VNC軟件進行連接
KVM虛擬化之安裝KVM虛擬機(一)

* 常規安裝CentOS 7(安裝系統時先把網卡名稱改爲eth0,在配置網絡時可以只是開啓自啓動,不配置IP地址。磁盤分區選擇標準分區)
KVM虛擬化之安裝KVM虛擬機(一)

* 結果顯示:

KVM虛擬化之安裝KVM虛擬機(一)

KVM虛擬機安裝Windows系統

同樣是上傳windows的鏡像到/opt目錄下

# 創建qcow2格式的虛擬磁盤
[root@kvm01 opt]# qemu-img create -f qcow2 windows7.qcow2 +50G

[root@kvm01 opt]# ls -l
total 18684784
-rw-r--r-- 1 qemu qemu     197120 Dec  5 21:28 centos7.qcow2
-rw-r--r-- 1 qemu qemu 1844969472 Dec  5 21:58 Centos7u5.qcow2
-rw-r--r-- 1 qemu qemu 4470079488 Dec  4 23:00 CentOS-7-x86_64-DVD-1804.iso
-rw-r--r-- 1 qemu qemu 3420557312 Dec 15 21:08 Windows7.iso
-rw-r--r-- 1 root root 9397534720 Dec 16 02:04 windows7.qcow2

# virt-install命令創建windows虛擬機
[root@kvm01 opt]# virt-install --name Windows7 --virt-type kvm --ram 2048 --cdrom=/opt/Windows7.iso --disk path=/opt/windows7.qcow2 --network bridge=br0 --graphics vnc,listen=0.0.0.0 --noautoconsole

# 注意: Win7 安裝過程, 內存與磁盤不夠會導致系統安裝慢或失敗
  • 使用VNC軟件進行連接並安裝Windows
    KVM虛擬化之安裝KVM虛擬機(一)

  • 結果圖:(安裝過程比較慢)
    KVM虛擬化之安裝KVM虛擬機(一)
# 查看所有的KVM虛擬機
[root@kvm01 opt]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     Windows7                       running
 -     centos7                          shut off
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章