Linux部署KVM虚拟化平台

article/2025/9/15 4:18:51

了解KVM:
        Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于Xen,其核心源码很少。KVM已成为学术界的主流VMM之一。

实验准备:开启Linux系统(CentOS7),开启CUP虚拟化功能

一,部署KVM平台

1.虚拟机开启CPU虚拟化服务

注:真实机进入BIOS开启CPU虚拟化功能

2.搭建yum,安装KVM

rm -f /etc/yum.repos.d/*
vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///mnt
gpgcheck=0

        安装KVM(可以直接复制)

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

3.查看kvm模块是否安装

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

4. 设定kvm网络,kvm支持两种网络设置方式:nat和bridge(桥接),默认是nat

  • 用户模式(User Networking):让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整。NAT方式。
  • 桥接模式(Virtual Bridge):这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。Bridge方式。

注:更改网卡信息,前面!的代表需要更改,其他无需更改,br0网卡需要将UUID=c05680db-61c6-4975-b262-045ab09593c1删除!!!

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-ens33
TYPE=Ethernet
!BOOTPROTO=none
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=ens33
UUID=c05680db-61c6-4975-b262-045ab09593c1
DEVICE=ens33
!ONBOOT=yes
!BRIDGE=br0
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-br0
[root@localhost network-scripts]# vim 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.1.1
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.1.1  netmask 255.255.255.0  broadcast 192.168.1.255inet6 fe80::ec48:d714:7ea0:dfe7  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:f1:3c:af  txqueuelen 1000  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 17  bytes 2582 (2.5 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500ether 00:0c:29:f1:3c:af  txqueuelen 1000  (Ethernet)RX packets 73  bytes 4563 (4.4 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 17  bytes 2600 (2.5 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1  (Local Loopback)RX packets 324  bytes 28180 (27.5 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 324  bytes 28180 (27.5 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255ether 52:54:00:7b:21:ed  txqueuelen 1000  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

5.创建两个准备存储池的目录(store存储虚拟机  iso存放镜像),挂载镜像磁盘,制作镜像文件

[root@localhost ~]# mkdir -p /date_kvm/store
[root@localhost ~]# mkdir -p /date_kvm/iso
[root@localhost ~]# cp   /dev/cdrom    /data_kvm/iso/centos.iso

6.开启libvirt服务,提供相关的支持

[root@localhost ~]# systemctl start libvirtd

7.运行kvm平台,创建存储池和镜像存储池

[root@localhost ~]# virt-manager

        双击GEMU/KVM 

 

        点击存储,点击加号+

 

        创建存储池,输入名称

        指定刚刚创建的存储虚拟机的目录

 

        继续点击加号,创建镜像存放位置

        输入名称,前进 

        指定刚刚创建的存放镜像目录 

        进入kvm_store创建磁盘,输入名称,分配大小 

 右击QEMU/KVM新建 

选择本地安装 

使用刚刚创建的本地系统盘,下一步就可以了

内存,磁盘大小根据个人情况就可以直接下一步,下一步安装就可以了 

注:安装系统,在这里就不演示了,不知道的同学可以看我主页有一章零基础安装Linux系统


http://chatgpt.dhexx.cn/article/eFZl2hTC.shtml

相关文章

综合虚拟试衣平台

【摘要】 综合虚拟试衣平台是一个完整的虚拟试衣体验系统&#xff0c;拥有电子商城、线下虚拟试衣设备、核心SAAS平台三个模块。人们可以在线上线下&#xff0c;通过鼠标选择场景、人物、衣物自动生成试衣动画&#xff0c;或是通过摄像头摆拍实时获取。用户可通过此平台体验从…

VMware ESXi-虚拟化平台的搭建

前言&#xff1a;vSphere 是VMware公司推出一套服务器虚拟化解决方案&#xff0c;其核心组件为 VMware ESXi 和VMware vCenter&#xff0c;本文简单介绍VMware ESXi 的安装使用。 它与我们常用的虚拟机不同的是&#xff0c;日常使用的虚拟机是需要依赖于一个操作系统的&#xf…

虚拟仿真实验平台服务器需求,虚拟仿真实验中心平台建设方案.pptx

虚拟仿真实验中心平台建设方案.pptx 一,二,三,虚拟仿真实验概述,虚拟仿真实验教学,虚拟仿真实验中心建设,一,二,三,虚拟仿真实验概述,虚拟仿真实验教学,虚拟仿真实验中心建设,,随着计算机、互联网等先进技术的迅速发展和大面积普及推广,虚拟仿真实验应运而生。虚拟仿真实验改变…

服务器虚拟化和云平台,云平台和服务器虚拟化区别

云平台和服务器虚拟化区别 内容精选 换一换 云硬盘(Elastic Volume Service, EVS)可以为云服务器提供高可靠、高性能、规格丰富并且可弹性扩展的块存储服务,可满足不同场景的业务需求,适用于分布式文件系统、开发测试、数据仓库以及高性能计算等场景。云服务器包括弹性云服务…

虚拟化服务器云平台,云管理平台——虚拟化管理功能介绍

原标题&#xff1a;云管理平台——虚拟化管理功能介绍 虚拟化资源池管理&#xff1a;实现对虚拟化数据中心资源池中的物理服务器、虚拟机统一管理、监控、调度。 主要功能&#xff1a; 物理服务器管理&#xff1a;资源纳管、信息获取、清单与查询、配置和管理 虚拟机管理&#…

javassist 基本用法

Javassist是一个能够操作字节码框架&#xff0c;在学习的过程中存在了一些问题&#xff0c;用博客的方式记录下来&#xff0c;希望对大家有所帮助。 一、实例功能 学习的实例来自于 IBM developer 主要功能实现计算一个方式具体的执行时间. 二、代码实例 package org.ja…

javassist对已有的类进行操作

准备工作&#xff1a; 首先创建一个java项目&#xff0c;然后导入javassist.jar包 创建一个注解 package com.chengyu.javassist;public interface Auto {String name();int year(); }创建一个接口 public interface Earth { } 创建两个类 public class Pepelo{ } packag…

【Javassist】快速入门系列03 使用Javassist实现方法异常处理

系列文章目录 01 在方法体的开头或结尾插入代码 02 使用Javassist实现方法执行时间统计 03 使用Javassist实现方法异常处理 文章目录 系列文章目录前言引入Javassist jar包使用Javassist实现方法异常处理 总结说明 前言 上一章我们介绍了使用使用Javassist实现了对方法执行时…

【Javassist】快速入门系列04 使用Javassist更改整个方法体

系列文章目录 01 在方法体的开头或结尾插入代码 02 使用Javassist实现方法执行时间统计 03 使用Javassist实现方法异常处理 04 使用Javassist更改整个方法体 文章目录 系列文章目录前言引入Javassist jar包使用Javassist更改整个方法体 总结说明 前言 上一章我们介绍了使用Ja…

Java字节码编程之非常好用的javassist

我为什么要研究这个&#xff1f; 因为我在开发一个框架的时候需要用到。 我开发的这个框架&#xff0c;有一个注解&#xff0c;当用户输入变量名&#xff0c;类名的时候&#xff0c;我这个框架可以为其自动生成一个对象&#xff0c;并加载到内存中供以后使用。 这个小功能可…

javassist学习

Java 字节码以二进制的形式存储在 .class 文件中&#xff0c;每一个 .class 文件包含一个 Java 类或接口。Javaassist 就是一个用来 处理 Java 字节码的类库。它可以在一个已经编译好的类中添加新的方法&#xff0c;或者是修改已有的方法&#xff0c;并且不需要对字节码方面有深…

Javassist

Javassist Javassist是一个开源的分析、编辑和创建Java字节码的类库&#xff0c;可以直接编辑和生成Java生成的字节码。 相对于bcel, asm等这些工具&#xff0c;开发者不需要了解虚拟机指令&#xff0c;就能动态改变类的结构&#xff0c;或者动态生成类。javassist简单易用&…

[Java基础]—Javassist

Javassist Javassist (JAVA programming ASSISTant) 是在 Java 中编辑字节码的类库;它使 Java 程序能够在运行时定义一个新类, 并在 JVM 加载时修改类文件。原理与反射类似&#xff0c;但开销相对较低。 常用API ClassPool getDefault : 返回默认的 ClassPool 是单例模式的&…

Javassist基本用法

Javassist概述 Javassist是可以动态编辑Java字节码的类库。它可以在Java程序运行时定义一个新的类&#xff0c;并加载到JVM中&#xff1b;还可以在JVM加载时修改一个类文件&#xff0c;添加新的方法&#xff0c;或者是修改已有的方法。Javassist使用户不必关心字节码相关的规范…

Java中的高性能字节码工具:Javassist

前言 一般常见的动态方法调用使用Reflection或者字节码生成技术。虽然JDK已对反射进行了优化但在追求性能的场景中仍然显得性能不佳。本文即是介绍一个面向程序员友好的字节码操作类库javassist。根据benchmark其展现的性能已几乎无异于直接调用。 开源地址&#xff1a;javas…

Java字节码技术javassist

一、Javassist入门 &#xff08;一&#xff09;Javassist是什么 Javassist是可以动态编辑Java字节码的类库。它可以在Java程序运行时定义一个新的类&#xff0c;并加载到JVM中&#xff1b;还可以在JVM加载时修改一个类文件。Javassist使用户不必关心字节码相关的规范也是可以编…

java--javassist学习

Javassist是一个开源的分析、编辑和创建Java字节码的类库。是由东京工业大学的数学和计算机科学系的 Shigeru Chiba &#xff08;千叶 滋&#xff09;所创建的。它已加入了开放源代码JBoss 应用服务器项目,通过使用Javassist对字节码操作为JBoss实现动态AOP框架。javassist是jb…

javassist使用指南

目录 一、快速入门1.1 创建class文件1.2 ClassPool的相关方法1.3 CtClass的相关方法1.4 CtMethod的相关方法1.5 调用生成的类对象1.5.1 通过反射调用1.5.2 通过接口调用 1.6 修改现有的类对象 二、将类冻结三、类搜索路径四、$开头的特殊字符五、ProxyFactory的使用 我们知道Ja…

systemd介绍

由来 Linux 的启动一直采用init进程&#xff0c;这种方法有两个缺点。一是启动时间长。init进程是串行启动&#xff0c;只有前一个进程启动完&#xff0c;才会启动下一个进程&#xff0c;二是启动脚本复杂。init进程只是执行启动脚本&#xff0c;不管其他事情。脚本需要自己处理…

systemd man手册

SYSTEMD&#xff08;1&#xff09;systemd SYSTEMD&#xff08;1&#xff09; 名称 systemd&#xff0c;init-systemd系统和服务管理器 概要 /lib/systemd/systemd [OPTIONS...]init [OPTIONS...] {COMMAND}描述 systemd是Linux操作系统的系统和服务管理器。在启动时作为PID的…