周振林 周振林
首页
  • 前端文章

    • HTML
    • CSS
    • Tailwind CSS (opens new window)
    • JavaScript
    • Vue3
    • 其他
  • 学习笔记

    • 《JavaScript教程》
    • 《ES6 教程》
    • 《TypeScript》
    • 《Vue》
    • 《Git》
    • 《小程序笔记》
    • 《JS设计模式总结笔记》
  • 规范
  • Spring
  • 安装教程
  • 其他教程
  • 归真医学
  • 常用药材
  • 学习笔记
  • 经方学习心得
  • 基础
  • 虚拟化
  • Docker
  • OpenStack
  • 心情杂货
关于
收藏
  • 分类
  • 标签
  • 归档

周振林

IT界的小学生
首页
  • 前端文章

    • HTML
    • CSS
    • Tailwind CSS (opens new window)
    • JavaScript
    • Vue3
    • 其他
  • 学习笔记

    • 《JavaScript教程》
    • 《ES6 教程》
    • 《TypeScript》
    • 《Vue》
    • 《Git》
    • 《小程序笔记》
    • 《JS设计模式总结笔记》
  • 规范
  • Spring
  • 安装教程
  • 其他教程
  • 归真医学
  • 常用药材
  • 学习笔记
  • 经方学习心得
  • 基础
  • 虚拟化
  • Docker
  • OpenStack
  • 心情杂货
关于
收藏
  • 分类
  • 标签
  • 归档
  • 基础

  • 虚拟化

    • 虚拟化介绍
    • 准备KVM实验环境
    • 启动第一个KVM虚拟机
    • 远程管理KVM虚拟机
    • KVM内存和CPU虚拟化原理
    • KVM存储虚拟化原理
    • KVM LVM类型的存储池
    • KVM网络虚拟化基础
    • KVM动手实践虚拟网络
    • KVM理解virbr0
    • Linux 如何实现 VLAN
    • 动手实践 Linux VLAN
    • 云计算与 OpenStack
    • ESXI主机安装与配置
    • ESXI虚拟机安装
    • KVM介绍
    • KVM主机安装
      • KVM软件安装
        • 环境准备
        • 常用命令
        • KVM安装
      • 清理环境:卸载KVM
        • 网桥
    • KVM虚拟机安装
    • KVM Libvirt 存储池
    • KVM网络配置
  • Docker

  • OpenStack

  • 心情杂货

  • 更多
  • 虚拟化
周振林
2024-09-12
目录

KVM主机安装

# KVM软件安装

# 环境准备

安装一台带有界面的centos 7 虚拟机在软件界面选择安装gnome 或者安装后在安装gnome桌面,确保可以上网。

如果没有安装界面可以通过以下步骤安装图形化界面

开始安装图形界面,先安装X Window System

yum groupinstall "X Window System"
1

安装gnome

yum groupinstall -y "GNOME"
1

然后输入进入图形界面指令

init 5
或
startx
1
2
3

至此,Centos7命令和图形界面安装及下载完成。

# 常用命令

关闭虚拟机

# virsh shutdown <虚拟机名称>
1

# KVM安装

1. 关闭防火墙和selinux

systemctl stop firewalld
systemctl disable firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config   
#永久生效,但是必须要重启系统。
1
2
3
4
5

2. 查看CPU是否支持VT技术

egrep -c '(vmx|svm)' /proc/cpuinfo

如果输出的数字大于 0,则表示CPU 支持虚拟化。
1
2
3

或

cat /proc/cpuinfo | grep -E 'vmx|svm'

包含vmx或svm 则支持虚拟化
1
2
3

如果是物理机,需要在bios中开启Inter VT-x或AMD-V/RVI。如果是使用vmware workstation等虚拟化软件,需要打开虚拟机的嵌套虚拟化:

3. 安装kvm软件包

Centos7:

sudo yum install -y qemu-kvm libvirt libvirt-client virt-install bridge-utils libguestfs-tools virt-manager virt-viewer
1

