一 前言
1.1 什么是虛擬化?
在計算機(jī)技術(shù)中,虛擬化(技術(shù))或虛擬技術(shù)(英語:Virtualization)是一種資源管理技術(shù),是將計算機(jī)的各種實體資源(CPU、內(nèi)存、磁盤
空間、網(wǎng)絡(luò)適配器等),予以抽象、轉(zhuǎn)換后呈現(xiàn)出來并可供分區(qū)、組合為一個或多個電腦配置環(huán)境。
KVM 虛擬化技術(shù) | Linux
云計算干貨你了解嗎?
由此,打破實體結(jié)構(gòu)間的不可切割的障礙,使用戶可以比原本的配置更好的方式來應(yīng)用這些電腦硬件資源。這些資源的新虛擬部分是不受現(xiàn)有資源的架設(shè)方式,地域或物理配置所限制。
一般所指的虛擬化資源包括計算能力和數(shù)據(jù)存儲。
由于目前信息技術(shù)領(lǐng)域的很多企業(yè)都曾在宣傳中將該企業(yè)的某種技術(shù)稱為虛擬化技術(shù),這些技術(shù)涵蓋的范圍可以從Java虛擬機(jī)技術(shù)到系統(tǒng)管理軟件,這就使得準(zhǔn)確的界定虛擬技術(shù)變得困難。因此各種相關(guān)學(xué)術(shù)論文在談到虛擬技術(shù)時常常提到的便是如前面所提到的那個不嚴(yán)格的定義。
1.2 為什么要用虛擬化
同一臺物理機(jī)運(yùn)行多個不同版本應(yīng)用軟件
硬件依賴性較低和便于數(shù)據(jù)遷移
KVM 虛擬化技術(shù) | Linux
云計算干貨你了解嗎?
1.3 虛擬化技術(shù)的優(yōu)勢
1. 降低運(yùn)營成本
服務(wù)器虛擬化降低了IT基礎(chǔ)設(shè)施的運(yùn)營成本,令系統(tǒng)管理員擺脫了繁重的物理服務(wù)器、OS、中間件及兼容性的管理工作,減少人工干預(yù)頻率,使管理更加強(qiáng)大、便捷。
2. 提高應(yīng)用兼容性
服務(wù)器虛擬化提供的封裝性和隔離性使大量應(yīng)用獨(dú)立運(yùn)行于各種環(huán)境中,管理人員不需頻繁根據(jù)底層環(huán)境調(diào)整應(yīng)用,只需構(gòu)建一個應(yīng)用版本并將其發(fā)布到虛擬化后的不同類型平臺上即可。
3. 加速應(yīng)用部署
采用服務(wù)器虛擬化技術(shù)只需輸入激活配置參數(shù)、拷貝虛擬機(jī)、啟動虛擬機(jī)、激活虛擬機(jī)即可完成部署,大大縮短了部署時間,免除人工干預(yù),降低了部署成本。
4. 提高服務(wù)可用性
用戶可以方便地備份虛擬機(jī),在進(jìn)行虛擬機(jī)動態(tài)遷移后,可以方便的恢復(fù)備份,或者在其他物理機(jī)上運(yùn)行備份,大大提高了服務(wù)的可用性。
5. 提升資源利用率
通過服務(wù)器虛擬化的整合,提高了CPU、內(nèi)存、存儲、網(wǎng)絡(luò)等設(shè)備的利用率,同時保證原有服務(wù)的可用性,使其安全性及性能不受影響。
6. 動態(tài)調(diào)度資源
在服務(wù)器虛擬化技術(shù)中,數(shù)據(jù)中心從傳統(tǒng)的單一服務(wù)器變成了統(tǒng)一的資源池,用戶可以即時地調(diào)整虛擬機(jī)資源,同時數(shù)據(jù)中心管理程序和數(shù)據(jù)中心管理員可以靈活根據(jù)虛擬機(jī)內(nèi)部資源使用情況靈活分配調(diào)整給虛擬機(jī)的資源。
7. 降低能源消耗
通過減少運(yùn)行的物理服務(wù)器數(shù)量,減少CPU以外各單元的耗電量,達(dá)到節(jié)能減排的目的。
1.4 KVM簡介
KVM 虛擬化技術(shù) | Linux
云計算干貨你了解嗎?
KVM,基于內(nèi)核的虛擬機(jī)(英語:Kernel-based Virtual Machine,縮寫為 KVM),是一種用于Linux內(nèi)核中的虛擬化基礎(chǔ)設(shè)施,可以將Linux內(nèi)核轉(zhuǎn)化為一個hypervisor。KVM在2007年2月被導(dǎo)入Linux 2.6.20核心中,以可加載核心模塊的方式被移植到FreeBSD及illumos上。
KVM在具備Intel VT或AMD-V功能的x86平臺上運(yùn)行。它也被移植到S/390,PowerPC與IA-64平臺上。在Linux內(nèi)核3.9版中,加入ARM架構(gòu)的支持。
KVM目前由Red Hat等廠商開發(fā),對CentOS/Fedora/RHEL等Red Hat系發(fā)行版支持極佳。
1.5 關(guān)于KVM
KVM是開源軟件,全稱是kernel-based virtual machine(基于內(nèi)核的虛擬機(jī))。
是x86架構(gòu)且硬件支持虛擬化技術(shù)(如 intel VT 或 AMD-V)的Linux全虛擬化解決方案。
它包含一個為處理器提供底層虛擬化 可加載的核心模塊kvm.ko(kvm-intel.ko或kvm-AMD.ko)。
KVM還需要一個經(jīng)過修改的QEMU軟件(qemu-kvm),作為虛擬機(jī)上層控制和界面。
KVM能在不改變linux或windows鏡像的情況下同時運(yùn)行多個虛擬機(jī),(它的意思是多個虛擬機(jī)使用同一鏡像)并為每一個虛擬機(jī)配置個性化硬件環(huán)境(網(wǎng)卡、磁盤、圖形適配器……)同時KVM還能夠使用ksm技術(shù)幫助宿主服務(wù)器節(jié)約內(nèi)存。
在主流的Linux內(nèi)核,如2.6.20以上的內(nèi)核均已包含了KVM核心。
1.6 關(guān)于Virtual Machine Manager
在電腦運(yùn)算中,紅帽公司的Virtual Machine Manager是一個虛擬機(jī)管理員,可以讓用戶管理多個虛擬機(jī)。
基于內(nèi)核的虛擬機(jī)libvirt與Virtual Machine Manager。
Virtual Machine Manager可以讓用戶:
創(chuàng)建、編輯、引導(dǎo)或停止虛擬機(jī)。
查看并控制每個虛擬機(jī)的控制臺。
查看每部虛擬機(jī)的性能以及使用率。
查看每部正在運(yùn)行中的虛擬機(jī)以及主控端的即時性能及使用率信息。
不論是在本機(jī)或遠(yuǎn)程,皆可使用KVM、Xen、QEMU。
1.7 其他虛擬化軟件
① Xen
Xen是一個開放源代碼虛擬機(jī)監(jiān)視器,由XenProject開發(fā)。它打算在單個計算機(jī)上運(yùn)行多達(dá)128個有完全功能的操作系統(tǒng)。
在舊(無虛擬硬件)的處理器上執(zhí)行Xen,操作系統(tǒng)必須進(jìn)行顯式地修改(“移植”)以在Xen上運(yùn)行(但是提供對用戶應(yīng)用的兼容性)。這使得Xen無需特殊硬件支持,就能達(dá)到高性能的虛擬化。
② QEMU
QEMU是一套由Fabrice Bellard所編寫的模擬處理器的自由軟件。它與Bochs,PearPC近似,但其具有某些后兩者所不具備的特性,如高速度及跨平臺的特性。經(jīng)由KVM(早期為kqemu加速器,現(xiàn)在kqemu已被KVM取代)這個開源的加速器,QEMU能模擬至接近真實電腦的速度。
QEMU有兩種主要運(yùn)作模式:
1 User mode模擬模式,亦即是用戶模式。
QEMU能引導(dǎo)那些為不同中央處理器編譯的Linux程序。而Wine及Dosemu是其主要目標(biāo)。
2 System mode模擬模式,亦即是系統(tǒng)模式。
QEMU能模擬整個電腦系統(tǒng),包括中央處理器及其他周邊設(shè)備。它使得為系統(tǒng)源代碼進(jìn)行測試及除錯工作變得容易。其亦能用來在一部
主機(jī)上模擬數(shù)部不同虛擬電腦。
二 KVM部署與使用
系統(tǒng)環(huán)境說明
2.1 安裝KVM虛擬化軟件
安裝依賴包(可以使用本地yum源)
安裝軟件說明內(nèi)容:
啟動服務(wù)
安裝VNC軟件:
VNC軟件,用于VNC(Virtual Network Computing),為一種使用RFB協(xié)議的顯示屏畫面分享及遠(yuǎn)程操作軟件。此軟件借由網(wǎng)絡(luò),可發(fā)送鍵盤與鼠標(biāo)的動作及即時的顯示屏畫面。
VNC與操作系統(tǒng)無關(guān),因此可跨平臺使用,例如可用Windows連接到某Linux的電腦,反之亦同。甚至在沒有安裝客戶端程序的電腦中,只要有支持JAVA的瀏覽器,也可使用。
安裝VNC時,使用默認(rèn)安裝即可,無需安裝server端。
2.2 配置第一臺KVM虛擬機(jī)
使用命令
注意:需要先將鏡像文件拷貝到 /data/CentOS-7-x86_64-DVD-1511.iso 。
使用參數(shù)說明:
參數(shù)參數(shù)說明--virt-type HV_TYPE要使用的管理程序名稱 (kvm, qemu, xen, ...)--os-type系統(tǒng)類型--os-variant DISTRO_VARIANT在客戶機(jī)上安裝的操作系統(tǒng),例如:'fedora18'、'rhel6'、'winxp' 等。-n NAME, --name NAME客戶機(jī)實例名稱--memory MEMORY配置客戶機(jī)虛擬內(nèi)存大小--vcpus VCPUS配置客戶機(jī)虛擬 CPU(vcpu) 數(shù)量。--disk DISK指定存儲的各種選項。-cdrom CDROM光驅(qū)安裝介質(zhì)-w NETWORK, --network NETWORK配置客戶機(jī)網(wǎng)絡(luò)接口。--graphics GRAPHICS配置客戶機(jī)顯示設(shè)置。虛擬化平臺選項:-v, --hvm這個客戶機(jī)應(yīng)該是一個全虛擬化客戶機(jī)-p, --paravirt這個客戶機(jī)應(yīng)該是一個半虛擬化客戶機(jī)--container這個客戶機(jī)應(yīng)該是一個容器客戶機(jī)--virt-type HV_TYPE要使用的管理程序名稱 (kvm, qemu, xen, ...)--arch ARCH模擬 CPU 架構(gòu)--machine MACHINE機(jī)器類型為仿真類型其它選項:--noautoconsole不要自動嘗試連接到客戶端控制臺--autostart
主機(jī)啟動時自動啟動域。--noreboot安裝完成后不啟動客戶機(jī)。以上信息通過 " virt-install --help " 獲得。
在啟動的同時使用vnc連接
KVM 虛擬化技術(shù) | Linux
云計算干貨你了解嗎?
2.3 KVM虛擬機(jī)管理操作
virsh命令常用參數(shù)總結(jié)
參數(shù)參數(shù)說明基礎(chǔ)操作list查看虛擬機(jī)列表,列出域start啟動虛擬機(jī),開始一個(以前定義的)非活躍的域shutdown關(guān)閉虛擬機(jī),關(guān)閉一個域destroy(危險)強(qiáng)制關(guān)閉虛擬機(jī),銷毀(停止)域vncdisplay查詢虛擬機(jī)vnc端口號配置管理操作dumpxml導(dǎo)出
主機(jī)配置信息undefine刪除
主機(jī)define導(dǎo)入
主機(jī)配置domrename對虛擬機(jī)進(jìn)行重命名掛起與恢復(fù)suspend掛起虛擬機(jī)resume恢復(fù)虛擬機(jī)自啟動管理autostart虛擬機(jī)開機(jī)啟動autostart --disable取消虛擬機(jī)開機(jī)啟動以上參數(shù)通過 “virsh --help” 獲得。
KVM虛擬機(jī)配置文件位置操作過程:
修改KVM虛擬機(jī)配置的方法
使用該命令修改可以對文件進(jìn)行語法校驗。
備份與恢復(fù)
備份虛擬機(jī)配置(關(guān)機(jī)時備份):
刪除虛擬機(jī)配置
導(dǎo)入虛擬機(jī)
修改虛擬機(jī)名稱
虛擬機(jī)掛起與恢復(fù)
恢復(fù)虛擬機(jī)
查詢虛擬機(jī)vnc端口
開機(jī)自啟動設(shè)置
設(shè)置宿
主機(jī)開機(jī)虛擬機(jī)在其他
取消開機(jī)自啟動
三 kvm虛擬機(jī)console登錄
3.1 CentOS 7.X 版本console登錄
配置console登錄
在oldboy7虛擬機(jī)內(nèi)操作(該操作僅限centos7):
重啟完成后,使用virsh console連接虛擬機(jī)。
3.2 CentOS 6.X 版本console登錄
安裝一臺centos6的kvm虛擬機(jī)
新安裝一臺虛擬機(jī)后,是無法通過virsh console 命令連入虛擬機(jī)中的,這時我們需要開啟虛擬機(jī)的console功能。
以下操作都在虛擬機(jī)中進(jìn)行
1、添加ttyS0的許可,允許root登陸
2、編輯/etc/grub.conf中加入console=ttyS0
在該文件的第16行。kernel選項后添加
3、編輯/etc/inittab
在最后一行加入內(nèi)容
S0:12345:respawn:/sbin/agetty ttyS0 115200
4、以上操作都完成后,重啟虛擬機(jī)
1、檢查虛擬機(jī)的狀態(tài)
2、進(jìn)行連接測試
四 KVM虛擬機(jī)磁盤、快照與克隆
4.1 磁盤管理
查看當(dāng)前虛擬機(jī)硬盤信息
raw轉(zhuǎn)qcow2格式:
轉(zhuǎn)換原有磁盤格式
修改oldboy7 虛擬機(jī)配置文件
刪除原磁盤文件
啟動虛擬機(jī)
4.2 KVM虛擬機(jī)添加硬盤
進(jìn)入硬盤存放目錄
創(chuàng)建一塊新的硬盤
查看創(chuàng)建的硬盤信息
為虛擬機(jī)添加硬盤
# 成功附加磁盤
參數(shù)說明:
參數(shù)參數(shù)說明vdb第二塊硬盤--live熱添加--subdriver驅(qū)動類型
調(diào)整已添加硬盤的大小
將已掛載的磁盤卸載下來
調(diào)整磁盤大小
增加1G容量
重新講磁盤添加到虛擬機(jī)
以下在虛擬機(jī)中操作
格式化磁盤
掛載磁盤
使用 xfs_growfs 刷新磁盤的信息
4.3 快照管理
注意:raw格式的磁盤無法創(chuàng)建快照
創(chuàng)建快照
查看快照信息
登陸虛擬機(jī),進(jìn)行刪除操作
還原快照
刪除快照
快照配置文件位置
4.4 kvm虛擬機(jī)克隆
復(fù)制一個虛擬機(jī),需修改如 MAC 地址,名稱等所有
主機(jī)端唯一的配置。
虛擬機(jī)的內(nèi)容并沒有改變:virt-clone 不修改任何客戶機(jī)系統(tǒng)內(nèi)部的配置,它只復(fù)制磁盤和
主機(jī)端的修改。所以像修改密碼,修改靜態(tài) IP 地址等操作都在本工具復(fù)制范圍內(nèi)。如何修改此類型的配置,請參考 virt-sysprep。
克隆常用命令:
參數(shù)說明:
參數(shù)參數(shù)說明--auto-clone從原始客戶機(jī)配置中自動生成克隆名稱和存儲路徑。-o ORIGINAL_GUEST,原始客戶機(jī)名稱;必須為關(guān)閉或者暫停狀態(tài)。--original ORIGINAL_GUEST
5.1 橋接網(wǎng)絡(luò)配置五 kvm虛擬機(jī)網(wǎng)絡(luò)管理
1、設(shè)置橋接網(wǎng)絡(luò)
查看網(wǎng)卡配置文件
2、修改虛擬機(jī)網(wǎng)絡(luò)配置
查看防火墻規(guī)則:
3、修改kvm虛擬機(jī)網(wǎng)卡配置文件
測試網(wǎng)絡(luò)連通性
六 KVM虛擬機(jī)冷/熱遷移
在進(jìn)行遷移之前需要準(zhǔn)備一臺與KVM配置相同的機(jī)器(KVM02),部署好kvm環(huán)境。
6.1 虛擬機(jī)冷遷移
在kvm02中安裝kvm組件
配置橋接網(wǎng)絡(luò)
將虛擬機(jī)關(guān)機(jī),導(dǎo)出配置文件
將虛擬機(jī)文件傳輸?shù)絢vm02上
導(dǎo)入配置文件
啟動虛擬機(jī)
查看虛擬機(jī)狀態(tài)
至此,一次KVM冷遷移就完成了
6.2 virt-manager和kvm虛擬機(jī)熱遷移(準(zhǔn)備)
實現(xiàn)kvm虛擬機(jī)熱遷移核心:共享存儲。
1、安裝virt-manager所需桌面及vnc-server
2、配置vnc服務(wù)
復(fù)制vnc配置文件
修改配置文件,主要修改<USER>參數(shù)。
官方提供修改方法
設(shè)置vnc連接時的密碼
啟動vnc服務(wù),設(shè)置開機(jī)自啟動
查看密碼文件及其他配置文件位置
3、配置NFS存儲
安裝軟件
修改配置文件
啟動nfs程序
在kvm02上安裝nfs
查看共享信息
掛載目錄
在kvm02上查看虛擬機(jī)狀態(tài)
說明:在熱遷移的過程中可能會參數(shù)丟包的情況,一般不會超過1個包。
至此,一次熱遷移就完成了
七 KVM鏈接克隆
鏈接克隆腳本
說明:
7.1 手動克隆
第一步:復(fù)制虛擬磁盤文件
第二步:修改xml配置文件
1)name
2)uuid
3)虛擬磁盤存儲路徑
4)mac地址
6.3 腳本實現(xiàn)思路
1) 備份old_vm的配置文件,并重定向生成一個新的虛擬機(jī)配置文件
2)取出old_vm的磁盤路徑
3)創(chuàng)建新的鏈接磁盤文件
4) 修改xml配置文件
5) 導(dǎo)入新虛擬機(jī)
6)啟動測試
本文題目:KVM 虛擬化技術(shù) | Linux云計算干貨你了解嗎?
分享地址:http://www.rwnh.cn/news44/102194.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、定制網(wǎng)站、App開發(fā)、響應(yīng)式網(wǎng)站、品牌網(wǎng)站設(shè)計、做網(wǎng)站
廣告
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源:
創(chuàng)新互聯(lián)