VirtualBox 部署 KVM 虚拟化

news2024/11/19 3:37:48

什么是KVM技术?

KVM(Kernel-based Virtual Machine)是一种开源的虚拟化技术,它是Linux内核的一部分。KVM通过将Linux内核转换为Hypervisor,允许在同一物理主机上运行多个虚拟机实例,每个实例可以独享一部分系统资源。 KVM的工作原理是将Linux内核扩展为虚拟化管理程序,它直接在硬件上运行,并提供了虚拟化所需的核心功能。KVM利用CPU的虚拟化扩展(如Intel的VT-x和AMD的AMD-V)来创建和管理虚拟机。虚拟机通过QEMU(Quick EMUlator)进行模拟,并提供实际运行的硬件和设备,使操作系统和应用程序能够在虚拟机中运行。

KVM的主要特点包括:

1. 性能:KVM直接在物理主机的硬件上运行,与传统的基于模拟的虚拟化方式相比,可以获得更好的性能。虚拟机可以直接访问物理主机上的硬件资源,并使用硬件辅助虚拟化技术提高性能。

2. 安全性:KVM利用硬件辅助虚拟化技术,并通过Linux内核的安全功能来保护虚拟机之间的隔离。虚拟机之间无法相互访问,从而增加了安全性。

3. 灵活性:KVM可以运行多种操作系统,包括Linux、Windows和其他主流操作系统。它提供了丰富的管理工具和API,使用户可以方便地创建、配置和管理虚拟机。

4. 可扩展性:KVM支持多个虚拟CPU和大量的内存,可以满足不同应用的需求。它还支持虚拟机的迁移和复制,可以在不同的物理主机之间平衡负载和提高可用性。 总之,KVM是一种强大而灵活的虚拟化技术,它结合了Linux内核的强大功能和虚拟化的优势,为用户提供了高性能、安全性和灵活性的虚拟化解决方案。 

首先要使用virtualbox部署KVM,首先需要开启cpu等硬件的虚拟化,

需要达到如图效果:

查看cpu是否支持虚拟化 

 查看CPU是否可以虚拟化:出现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: 默认设置,数据包由 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配置,发现已经多了一块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部署与管理

创建KVM存储与镜像的目录,上传一个centos7的镜像文件,作为创建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

命令行模式创建虚拟机

virt-install 选项含义:

--name:指定创建的虚拟机的名称。

--ram:指定虚拟机的内存大小。

--vcpu:指定虚拟机的虚拟CPU数量。

--disk:指定虚拟机的磁盘路径和大小。

--size:指定虚拟机磁盘大小,一般跟在--disk后面,用 , 隔开。

--network:指定虚拟机的网络设置。

--cdrom:指定虚拟机的光盘路径,用于安装操作系统。

--graphics:指定虚拟机的图形设置,比如VNC连接等。

--os-variant:指定虚拟机的操作系统类型。

--location:指定虚拟机的操作系统安装源。

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] 后才能继续安装系统。(其实就是centos的安装顺序,只是由图形界面变成了字符界面。)

输入相对应的指令来配置系统。 

系统安装中

查看此时的系统负载情况:

[root@kvm ~]# virsh list
 Id    名称                         状态
----------------------------------------------------
 1     KVM_test                       running

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/699788.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JAVA学习之String学习

1.底层是用什么实现的&#xff1f; JDK8用的char数组&#xff0c;JDK9开始使用byte数组,而且都是final型&#xff0c;所以不同字符串&#xff08;值&#xff09;的地址必然不同。 char和byte的区别&#xff1a;char是2个字节表示&#xff0c;而byte是一个字节。 JDK17中&…

Vue3解决:[Vue warn]: Failed to resolve component: el-table(或el-button) 的三种解决方案

1、问题描述&#xff1a; 其一、报错为&#xff1a; [Vue warn]: Failed to resolve component: el-table If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. at <App> 或者&#xff1a; …

网络安全(黑客)自学

建议一&#xff1a;黑客七个等级 黑客&#xff0c;对很多人来说充满诱惑力。很多人可以发现这门领域如同任何一门领域&#xff0c;越深入越敬畏&#xff0c;知识如海洋&#xff0c;黑客也存在一些等级&#xff0c;参考知道创宇 CEO ic&#xff08;世界顶级黑客团队 0x557 成员&…

kubectl-ai:K8S资源清单的GPT助手

琦彦&#xff0c;在 **云原生百宝箱 **公众号等你&#xff0c;与你一起探讨应用迁移&#xff0c;GitOps&#xff0c;二次开发&#xff0c;解决方案&#xff0c;CNCF生态&#xff0c;及生活况味。 kubectl-ai 项目是一个kubectl使用 OpenAI GPT 生成和应用 Kubernetes 清单的插件…

【APP自动化测试必知必会】Appium之微信小程序自动化测试

本节大纲 H5 与小程序介绍 混合 App 元素定位环境部署 混合 App 元素操作 Airtest 测试 App 01.H5与小程序介绍 H5概述 H5 是指第 5 代 HTML &#xff0c;也指用 H5 语言制作的一切数字产品。 所谓 HTML 是“超文本标记语言”的英文缩写。我们上网所看到网页&#xf…

Oculus创始人谈Vision Pro:苹果在硬件设计、营销都做对了选择

早在Vision Pro正式发布之前&#xff0c;Oculus创始人Palmer Luckey就已经体验过早期版本&#xff0c;并给出了极高的评价。Luckey指出&#xff0c;苹果在XR头显上的策略是明智的&#xff0c;先打造出每个人预期中的头显&#xff0c;然后再去考虑如何让大家买得起。 Vision Pro…

远程控制电脑软件VNC安装使用教程:Windows系统

