首页 > 系统相关 >ubuntu22 kvm bridge

ubuntu22 kvm bridge

时间:2023-05-30 16:22:04浏览次数:44  
标签:bridge KVM 虚拟化 虚拟机 kvm libvirt ubuntu22 sudo

KVM 是 基于内核的虚拟机(Kernel-based Virtual Machine) 的首字母缩写,这是一项集成在内核中的开源虚拟化技术。它是一种类型一(裸机)的管理程序(hypervisor),可以使内核能够作为一个裸机管理程序(bare-metal hypervisor)。

在 KVM 之上可以运行 Windows 和 Liunx 虚拟机。每个虚拟机都独立于其它虚拟机和底层操作系统(宿主机系统),并拥有自己的 CPU、内存、网络接口、存储设备等计算资源。

本文将介绍在 Ubuntu 22.04 LTS(Jammy Jellyfish)中如何安装 KVM 。在文末,我们也将演示如何在安装 KVM 完成之后创建一台虚拟机。

1、更新 Ubuntu 22.04

在一切开始前,打开终端并通过如下命令更新本地的软件包索引:

$ sudo apt update

2、检查虚拟化是否开启

在进一步行动之前,首先需要检查你的 CPU 是否支持 KVM 虚拟化,确保你系统中有 VT-x( vmx)英特尔处理器或 AMD-V(svm)处理器。

你可以通过运行如下命令,如果输出值大于 0,那么虚拟化被启用。否则,虚拟化被禁用,你需要启用它:

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

 

根据上方命令输出,你可以推断出虚拟化功能已经启用,因为输出结果大于 0。如果虚拟化功能没有启用,请确保在系统的 BIOS 设置中启用虚拟化功能。

另外,你可以通过如下命令判断 KVM 虚拟化是否已经在运行:

$ kvm-ok

运行该命令之前,请确保你已经安装了cpu-checker软件包,否则将提示未找到该命令的报错。

直接就在下面,你会得到如何解决这个问题的指示,那就是安装cpu-checker包。

 

随后,通过如下命令安装cpu-checker软件包:

$ sudo apt install -y cpu-checker

接着再运行kvm-ok命令,如果 KVM 已经启动,你将看到如下输出:

$ kvm-ok

 

3、在 Ubuntu 22.04 上安装 KVM

随后,通过如下命令在 Ubuntu 22.04 中安装 KVM 以及其他相关虚拟化软件包:

$ sudo apt install -y qemu-kvm virt-manager libvirt-daemon-system virtinst libvirt-clients bridge-utils

以下为你解释刚刚安装了哪些软件包:

◈qemu-kvm– 一个提供硬件仿真的开源仿真器和虚拟化包

◈virt-manager– 一款通过 libvirt 守护进程,基于 QT 的图形界面的虚拟机管理工具

◈libvirt-daemon-system– 为运行 libvirt 进程提供必要配置文件的工具

◈virtinst– 一套为置备和修改虚拟机提供的命令行工具

◈libvirt-clients– 一组客户端的库和API,用于从命令行管理和控制虚拟机和管理程序

◈bridge-utils– 一套用于创建和管理桥接设备的工具

4、启用虚拟化守护进程(libvirtd)

在所有软件包安装完毕之后,通过如下命令启用并启动 libvirt 守护进程:

$ sudo systemctl enable --now libvirtd

$ sudo systemctl start libvirtd

你可以通过如下命令验证该虚拟化守护进程是否已经运行:

$ sudo systemctl status libvirtd

 

另外,请将当前登录用户加入kvm和libvirt用户组,以便能够创建和管理虚拟机。

$ sudo usermod -aG kvm $USER

$ sudo usermod -aG libvirt $USER

$USER环境变量引用的即为当前登录的用户名。你需要重新登录才能使得配置生效。

5、创建网桥(br0)

如果你打算从本机(Ubuntu 22.04)之外访问 KVM 虚拟机,你必须将虚拟机的网卡映射至网桥。virbr0网桥是 KVM 安装完成后自动创建的,仅做测试用途。

你可以通过如下内容在/etc/netplan目录下创建文件01-netcfg.yaml来新建网桥:

$ sudo vi /etc/netplan/01-netcfg.yaml
network:
ethernets:
enp0s3:
dhcp4: false
dhcp6: false
# add configuration for bridge interface
bridges:
br0:
interfaces: [enp0s3]
dhcp4: false
addresses: [192.168.1.162/24]
macaddress: 08:00:27:4b:1d:45
routes:
- to: default
via: 192.168.1.1
metric: 100
nameservers:
addresses: [4.2.2.2]
parameters:
stp: false
dhcp6: false
version: 2

 

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
保存并退出文件。

注:上述文件的配置是我环境中的,请根据你实际环境替换 IP 地址、网口名称以及 MAC 地址。

你可以通过运行netplan apply命令应用上述变更。

