xustudyxu's Blog
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
  • JavaWeb

    • HTML
    • CSS
    • JavaScript
    • Vue
    • Servlet
    • MVC
    • filter|listener
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python

    • Python基础
    • 数据分析
  • 环境搭建

    • Hadoop集群
    • KVM虚拟化技术
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 十大排序算法
  • 力扣算法题
  • 初级开发篇
  • 中高进阶篇
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
查看源码 (opens new window)

xustudyxu

一起学习编程!
首页​
导航🚀​
  • 数据结构
  • 计算机网络
  • Java基础

    • JavaSE
  • JavaWeb

    • HTML
    • CSS
    • JavaScript
    • Vue
    • Servlet
    • MVC
    • filter|listener
  • Spring5
  • SpringMVC
  • SpringBoot2
  • SpringCloud
  • SpringSecurity
  • 搜索引擎

    • ElasticSearch
  • 消息队列

    • RabbitMQ
  • 服务器

    • Nginx🌐
  • 服务框架

    • Dubbo
  • Python

    • Python基础
    • 数据分析
  • 环境搭建

    • Hadoop集群
    • KVM虚拟化技术
  • SQL 数据库

    • MySQL
  • NoSQL 数据库

    • NoSQL数据库概论
    • Redis
    • MongoDB
    • HBase
  • 框架

    • MyBatis
    • MyBatis-Plus
  • 部署

    • Linux
    • Docker
  • 管理

    • Maven
    • Git
  • 十大排序算法
  • 力扣算法题
  • 初级开发篇
  • 中高进阶篇
  • 友情链接
  • 优秀博客文章
  • 索引

    • 分类
    • 标签
    • 归档
  • 其他

    • 关于
查看源码 (opens new window)
  • Python 基础

    • Python 基础篇(一)
    • Python 基础篇(二)
    • Python 基础篇(三)
    • Python 基础篇(四)
    • Python 基础篇 (五)
    • Python 列表
    • Python 字典
    • Python 元组和集合
    • Python 字符串
    • Python 函数与变量作用域
    • Python 异常处理
    • Python 面向对象
    • Python 模块与包
    • Python 文件
    • 学生信息管理系统
  • 数据分析

    • 数据分析介绍
    • 环境搭建
    • Numpy库
    • Pandas 库
  • Hadoop搭建集群

    • 搭建Hadoop集群
    • 搭建Hadoop集群(二)
  • CentOS7 KVM虚拟化技术

    • CentOS7 KVM虚拟化技术
  • studynotes
  • bigdata
  • Hadoop
xu
2022-04-21
目录

CentOS7 KVM虚拟化技术

# CentOS7 KVM虚拟化技术

  • 虚拟化介绍
  • KVM介绍
    • KVM实际操作
    • KVM配置网络
    • 图形操作
    • 结果
  • 参考资料

# 虚拟化介绍

虚拟化:是指通过虚拟化技术将一台计算机虚拟为多台逻辑计算机。在一台计算机上同时运行多个逻辑计算机,每个逻辑计算机可运行不同的操作系统,并且应用程序都可以在相互独立的空间内运行而互相不影响,从而显著提高计算机的工作效率。

虚拟化层层种类:完全虚拟化、准虚拟化、系统虚拟化、桌面虚拟化

# KVM介绍

kVM 全称是 Kernel-Based Virtual Machine。也就是说 KVM 是基于 Linux 内核实现的。 KVM有一个内核模块叫 kvm.ko,只用于管理虚拟 CPU 和内存。

那 IO 的虚拟化,比如存储和网络设备则是由 Linux 内核与Qemu来实现。 作为一个 Hypervisor,KVM 本身只关注虚拟机调度和内存管理这两个方面。IO 外设的任务交给 Linux 内核和 Qemu。

KVM,是一个开源的系统虚拟化模块,自 Linux 2.6.20 之后集成在Linux的各个主要发行版本中。 它使用 Linux自身的调度器进行管理,所以相对亍Xen,其核心源码很少。KVM 目前已成为学术界的主 流 VMM(虚拟机监控器)之一。KVM的虚拟化需要硬件支持(如 Intel VT技术戒者 AMD V技术)。是基于硬件的完全虚拟化。而 Xen 早期则是基于软件模拟的 Para-Virtualization。

# KVM实际操作

提示

新建虚拟机,内存40G

01

  1. 查看 CPU 是否支持硬件虚拟化技术
Intel: cat /proc/cpuinfo | grep --color vmx (指的是酷睿处理器)
AMD: cat /proc/cpuinfo | grep --color svm (指的是锐龙处理器)
1
2

出现红色的vmx就可以继续

  1. 本地yum源
vim m.repo
1

把下面内容粘进去,:wq保存退出

[m]
name=m
baseurl=file:///mnt
enabled=1
gpgcheck=0
1
2
3
4
5
  1. 安装KVM模块、管理工具和 libvirt,命令行安装
yum -y install qemu-kvm libvirt libguestfs-tools virt-install virt-manager libvirt-python
1

解释:

qemu-kvm : kvm 主程序, KVM虚拟化模块

virt-manager: KVM图形化管理工具

libvirt: 虚拟化服务

libguestfs-tools : 虚拟机的系统管理工具

