KVM 虛擬化技術(shù) | Linux云計(jì)算干貨你了解嗎?

2021-02-21    分類: 網(wǎng)站建設(shè)

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

網(wǎng)頁(yè)題目:KVM 虛擬化技術(shù) | Linux云計(jì)算干貨你了解嗎?
本文來(lái)源:http://muchs.cn/news/102194.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站定制開(kāi)發(fā)、軟件開(kāi)發(fā)微信小程序、網(wǎng)頁(yè)設(shè)計(jì)公司靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化