KVM虛擬機(jī)安裝部署全攻略分享
一、概述
1、原理
KVM(Kernel-based Virtual Machine)虛擬化技術(shù)是一種基于內(nèi)核的虛擬化技術(shù),KVM虛擬化技術(shù)的實(shí)現(xiàn)依賴于CPU的虛擬化擴(kuò)展(如Intel VT和AMD-V)。
當(dāng)宿主機(jī)啟動(dòng)時(shí),KVM會(huì)加載一個(gè)輕量級(jí)的內(nèi)核模塊kvm.ko,該模塊負(fù)責(zé)與硬件進(jìn)行交互,實(shí)現(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)存、硬盤(pán)等。QEMU通過(guò)與KVM內(nèi)核模塊進(jìn)行通信,實(shí)現(xiàn)對(duì)虛擬機(jī)的控制和管理。
- libvirt庫(kù):提供了一個(gè)跨平臺(tái)的API,用于管理虛擬機(jī)、存儲(chǔ)和網(wǎng)絡(luò)等資源。libvirt庫(kù)可以與KVM、Xen、VMware等多種虛擬化技術(shù)集成,實(shí)現(xiàn)了資源的集中管理和自動(dòng)化運(yùn)維。
3、特點(diǎn)
- 高效性:KVM虛擬化技術(shù)基于Linux內(nèi)核,與操作系統(tǒng)緊密結(jié)合,提供了高性能的虛擬化解決方案。
- 隔離性:每個(gè)虛擬機(jī)都有自己的操作系統(tǒng)、應(yīng)用程序和用戶空間,彼此之間相互隔離。這種隔離性使得虛擬機(jī)之間的故障互不影響,提高了系統(tǒng)的穩(wěn)定性和安全性。
- 靈活性:KVM支持多種操作系統(tǒng)和平臺(tái),可以根據(jù)不同的需求靈活配置虛擬機(jī)。
- 自動(dòng)化運(yùn)維:通過(guò)libvirt庫(kù)提供的API,可以實(shí)現(xiàn)虛擬機(jī)的自動(dòng)化創(chuàng)建、管理和調(diào)度,降低了運(yùn)維成本。
4、應(yīng)用
- 云計(jì)算:KVM虛擬化技術(shù)為云計(jì)算提供了強(qiáng)大的基礎(chǔ)設(shè)施支持,可以快速地創(chuàng)建、管理和調(diào)度虛擬機(jī)資源。
- 企業(yè)IT基礎(chǔ)機(jī)房設(shè)施管理系統(tǒng):通過(guò)KVM客戶端管理軟件,可以輕松地直接訪問(wèn)位于多個(gè)遠(yuǎn)程位置的服務(wù)器和設(shè)備,實(shí)現(xiàn)遠(yuǎn)程管理和維護(hù)。
- 科研與教育:KVM虛擬化技術(shù)為科研和教育領(lǐng)域提供了靈活的實(shí)驗(yàn)環(huán)境,可以模擬多種操作系統(tǒng)和平臺(tái),方便學(xué)生進(jìn)行實(shí)驗(yàn)和學(xué)習(xí)。
二、安裝部署
注:此教程以Centos7.9系統(tǒng)演示,其他linux內(nèi)核系統(tǒng)也可參考,然而,不同操作系統(tǒng)間存在的固有差異,可能會(huì)引發(fā)諸如依賴關(guān)系不全、軟件版本不兼容等問(wèn)題。
1、虛擬化軟件安裝
#安裝需要的包 yum -y install qemu-kvm virt-install cockpit cockpit-docker cockpit-machines cockpit-dashboard cockpit-storaged cockpit-packagekit #啟動(dòng) systemctl enable --now cockpit.socket systemctl restart libvirtd systemctl restart cockpit
瀏覽器訪問(wèn):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ù)盤(pán),注意:不同的磁盤(pán) 盤(pán)符不能相同
#先關(guān)機(jī)
virsh destroy centos7.9
cd /var/lib/libvirt/images
#生成100G的磁盤(pán)
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表示硬盤(pán)的格式
#file表示硬盤(pán)所在的路徑
#dev表示硬盤(pán)在系統(tǒng)中顯示的盤(pán)符
#bus表示硬盤(pán)的接線類(lèi)型,如果是windows系統(tǒng)一般是ide
開(kāi)機(jī)
virsh start centos7.9
3、測(cè)試
創(chuàng)建一個(gè)ip為10.10.0.100 規(guī)格4C 8G,擁有三個(gè)100G數(shù)據(jù)盤(pán)的虛擬機(jī)。
3.1準(zhǔn)備工作
復(fù)制此虛擬機(jī)的系統(tǒng)盤(pán)作為后續(xù)虛擬機(jī)的系統(tǒng)盤(pán)模板
cp centos7.9.qcow2 virtualization-base-centos.qcow2
獲取此虛擬機(jī)的xml模板
virsh dumpxml centos7.9 > CentOS7.9-base.xml
3.2創(chuàng)建數(shù)據(jù)盤(pán)
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)盤(pán)
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
至此,我們完成了一個(gè)虛擬機(jī)的搭建。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解kvm部署三個(gè)虛擬機(jī)實(shí)現(xiàn) WordPress 實(shí)驗(yàn)
這篇文章主要介紹了詳解kvm部署三個(gè)虛擬機(jī)實(shí)現(xiàn) WordPress 實(shí)驗(yàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
kvm虛擬機(jī)配置NAT端口轉(zhuǎn)發(fā)的實(shí)現(xiàn)方法
為了避免虛擬機(jī)的IP地址和內(nèi)網(wǎng)網(wǎng)段沖突,kvm采用的是NAT模式,而非橋接模式,而kvm的轉(zhuǎn)發(fā),需要使用Linux的iptables工具來(lái)實(shí)現(xiàn),下面通過(guò)本文給大家介紹kvm虛擬機(jī)配置NAT端口轉(zhuǎn)發(fā)的實(shí)現(xiàn)方法,感興趣的朋友一起看看吧2022-06-06

