一篇搞懂!LinuxCentos中部署KVM虚拟化平台(文字+图片)

devtools/2024/11/12 10:20:23/

 

🏡作者主页:点击! 

👨‍💻Linux高级管理专栏:点击!

⏰️创作时间:2024年6月28日15点11分

🀄️文章质量:94分


目录

————前言————

KVM的优点

KVM 的缺点

部署教程

创建存储池

创建存储卷

导入ISO镜像

分配资源

安装完成


————前言————

KVM 通过将 Linux 内核转换为一个裸机(bare-metal)管理程序(hypervisor),使得用户可以在单一物理主机上运行多个虚拟机(VM),每个虚拟机都拥有独立的操作系统和资源。这样的架构不仅提高了硬件资源的利用率,还简化了系统管理和部署,极大地节约了成本。

KVM的优点

  1. 高性能

    1. 硬件支持:KVM 利用硬件虚拟化扩展,提供接近原生硬件的性能。
    2. 内核集成:作为内核模块,KVM 直接受益于 Linux 的性能优化和资源管理机制。
  2. 开源和成本效益

    1. 开源:KVM 是开源软件,遵循 GNU GPL 许可证,用户可以免费使用、修改和分发。
    2. 社区支持:活跃的开源社区提供持续的改进和支持,降低了总拥有成本。
  3. 灵活性

    1. 多操作系统支持:KVM 支持多种操作系统作为客户机,包括各种 Linux 发行版、Windows、BSD 等。
    2. 兼容性:能够与其他开源虚拟化工具(如 QEMU、libvirt)无缝集成,提供强大的虚拟化管理能力。
  4. 安全性

    1. 内核级安全:利用 Linux 内核的安全特性(如 SELinux 和 cgroups),KVM 提供强大的隔离和安全控制。
    2. 资源隔离:每个虚拟机都是一个独立的进程,利用 Linux 的资源控制和隔离功能确保安全性。
  5. 资源管理和扩展性

    1. 动态调整:支持动态调整 CPU、内存、网络和存储资源,优化资源利用。
    2. 扩展性:可以轻松扩展虚拟机数量和资源配置,适应不同规模的需求。

KVM 的缺点

  1. 硬件依赖

    • 硬件要求:需要支持硬件虚拟化的 CPU(如 Intel VT-x 或 AMD-V),在不支持这些技术的硬件上无法运行。
  2. 管理复杂性

    • 学习曲线:尽管有工具(如 libvirt)帮助管理,但相较于一些商用虚拟化解决方案,KVM 的管理和配置可能更为复杂。
    • 命令行操作:许多高级功能需要通过命令行实现,可能对不熟悉命令行操作的用户带来一定难度。
  3. 性能开销

    • I/O 开销:尽管 KVM 性能接近原生,但在某些 I/O 密集型应用中,虚拟化层可能引入一定的性能开销。
    • 资源竞争:在资源紧张的环境中,多个虚拟机之间的资源竞争可能导致性能下降。

总结优点是:隔离性强,安全性强           缺点:二次调用/调用效率低,资源利用率低

部署教程

配置本地yum源

如果出现无可用安装包

请配置网络源

Centos7本地源配置

Centos7配置阿里源

开启其选项

安装所需组件

yum install -y qemu-kym qem-kvm-tools virt-install qemu-img bridge-utils libvirt virt-manager

查看CPU是否支持虚拟化

AMDCPU使用 cat/proc/cpuinfo | grep vmx

cat /proc/cpuinfo | grep vmx

查看KVM模块是否安装

[root@localhost ~]# lsmod | grep kvm
kvm_amd                64937  0 
kvm                   554609  1 kvm_amd
irqbypass              13503  1 kvm

开启服务,安装完成之后开启libvirtd服务,以开启相关支持

[root@localhost ~]# systemctl start libvirtd
[root@localhost ~]# systemctl enable libvirtd

编辑ifcfg-br0网卡

如果没有这块网卡可以复制ens33的一份 然后修改

 vim /etc/sysconfig/network-scripts/ifcfg-br0
