您好,登錄后才能下訂單哦!
什么是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個一模一樣的集群
* 服務器規劃
操作系統 | 主機名 | 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依賴
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
* windows系統上安裝 tightvnc 軟件
`http://www.tightvnc.com``
* 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:不連接虛擬機圖形界面控制臺
* 顯示下圖則表示成功
* 使用VNC軟件進行連接
* 常規安裝CentOS 7(安裝系統時先把網卡名稱改為eth0,在配置網絡時可以只是開啟自啟動,不配置IP地址。磁盤分區選擇標準分區)
* 結果顯示:
同樣是上傳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虛擬機
[root@kvm01 opt]# virsh list --all
Id Name State
----------------------------------------------------
- Windows7 running
- centos7 shut off
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。