virt-install : 安装虚拟机的实用工具 。比如 virt-clone克隆工具就是这个包安装的

libvirt-python : python 调用libvirt 虚拟化服务的 api 接口库文件

  1. 开启并查看安装KVM后的服务
  • 开启虚拟化服务
systemctl start libvirtd
1
  • 设置 libvirtd服务开机启动
systemctl enable libvirtd
1
  • 查看正在加载kvm模块
[root@frx01 ~]# lsmod | grep kvm
kvm_intel             188740  0 
kvm                   637515  1 kvm_intel
irqbypass              13503  1 kvm
1
2
3
4

lsmod——显示已载入系统的模块

lsmod 
1
  1. 将kvm管理工具从英文界面,切换成中文界面
[root@frx01 ~]# echo $LANG
zh_CN.UTF-8 #中文哈
1
2
 LANG='zh_CN.UTF-8' #如果是英文,把英文改为中文
1

# KVM配置网络

网桥介绍: 我们经常所说的 Bridge设备其实就是网桥设备,也就相当于现在的二层交换机,用于连接 同一网段内的所有机器,所以我们的目的就是将网络设备 eth0添加到 br0,此时 br0 就成为了所谓的交 换机设备,我们物理机的 eth0也是连接在上面的。

添加桥接设备 br0: 相当于一个二层交换机

  1. 安装桥设备工具
yum -y install net-tools bridge-utils
1
  1. 编辑网卡桥接文件cloudbr
[root@frx01 ~]# cd /etc/sysconfig/network-scripts/
[root@frx01 network-scripts]# ls
ifcfg-ens33      ifdown-post      ifup-eth     ifup-sit
ifcfg-ens33.bak  ifdown-ppp       ifup-ib      ifup-Team
ifcfg-lo         ifdown-routes    ifup-ippp    ifup-TeamPort
ifdown           ifdown-sit       ifup-ipv6    ifup-tunnel
ifdown-bnep      ifdown-Team      ifup-isdn    ifup-wireless
ifdown-eth       ifdown-TeamPort  ifup-plip    init.ipv6-global
ifdown-ib        ifdown-tunnel    ifup-plusb   network-functions
ifdown-ippp      ifup             ifup-post    network-functions-ipv6
ifdown-ipv6      ifup-aliases     ifup-ppp
ifdown-isdn      ifup-bnep        ifup-routes
[root@frx01 network-scripts]# vim ifcfg-cloudbr0   #是零
1
2
3
4
5
6
7
8
9
10
11
12
13

添加一下内容

警告

网段使用你自己的网段,我的是192.168.197.1,查看自己的网段步骤

TYPE="Bridge"
BOOTPROTO="none"
DEVICE="cloudbr0"     
ONBOOT="yes"
IPADDR="192.168.197.188"   #需要修改
NETMASK="255.255.255.0"
GATEWAY="192.168.197.2"    #需要修改
DNS1="192.168.197.2"       #需要修改
STP="yes"
1
2
3
4
5
6
7
8
9

保存退出

  1. 设置网卡文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
1

把我们原来的静态IP配置删除,添加一行BRIDGE=cloudbr0

02

保存退出

  1. 重启网络服务
systemctl restart network
1
  • 测试是否可以上网
[root@frx01 network-scripts]# ping www.baidu.com
PING www.a.shifen.com (110.242.68.4) 56(84) bytes of data.
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=1 ttl=128 time=35.8 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=2 ttl=128 time=30.9 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=3 ttl=128 time=34.3 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=4 ttl=128 time=35.8 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=5 ttl=128 time=35.8 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=6 ttl=128 time=30.0 ms
^C
--- www.a.shifen.com ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5007ms
rtt min/avg/max/mdev = 30.035/33.825/35.888/2.432 ms
1
2
3
4
5
6
7
8
9
10
11
12
  1. 查询网桥信息
[root@frx01 network-scripts]# brctl show 
bridge name			bridge id		STP enabled	       interfaces
cloudbr0		8000.000c29dad62a		no				ens33
virbr0			8000.525400b1a5d4		yes				virbr0-nic
1
2
3
4

# 图形操作

  1. 使用XFTP把最小化镜像传输到Linux系统
mkdir /opt/minmal-linux
cd /opt/minmal-linux
1
2

03

右键传输一下就OK

  1. 打开创建虚拟机使用命令:
virt-manager
1

04

前进

05

前进,前进,前进

06

完成

07

继续,最小安装,取消启用KDUMP,主机名想改改,分区点击那个硬盘,完成

  1. 开始安装
  • 设置root密码

  • 普通用户想创建创建

  • 安装完成,重启

# 结果

08

# 参考资料

  • https://blog.csdn.net/m0_50019871/article/details/109581648?spm=1001.2014.3001.5502
帮助我改善此页面 (opens new window)
#KVM虚拟化技术
上次更新: 2025年5月18日
搭建Hadoop集群(二)

← 搭建Hadoop集群(二)

最近更新
01
结构型模式
03-21
02
创建者模式
01-20
03
设计模式入门
12-30
更多文章>
Theme by Vdoing | Copyright © 2021-2025 xustudyxu |豫ICP备2022008983号

豫公网安备 41018302000331号

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式