$ sudo netplan apply

你可以通过如下ip命令,验证网桥br0:

$ ip add show

 

报错解决

更改一下下述文件权限即可

sudo chmod 777 /var/run/libvirt/libvirt-sock
————————————————
版权声明:本文为CSDN博主「学亮编程手记」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a772304419/article/details/126261169

标签:bridge,KVM,虚拟化,虚拟机,kvm,libvirt,ubuntu22,sudo
From: https://www.cnblogs.com/ruiy/p/17443581.html

相关文章

  • centos 7.9安装KVM虚拟化
    一、操作步骤1.1开启CPU虚拟化此处以vmwareworkstation举例,虚拟机关机状态,勾选这两项即可。1.2验证虚拟化是否开启成功有回显说明虚拟化开启成功,这样才支持安装和使用KVM虚拟化。cat/proc/cpuinfo|grepvmxcat/proc/cpuinfo|grepnxcat/proc/cpuinfo|grepsvm......
  • ubuntu22安装docker、redis、mysql及部署net6应用
    一、更新系统软件包索引sudoaptupdate二、安装dockersudoaptinstalldocker.io三、在docker中安装Mysql拉取mysql镜像dockerpullmysql:latest查看镜像dockerimages运行容器dockerrun-itd-p3306:3306-eMYSQL_ROOT_PASSWORD=123456--namemysql......
  • 虚拟机磁盘空间不够了怎么办:VirtualBox/Ubuntu22.04扩展磁盘空间
    当虚拟机在使用过程中发现需要使用的硬盘容量超过创建时分配的硬盘容量时,就会很尴尬,像这样:(b.t.w,要是虚拟硬盘选择的是动态分配存储模式,但虚拟分配空间超过你的物理硬盘空间,当虚拟机使用了超过物理空间的大小时,亲测虚拟机会闪退,切记切记)用如下方式为虚拟硬盘扩容:(1)......
  • Ubuntu22.04 安装单机版kubernetes
    前言上期讲到要实现.net6框架下的EFCore操作数据库基本增删改查,没有及时兑现。没有兑现的原因就是因为安装kubernetes。安装kubernetes的过程是灾难性的,也是十分顺利的。灾难性是因为在安装kubernetes过程中误操作,在/etc下执行了一个重置的命令导致我的工作站系统崩塌了。索性......
  • Ubuntu22.04 MySQL 8.0安装修改密码以及远程连接
    安装sudoapt-getinstallmysql-server-y卸载sudoaptpurgemysql-*sudorm-rf/etc/mysql//var/lib/mysqlsudoaptautoremovesudoaptautoclean`修改/etc/mysql/mysql.conf.d/mysqld.cnf配置文件重启:注释掉地址绑定:#bind-address=127.0.0.1#mysqlx-bind-a......
  • 解决xfreerdp在Ubuntu22.10无法退出全屏问题
    最近升级了一下Ubuntu到22.10,然后发现xfreerdp链接上远程计算机后,无法通过快捷键退出全屏,我们可以在terminal命令中添加dynamic-resolution参数即可;xfreerdp/multimon/u:common\\mango/p:*****/v:192.168.1.168/dynamic-resolution......
  • 26 KVM热迁移虚拟机
    26KVM热迁移虚拟机26.1总体介绍26.1.1概述当虚拟机在物理机上运行时,物理机可能存在资源分配不均,造成负载过重或过轻的情况。另外,物理机存在硬件更换、软件升级、组网调整、故障处理等操作,如何在不中断业务的情况下完成这些操作十分重要。虚拟机热迁移技术可以在业务连续前提......
  • 桥接模式(Bridge Pattern)
    模式动机桥接模式(BridgePattern)是一种很实用的结构型模式,如果系统中某个类存在两个独立变化的维度,通过该模式可以将这两个维度分离出来,使得两者可以独立扩展。桥接模式用一种巧妙的方式处理多层继承存在的问题,用抽象关联取代了传统的多重继承,将类之间的静态继承关系转换为动态的......
  • ROSBridge简介以及理解使用
    安卓与ROS通信的现状因为ROS官方支持的语言绑定只有C++和Python,所以目前安卓想与ROS通信,必须借助半官方的rosjava包,而Rosjava太重了,因为它跟C++/Python一样,是一个全功能的ROS绑定,意即你可以在Java(android)平台上创建MasterNode,然后其他Node(C++/Python)可以连上这个Master,进行分布式......
  • 25 KVM管理虚拟机-虚拟机安全启动
    25KVM管理虚拟机-虚拟机安全启动25.1总体介绍25.1.1概述安全启动(SecureBoot)就是利用公私钥对启动部件进行签名和验证。启动过程中,前一个部件验证后一个部件的数字签名,验证通过后,运行后一个部件,验证不通过则启动失败。安全启动的作用是检测设备启动阶段固件(Fireware)以及软件......