KVM虛擬機(jī)安裝部署全攻略分享
一、概述
1、原理
KVM(Kernel-based Virtual Machine)虛擬化技術(shù)是一種基于內(nèi)核的虛擬化技術(shù),KVM虛擬化技術(shù)的實現(xiàn)依賴于CPU的虛擬化擴(kuò)展(如Intel VT和AMD-V)。
當(dāng)宿主機(jī)啟動時,KVM會加載一個輕量級的內(nèi)核模塊kvm.ko,該模塊負(fù)責(zé)與硬件進(jìn)行交互,實現(xiàn)虛擬機(jī)的創(chuàng)建、管理和調(diào)度。
2、組成
- KVM內(nèi)核模塊:負(fù)責(zé)與硬件進(jìn)行交互,提供虛擬機(jī)的創(chuàng)建、管理和調(diào)度功能。
- QEMU模擬器:用于模擬各種硬件設(shè)備,如CPU、內(nèi)存、硬盤等。QEMU通過與KVM內(nèi)核模塊進(jìn)行通信,實現(xiàn)對虛擬機(jī)的控制和管理。
- libvirt庫:提供了一個跨平臺的API,用于管理虛擬機(jī)、存儲和網(wǎng)絡(luò)等資源。libvirt庫可以與KVM、Xen、VMware等多種虛擬化技術(shù)集成,實現(xiàn)了資源的集中管理和自動化運(yùn)維。
3、特點(diǎn)
- 高效性:KVM虛擬化技術(shù)基于Linux內(nèi)核,與操作系統(tǒng)緊密結(jié)合,提供了高性能的虛擬化解決方案。
- 隔離性:每個虛擬機(jī)都有自己的操作系統(tǒng)、應(yīng)用程序和用戶空間,彼此之間相互隔離。這種隔離性使得虛擬機(jī)之間的故障互不影響,提高了系統(tǒng)的穩(wěn)定性和安全性。
- 靈活性:KVM支持多種操作系統(tǒng)和平臺,可以根據(jù)不同的需求靈活配置虛擬機(jī)。
- 自動化運(yùn)維:通過libvirt庫提供的API,可以實現(xiàn)虛擬機(jī)的自動化創(chuàng)建、管理和調(diào)度,降低了運(yùn)維成本。
4、應(yīng)用
- 云計算:KVM虛擬化技術(shù)為云計算提供了強(qiáng)大的基礎(chǔ)設(shè)施支持,可以快速地創(chuàng)建、管理和調(diào)度虛擬機(jī)資源。
- 企業(yè)IT基礎(chǔ)機(jī)房設(shè)施管理系統(tǒng):通過KVM客戶端管理軟件,可以輕松地直接訪問位于多個遠(yuǎn)程位置的服務(wù)器和設(shè)備,實現(xiàn)遠(yuǎn)程管理和維護(hù)。
- 科研與教育:KVM虛擬化技術(shù)為科研和教育領(lǐng)域提供了靈活的實驗環(huán)境,可以模擬多種操作系統(tǒng)和平臺,方便學(xué)生進(jìn)行實驗和學(xué)習(xí)。
二、安裝部署
注:此教程以Centos7.9系統(tǒng)演示,其他linux內(nèi)核系統(tǒng)也可參考,然而,不同操作系統(tǒng)間存在的固有差異,可能會引發(fā)諸如依賴關(guān)系不全、軟件版本不兼容等問題。
1、虛擬化軟件安裝
#安裝需要的包 yum -y install qemu-kvm virt-install cockpit cockpit-docker cockpit-machines cockpit-dashboard cockpit-storaged cockpit-packagekit #啟動 systemctl enable --now cockpit.socket systemctl restart libvirtd systemctl restart cockpit
瀏覽器訪問:http://ip:9090
用戶名密碼為本機(jī)的用戶名和密碼
2、創(chuàng)建虛擬機(jī)
登錄后點(diǎn)擊虛擬機(jī)=》Create VM創(chuàng)建虛擬機(jī)
進(jìn)入安裝界面進(jìn)行系統(tǒng)安裝
安裝完畢后我們給虛擬機(jī)增加數(shù)據(jù)盤,注意:不同的磁盤 盤符不能相同
#先關(guān)機(jī) virsh destroy centos7.9 cd /var/lib/libvirt/images #生成100G的磁盤 qemu-img create -f qcow2 data1_disk.qcow2 100G #修改虛擬機(jī)配置 virsh edit centos7.9 #增加以下內(nèi)容 <disk type='file' device='disk'> <driver name='qemu' type='qcow2'/> <source file='data1_disk.qcow2'/> <target dev='vdb' bus='virtio'/> </disk> #其中type表示硬盤的格式 #file表示硬盤所在的路徑 #dev表示硬盤在系統(tǒng)中顯示的盤符 #bus表示硬盤的接線類型,如果是windows系統(tǒng)一般是ide
開機(jī)
virsh start centos7.9
3、測試
創(chuàng)建一個ip為10.10.0.100 規(guī)格4C 8G,擁有三個100G數(shù)據(jù)盤的虛擬機(jī)。
3.1準(zhǔn)備工作
復(fù)制此虛擬機(jī)的系統(tǒng)盤作為后續(xù)虛擬機(jī)的系統(tǒng)盤模板
cp centos7.9.qcow2 virtualization-base-centos.qcow2
獲取此虛擬機(jī)的xml模板
virsh dumpxml centos7.9 > CentOS7.9-base.xml
3.2創(chuàng)建數(shù)據(jù)盤
qemu-img create -f qcow2 data1_disk10.10.0.100.qcow2 100G qemu-img create -f qcow2 data2_disk10.10.0.100.qcow2 100G qemu-img create -f qcow2 data3_disk10.10.0.100.qcow2 100G
3.3 復(fù)制系統(tǒng)盤
cp virtualization-base-centos.qcow2 os_disk10.10.0.100.qcow2
3.4 修改xml配置文件
cp CentOS7.9-base.xml 10.10.0.100.xml vim 10.10.0.100.xml
修改如下地方
修改完成后保存退出
3.5 定義并運(yùn)行虛擬機(jī)
#定義虛擬機(jī) virsh define 10.10.0.100.xml #查看虛擬機(jī)狀態(tài) virsh list --all #運(yùn)行虛擬機(jī) virsh start 10.10.0.100
3.6 登入虛擬機(jī)修改ip
cd /etc/sysconfig/network-scripts/
找到我們需要修改的配置文件,此機(jī)器的配置文件名為ifcfg-eth0
vim ifcfg-eth0 BOOTPROTO="static" ONBOOT="yes" IPADDR=10.10.0.100 #靜態(tài)IP GATEWAY=x.x.x.x #默認(rèn)網(wǎng)關(guān) NETMASK=255.255.255.0 #子網(wǎng)掩碼
重啟網(wǎng)絡(luò)
service network restart
至此,我們完成了一個虛擬機(jī)的搭建。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
kvm虛擬化學(xué)習(xí)筆記(一)之kvm虛擬化環(huán)境安裝的步驟
這篇文章主要介紹了kvm虛擬化學(xué)習(xí)筆記(一)之kvm虛擬化環(huán)境安裝的步驟,非常具有實用價值,需要的朋友可以參考下。2016-12-12安裝KVM并創(chuàng)建虛擬機(jī)及基本使用方式
本文詳細(xì)介紹了在CentOS 7環(huán)境下使用KVM進(jìn)行虛擬化管理的步驟,包括安裝相關(guān)軟件包、啟動服務(wù)、創(chuàng)建虛擬機(jī)(圖形化界面、命令行、自動化部署)、網(wǎng)絡(luò)配置以及虛擬機(jī)管理等2025-02-02詳細(xì)介紹kvm虛擬機(jī)靜態(tài)和動態(tài)遷移(圖文介紹)
本篇文章主要詳細(xì)介紹kvm虛擬機(jī)靜態(tài)和動態(tài)遷移,具有一定的參考價值,有需要的可以了解一下。2016-11-11