加入一下内容
TYPE=Bridge
BOOTPROTO=static
NAME=br0
ONBOOT=yes
PREFIX=24
DEVICE=br0
IPADDR=192.168.180.139
GATEWAY=192.168.180.254
DNS1=202.96.134.133
IP地址根据自己下现实环境配置

编辑ens33网卡

进ens33
vim /etc/sysconfig/network-scripts/ifcfg-ens33TYPE=Ethernet
BOOTPROTO=none
NAME=ens33
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0

virt-manager是基于libvirt的图像化虚拟机管理软件

virt-manager


Virt-manager 是一个图形用户界面 (GUI),用于管理计算机上的虚拟机。

创建存储池

(1)创建存储池,双击“QEMU/KVM",选择“存储”选项卡,

(2)以同样的操作创建一个镜像存储池,命名为“bdqn_iso”,目录为'/data_kvm/iso”即可在安装操作系统时,我们把镜像上传到服务器目录/data_kvm/iso,如图 14.4所示。

创建存储卷

导入ISO镜像

把镜像文件拖进去(自己定义的iso镜像文件存放位置)

新建虚拟机

选择你ISO存放的位置

分配资源

根据自己的电脑配置分配资源

其他的看你的选择

选择第一个安装Centos

此刻实验已经完成了 成功的创建了一个虚拟Centos7

等待安装即可

安装完成

"成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子


http://www.ppmy.cn/devtools/56830.html

相关文章

comsol学习笔记

comsol岩土力学与流固耦合的学习 comsol的相关视频教程 https://www.bilibili.com/video/BV1Cu4y1r7Gn/?spm_id_from333.337.search-card.all.click&vd_source02b2bad477a153eaeb9c48cbbedaf8df [这里面有讲解地应力平衡技术] https://www.bilibili.com/video/BV17C4y1j…

python最基础

基本的类 python最基础、最常用的类主要有int整形,float浮点型,str字符串,list列表,dict字典,set集合,tuple元组等等。int整形、float浮点型一般用于给变量赋值,tuple元组属于不可变对象&#…

邮件接口代码案例中的SMTP服务器配置详解!

邮件接口代码案例的编写技巧?如何集成邮件服务API? 对于开发者来说,邮件接口代码案例提供了丰富的参考和实践机会,其中SMTP服务器配置是不可或缺的一环。AoKSend将详细讲解如何配置SMTP服务器,并解析其中的重要参数和…

微服务部署上线过程总结

目录 一、找到适合自己的部署方式 二、开始部署,先安装需要的环境 2.1 梳理一下都需要安装什么软件 2.2 配置数据库环境 2.3 配置redis 2.4 配置nacos 2.5 配置rabbitmq 2.6 配置docker环境 三、环境配置好了,开始部署后端 3.1 梳理后端都…

BASH and SH in SHELL scripts

一、执行脚本的现象 为了测试一个小的功能&#xff0c;写了一个小脚本&#xff0c;类似的内容如下&#xff1a; #!/bin/shecho "start api test ......"for((i1;i<10;i)); do echo "cur id :" $i; done echo "end."执行一下&#xff0c;“…

C++ (第二天上午---函数重载和缺省参数和占位参数)

一、函数重载 1、问题的引入 在实际开发中&#xff0c;有时候我们需要实现几个功能类似的函数&#xff0c;只是有些细节不同。例如希望交换两个变量的值&#xff0c;这两个变量有多种类型&#xff0c;可以是 int、float、char、bool 等&#xff0c;我们需要通过参数把变量的地…

6.The hardest part about learing hard things(学一件难的事,难在哪里)

I’ve been recording a lot of podcast interviews for my upcoming book, Ultralearning.One of the reurring themes I’ve noticed in our conversations is that how people feel about learning is the overwhelming cause of the results they experience. 我为我的新书…

[leetcode]文件组合

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<vector<int>> fileCombination(int target) {vector<vector<int>> vec;vector<int> res;int sum 0, limit (target - 1) / 2; // (target - 1) / 2 等效于 target /…