什么是VNC&#xff1f; VNC (Virtual Network Console)&#xff0c;即虚拟网络控制台&#xff0c;它是一款基于 UNIX 和 Linux 操作系统的优秀远程控制工具软件&#xff0c;由著名的 AT&T 的欧洲研究实验室开发&#xff0c;远程控制能力强大&#xff0c;高效实用&#xff…

【python】python编程基础

基础工具包 python 原生数据结构元组 Tuple列表 list集合 set字典 dictionary NumPy 数据结构数组 Ndarray矩阵 Matrix Pandas 数据结构序列 Series &#xff08;一维&#xff09;数据框 DataFrame &#xff08;二维&#xff09; Matplotlib 数据可视化绘制饼图绘制折线图绘制直…

《Linux操作系统编程》 第六章 Linux中的进程监控: fork函数的使用,以及父子进程间的关系,掌握exec系列函数

&#x1f337;&#x1f341; 博主 libin9iOak带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——libin9iOak的博客&#x1f390; &#x1f433; 《面试题大全》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33…

一文读懂高分文章必备分析-GSEA

Gene Set Enrichment Analysis 或称 GSEA&#xff0c;是一种常用于转录组基因表达分析的数据挖掘技术&#xff0c;已经在《nature》、《Cell》、《ISME》、《Molecular Cell》、《Bioactive Materials》等高分杂志中发表多篇文章&#xff0c;涉及转录组及多组学内容。 凌恩生物…

yxcms存储型XSS至getshell 漏洞复现

为方便您的阅读&#xff0c;可点击下方蓝色字体&#xff0c;进行跳转↓↓↓ 01 环境部署02 漏洞配置03 利用方式04 修复方案 01 环境部署 &#xff08;1&#xff09;yxcms yxcms 基于 PHPMySQL 开发&#xff0c;这是一个采用轻量级 MVC 设计模式的网站管理系统。轻量级 MVC 设…

13-Cookie、Session、Token

目录 1.前置知识——HTTP协议 1.1.HTTP 的主要特点有以下 5 个&#xff1a; 1.2.HTTP 组成 1.3.为什么会有Cookie、Session、Token&#xff1f; 2.Cookie 3.Session PS&#xff1a;Cookie 和 Session 的联系与区别 4.Token 4.1.token的组成 4.2.token是如何生成的&am…

【广州华锐互动】VR航天航空体验展厅提供沉浸式的展示效果

VR航天航空体验展厅是一种基于虚拟现实技术的在线展览形式&#xff0c;它通过模拟真实的太空环境&#xff0c;为用户提供了一种身临其境的参观体验。与传统的线上展览相比&#xff0c;VR航天航空体验展厅具有以下几个特色&#xff1a; 1.沉浸式体验&#xff1a;VR航天航空体验…

史上最详细的webrtc-streamer访问摄像机视频流教程

目录 前言 一、webrtc-streamer的API 二、webrtc-streamer的启动命令介绍 1.原文 2.译文 三、webrtc-streamer的安装部署 1.下载地址 https://github.com/mpromonet/webrtc-streamer/releases 2.windows版本部署 3.Linux版本部署 四、springboot整合webrtc-streamer …

技术不断变革,亚马逊云科技中国峰会引领企业重塑业务

过去十年&#xff0c;数字化转型的浪潮携带着机遇和挑战席卷而来&#xff0c;几乎每个企业都在做数字化转型&#xff0c;开始向大数据、人工智能等新技术寻求生产力的突破。但随着数字化转型深入&#xff0c;很多企业开始感受到数字化投入的成本压力&#xff0c;加之新技术正带…

Alibi:Attention With Linear Biases Enables Input Length Extrapolation

Alibi:Attention With Linear Biases Enables Input Length Extrapolation IntroductionMethodResult参考 Introduction 假设一个模型在512token上做训练&#xff0c;在推理的时候&#xff0c;模型在更长的序列上表现叫做模型的外推性。作者表明以前的位置编码如Sin、Rotary、…

JS 数据变化监听函数封装

文章目录 监听函数使用用例重复添加函数&#xff0c;只有最后一个监听函数有效 监听函数 /*** 监听函数* param {对象} vm * param {键值} key * param {触发函数} action */ function WatchValueChange(vm, key, action) {var val vm[key]Object.defineProperty(vm, key, {e…

阿里内部流传出来的《1000 道互联网大厂 Java 工程师面试题》来袭,面试必刷,跳槽大厂神器

眼看着"金九银十"也快到来了&#xff0c;很多小伙伴都蠢蠢欲动想要刚给自己涨一波薪资&#xff1b;面试作为涨薪最直接最有效的方式&#xff0c;我们需要花费巨大的精力和时间来准备。除了自身的技术积累之外&#xff0c;掌握一定的面试技巧和熟悉最常见的面试题&…

掌握imgproc组件:opencv-图像轮廓与图像分割修复

图像轮廓与图像分割修复 1.查找并绘制轮廓1.1 寻找轮廓&#xff1a;findContours()函数1.2 绘制轮廓&#xff1a;drawContours()函数1.3 案例程序&#xff1a;轮廓查找 2. 寻找物体的凸包2.1 凸包2.2 寻找凸包&#xff1a;convexHull()函数2.3 案例&#xff1a;寻找和绘制物体的…

【前端|CSS系列第1篇】CSS零基础入门之CSS的基本概念和选择器

欢迎来到CSS零基础入门系列的第一篇博客&#xff01;在这个系列中&#xff0c;我们将一起学习CSS&#xff08;层叠样式表&#xff09;的基础知识&#xff0c;探索如何为网页添加样式和布局。本篇博客将重点介绍CSS的基本概念和选择器&#xff0c;帮助你理解CSS的核心概念。 1.…