什么是KVM技術?
KVM(Kernel-based Virtual Machine)是一種開源的虛擬化技術,它是Linux內核的一部分。KVM通過將Linux內核轉換為Hypervisor,允許在同一物理主機上運行多個虛擬機實例,每個實例可以獨享一部分系統(tǒng)資源。 KVM的工作原理是將Linux內核擴展為虛擬化管理程序,它直接在硬件上運行,并提供了虛擬化所需的核心功能。KVM利用CPU的虛擬化擴展(如Intel的VT-x和AMD的AMD-V)來創(chuàng)建和管理虛擬機。虛擬機通過QEMU(Quick EMUlator)進行模擬,并提供實際運行的硬件和設備,使操作系統(tǒng)和應用程序能夠在虛擬機中運行。
KVM的主要特點包括:
1. 性能:KVM直接在物理主機的硬件上運行,與傳統(tǒng)的基于模擬的虛擬化方式相比,可以獲得更好的性能。虛擬機可以直接訪問物理主機上的硬件資源,并使用硬件輔助虛擬化技術提高性能。
2. 安全性:KVM利用硬件輔助虛擬化技術,并通過Linux內核的安全功能來保護虛擬機之間的隔離。虛擬機之間無法相互訪問,從而增加了安全性。
3. 靈活性:KVM可以運行多種操作系統(tǒng),包括Linux、Windows和其他主流操作系統(tǒng)。它提供了豐富的管理工具和API,使用戶可以方便地創(chuàng)建、配置和管理虛擬機。
4. 可擴展性:KVM支持多個虛擬CPU和大量的內存,可以滿足不同應用的需求。它還支持虛擬機的遷移和復制,可以在不同的物理主機之間平衡負載和提高可用性。 總之,KVM是一種強大而靈活的虛擬化技術,它結合了Linux內核的強大功能和虛擬化的優(yōu)勢,為用戶提供了高性能、安全性和靈活性的虛擬化解決方案。?
首先要使用virtualbox部署KVM,首先需要開啟cpu等硬件的虛擬化,
需要達到如圖效果:
查看cpu是否支持虛擬化?
?查看CPU是否可以虛擬化:出現(xiàn)vmx或svm其一即說明CPU支持虛擬化。
?進行操作之前關閉防火墻,selinux
[root@kvm yum.repos.d]# systemctl stop firewalld
[root@kvm yum.repos.d]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@kvm yum.repos.d]# setenforce 0
[root@kvm yum.repos.d]# vim /etc/selinux/config
SELINUX=disabled
安裝KVM軟件依賴包:
yum install qemu-kvm libvirt virt-install bridge-utils -y
查看KVM模塊是否安裝:
[root@kvm system]# lsmod | grep kvm
kvm_intel 188740 0
kvm 637289 1 kvm_intel
irqbypass 13503 1 kvm
查看虛擬化管理工具libvirtd服務是否啟動
[root@kvm system]# systemctl status libvirtd
● libvirtd.service - Virtualization daemon
Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
Active: active (running) since 三 2023-06-28 16:04:31 CST; 30min ago
Docs: man:libvirtd(8)
https://libvirt.org
Main PID: 2235 (libvirtd)
Tasks: 19 (limit: 32768)
CGroup: /system.slice/libvirtd.service
├─2235 /usr/sbin/libvirtd
├─2351 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --l...
└─2352 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --l...
6月 28 16:11:42 kvm dnsmasq[2351]: using nameserver 114.114.114.114#53
6月 28 16:11:42 kvm dnsmasq[2351]: using nameserver 2400:3200::1#53
6月 28 16:13:45 kvm dnsmasq[2351]: reading /etc/resolv.conf
6月 28 16:13:45 kvm dnsmasq[2351]: using nameserver 2400:3200::1#53
6月 28 16:13:45 kvm dnsmasq[2351]: no servers found in /etc/resolv.conf, will retry
6月 28 16:13:45 kvm dnsmasq[2351]: reading /etc/resolv.conf
6月 28 16:13:45 kvm dnsmasq[2351]: using nameserver 114.114.114.114#53
6月 28 16:13:48 kvm dnsmasq[2351]: reading /etc/resolv.conf
6月 28 16:13:48 kvm dnsmasq[2351]: using nameserver 114.114.114.114#53
6月 28 16:13:48 kvm dnsmasq[2351]: using nameserver 2400:3200::1#53
[root@kvm system]#
設置KVM網絡
首先在目前正常使用的網卡配置文件里面配置如下:
KVM網絡的兩種模式:
①?NAT: 默認設置,數(shù)據包由 NAT 方式通過主機的接口進行傳送,可以訪問外網,但是無法從外部訪問虛擬機網絡
②?網橋:這種模式允許虛擬機像一臺獨立的主機一樣擁有網絡,外部的機器可以直接訪問到虛擬機內部,但需要網卡支持(一般有線網卡都支持)
[root@kvm network-scripts]# cat ifcfg-enp0s3
TYPE="Ethernet"
BOOTPROTO="static"
NAME="enp0s3"
UUID="3bdb5b05-6bd2-401c-93f5-bae94e5c1cd5"
DEVICE="enp0s3"
ONBOOT="yes"
#IPADDR=192.168.126.100
#GATEWAY=192.168.126.1
#PREFIX=24
#DNS1=114.114.114.114
BRIDGE=br0
設置br0網卡:
[root@kvm network-scripts]# cat ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=192.168.126.100
NETMASK=255.255.255.0
GATEWAY=192.168.126.1
DNS1=114.114.114.114
重啟網絡服務:
service network restart
再次查看ip配置,發(fā)現(xiàn)已經多了一塊br0網卡
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000
link/ether 08:00:27:dd:13:32 brd ff:ff:ff:ff:ff:ff
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 52:54:00:42:58:b4 brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN group default qlen 1000
link/ether 52:54:00:42:58:b4 brd ff:ff:ff:ff:ff:ff
6: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 08:00:27:dd:13:32 brd ff:ff:ff:ff:ff:ff
inet 192.168.126.100/24 brd 192.168.126.255 scope global noprefixroute br0
valid_lft forever preferred_lft forever
inet6 2408:8640:8fe:f5:6033:8508:1cb4:4393/64 scope global noprefixroute dynamic
valid_lft 2592000sec preferred_lft 604800sec
inet6 fe80::1f5a:3c2d:6054:f2d5/64 scope link noprefixroute
valid_lft forever preferred_lft forever
# 測試網絡
[root@kvm network-scripts]# ping www.baidu.com
PING www.a.shifen.com (112.80.248.75) 56(84) bytes of data.
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=1 ttl=55 time=13.5 ms
64 bytes from 112.80.248.75 (112.80.248.75): icmp_seq=2 ttl=55 time=12.5 ms
KVM部署與管理
創(chuàng)建KVM存儲與鏡像的目錄,上傳一個centos7的鏡像文件,作為創(chuàng)建KVM虛擬機的鏡像文件
mkdir -p /data/data_kvm/iso
mkdir -p /data/data_kvm/store
[root@kvm ~]# cd /data/data_kvm/iso/
[root@kvm iso]# ls
CentOS-7-x86_64-DVD-2009.iso
命令行模式創(chuàng)建虛擬機
virt-install 選項含義:
--name:指定創(chuàng)建的虛擬機的名稱。
--ram:指定虛擬機的內存大小。
--vcpu:指定虛擬機的虛擬CPU數(shù)量。
--disk:指定虛擬機的磁盤路徑和大小。
--size:指定虛擬機磁盤大小,一般跟在--disk后面,用 , 隔開。
--network:指定虛擬機的網絡設置。
--cdrom:指定虛擬機的光盤路徑,用于安裝操作系統(tǒng)。
--graphics:指定虛擬機的圖形設置,比如VNC連接等。
--os-variant:指定虛擬機的操作系統(tǒng)類型。
--location:指定虛擬機的操作系統(tǒng)安裝源。
virt-install --connect qemu:///system --virt-type kvm --name KVM_test --memory 512 --vcpu 1 --disk /data/data_kvm/store/KVM_test.qcow2,size=10 --location /data/data_kvm/iso/CentOS-7-x86_64-DVD-2009.iso --network bridge=br0 --graphics none --extra-args='console=ttyS0'
進入安裝頁面:要將[!] 變成 [X] 后才能繼續(xù)安裝系統(tǒng)。(其實就是centos的安裝順序,只是由圖形界面變成了字符界面。)
輸入相對應的指令來配置系統(tǒng)。?
系統(tǒng)安裝中
查看此時的系統(tǒng)負載情況:文章來源:http://www.zghlxwxcb.cn/news/detail-514913.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-514913.html
[root@kvm ~]# virsh list
Id 名稱 狀態(tài)
----------------------------------------------------
1 KVM_test running
到了這里,關于VirtualBox 部署 KVM 虛擬化的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!