说明:

  • qemu-kvm:即qemu+kvm,kvm负责cpu和内存的虚拟化,而qemu负责IO设备,如网卡和磁盘等的虚拟化。
  • libvirt:KVM管理工具,为不同的虚拟机监视器提供了统一的接口
  • libvirt-client:包含了一组用于与 libvirt 库交互的命令行工具
  • virt-install:用于guestos安装,包括virsh,virt-clone等工具
  • bridge-utils:配置网桥
  • libguestfs-tools:虚拟机镜像管理工具,包括virt-cat、virt-edit、virt-ls、virt-rescue
  • virt-manager:图形界面管理KVM虚拟化
  • virt-viewer:用于虚拟机控制台
  • libvirt-python:libvirt库的Python 绑定,在Python中使用 libvirt 的功能,包括对虚拟机、存储池、网络等资源的管理,以及对虚拟化宿主机的监控和控制

参考 (opens new window)

4. 启用和启动 libvirtd 服务

sudo systemctl enable libvirtd
sudo systemctl start libvirtd
sudo systemctl status libvirtd

1
2
3
4

5、查看KVM模块加载

# 检查kvm内核模块
$ lsmod | grep kvm
kvm_intel             188740  0
kvm                   637515  1 kvm_intel
irqbypass              13503  1 kvm
1
2
3
4
5

6. 添加用户到 libvirt 组

切换成root用户然后执行下面命令,把root用户添加到libvirt组

$ sudo -s
$ sudo usermod -aG libvirt $(whoami)
$ sudo usermod -aG kvm $USER
$ id
uid=1000(test) gid=1000(test) groups=1000(test),10(wheel),36(kvm),992(libvirt)
1
2
3
4
5

7. 创建网桥(br0)暂不配置

如果你打算从本机(Centos7.9)之外访问 KVM 虚拟机,你必须将虚拟机宿主机的网卡映射至网桥。virbr0 网桥是 KVM 安装完成后自动创建的。

$ brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.525400ff2f20       yes             virbr0-nic

# 关闭系统防火墙
$ sudo systemctl stop firewalld
$ sudo systemctl disable firewalld

# 桥接设备关联宿主机网卡
$ sudo virsh iface-bridge ens33 br0
Created bridge br0 with attached device ens33
Bridge interface br0 started

$ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.000c2937ae01       yes             ens33
virbr0          8000.525400ff2f20       yes             virbr0-nic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 清理环境:卸载KVM

[root@qfedu.com \~]# yum remove `rpm -qa | egrep 'qemu|virt|KVM'` -y

[root@qfedu.com \~]# rm -rf /var/lib/libvirt /etc/libvirt/
1
2
3

# 网桥

桥接工作在 OSI 网络参考模型的第二层数据链路层,是一种以 MAC 地址来作为判断依据来将网络划分成两个不同物理段的技术,其被广泛应用于早期的计算机网络当中。以太网是一种共享网络传输介质的技术,在这种技术下,如果一台计算机发送数据的时候,在同一物理网络介质上的计算机都需要接收,在接收后分析目的 MAC 地址,如果是属于目的 MAC 地址和自己的 MAC 地址相同便进行封装提供给网络层,如果目的 MAC 地址不是自己的 MAC 地址,那么就丢弃数据包。

doc81e6edf824184f77bb068a4ab773c62c.png

现有一台能上网的物理服务器,服务器只有 1 张网卡能上外网,服务中虚拟化出很多太kvm 虚拟机,现在需要配置 kvm 能够访问外网。在服务器 linux 系统中添加 brctl 网桥 br0,将服务器网卡 2、所有 kvm 网卡全部添加到br0 网桥中,实现共享网络。原来服务器网卡的 ip 地址,配置到 br0 网桥上面,实现远程管理。

Last Updated: 2025/06/18, 08:59:15
KVM介绍
KVM虚拟机安装

← KVM介绍 KVM虚拟机安装→

最近更新
01
Docker安装
06-10
02
Docker运行JAR
06-10
03
Docker部署MySQL
06-10
更多文章>
Copyright © 2019-2025 鲁ICP备19032096号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式