当前位置: 首页 > ops >正文

Ubuntu20.04部署KVM

文章目录

    • 一. 环境准备
      • 关闭防火墙(UFW)
      • 禁用 SELinux
      • 更换镜像源
      • 检查 CPU 虚拟化支持
    • 二. 安装KVM
      • 安装 KVM 及相关组件
      • 启动 libvirtd 服务
      • 验证安装
      • 创建虚拟机

一. 环境准备

4C8G,50G硬盘——VMware Workstation需要给虚拟机开启虚拟化引擎

在这里插入图片描述

root@kvm:~# hostnamectlStatic hostname: luzzIcon name: computer-vmChassis: vmMachine ID: 8d6bb13c168e4df5aa13a070821f70b6Boot ID: 4a74a26980ed4619bc81d8d6fc407e43Virtualization: vmwareOperating System: Ubuntu 20.04.6 LTSKernel: Linux 5.4.0-144-genericArchitecture: x86-64
root@kvm:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:7c:a4:3d brd ff:ff:ff:ff:ff:ffinet 192.168.226.155/24 brd 192.168.226.255 scope global dynamic ens33valid_lft 1303sec preferred_lft 1303secinet6 fe80::20c:29ff:fe7c:a43d/64 scope link valid_lft forever preferred_lft forever

关闭防火墙(UFW)

Ubuntu 默认使用 UFW 作为防火墙前端,执行以下命令关闭:

sudo ufw disable
sudo systemctl stop ufw
sudo systemctl disable ufw

禁用 SELinux

Ubuntu 默认不安装 SELinux。

更换镜像源

# 备份原有 sources.list
cp /etc/apt/sources.list /etc/apt/sources.list.bak# 使用阿里云镜像源(Ubuntu 20.04)
sudo sed -i 's|http://.*archive.ubuntu.com|https://mirrors.aliyun.com|g' /etc/apt/sources.list
sed -i 's|http://.*security.ubuntu.com|https://mirrors.aliyun.com|g' /etc/apt/sources.list# 更新软件包列表
apt-get update

检查 CPU 虚拟化支持

root@kvm:~# egrep -c '(vmx|svm)' /proc/cpuinfo
2
# 输出大于 0 表示支持

二. 安装KVM

安装 KVM 及相关组件

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

启动 libvirtd 服务

systemctl start libvirtd
systemctl enable libvirtd

验证安装

root@kvm:~/apt# virsh list --allId   Name   State
--------------------root@kvm:~/apt# kvm-ok                  # 应显示 "KVM acceleration can be used"
INFO: /dev/kvm exists
KVM acceleration can be usedroot@kvm:~/apt# ip a                    # 查看会多个虚拟网桥
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:7c:a4:3d brd ff:ff:ff:ff:ff:ffinet 192.168.226.155/24 metric 100 brd 192.168.226.255 scope global dynamic ens33valid_lft 1695sec preferred_lft 1695secinet6 fe80::20c:29ff:fe7c:a43d/64 scope link valid_lft forever preferred_lft forever
3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000link/ether 52:54:00:bd:2a:3c brd ff:ff:ff:ff:ff:ffinet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0valid_lft forever preferred_lft forever
4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000link/ether 52:54:00:bd:2a:3c brd ff:ff:ff:ff:ff:ff

创建虚拟机

先上传一个镜像

root@kvm:~# ll | grep CentOS
-rw-r--r--  1 root root 1020264448 May 21 11:32 CentOS-7-x86_64-Minimal-2009.iso
# 移动镜像位置
root@kvm:~# chmod +777 ./CentOS-7-x86_64-Minimal-2009.iso && mv /root/CentOS-7-x86_64-Minimal-2009.iso /var/lib/libvirt/images/

安装虚拟机

sudo virt-install \--name centos7-minimal \--ram 2048 \--vcpus 1 \--disk path=/var/lib/libvirt/images/centos7-minimal.qcow2,size=10,format=qcow2,bus=virtio \--os-type linux \--os-variant centos7.0 \--network bridge=virbr0,model=virtio \--graphics none \--console pty,target_type=serial \--location /var/lib/libvirt/images/CentOS-7-x86_64-Minimal-2009.iso \--extra-args="console=ttyS0,115200n8 serial text"

通过命令行自行选择数字进行安装步骤即可。

如下即正确安装后效果:

         Starting Wait for Plymouth Boot Screen to Quit...
[  OK  ] Started NTP client/server.
[    8.862116] ip6_tables: (C) 2000-2006 Netfilter Core Team
[    8.908114] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    8.949342] Ebtables v2.0 registered
[    8.973992] Netfilter messages via NETLINK v0.30.
[    8.984914] ip_set: protocol 7
[    9.085756] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[    9.176516] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.CentOS Linux 7 (Core)
Kernel 3.10.0-1160.el7.x86_64 on an x86_64localhost login: 
CentOS Linux 7 (Core)
Kernel 3.10.0-1160.el7.x86_64 on an x86_64localhost login: root
Password: 
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 52:54:00:84:39:1c brd ff:ff:ff:ff:ff:ff
[root@localhost ~]# ifup eth0
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 52:54:00:84:39:1c brd ff:ff:ff:ff:ff:ffinet 192.168.122.220/24 brd 192.168.122.255 scope global noprefixroute dynamic eth0valid_lft 3599sec preferred_lft 3599secinet6 fe80::4fb5:55e4:f761:10d1/64 scope link noprefixroute valid_lft forever preferred_lft forever
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (39.156.70.46) 56(84) bytes of data.
64 bytes from 39.156.70.46 (39.156.70.46): icmp_seq=1 ttl=127 time=15.9 ms
64 bytes from 39.156.70.46 (39.156.70.46): icmp_seq=2 ttl=127 time=15.5 ms
64 bytes from 39.156.70.46 (39.156.70.46): icmp_seq=3 ttl=127 time=15.6 ms--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2007ms
rtt min/avg/max/mdev = 15.515/15.689/15.948/0.235 ms
[root@localhost ~]# 
http://www.xdnf.cn/news/7736.html

相关文章:

  • Android Binder线程池饥饿与TransactionException:从零到企业级解决方案(含实战代码+调试技巧)
  • NSSCTF [HGAME 2023 week1]easy_overflow
  • Dify的大语言模型(LLM) AI 应用开发平台-本地部署
  • MySQL中的JSON_CONTAINS函数用法
  • 自动驾驶中的预测控制算法:用 Python 让无人车更智能
  • 微软正式发布 SQL Server 2025 公开预览版,深度集成AI功能
  • 基于R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析实践技术应用
  • VLM-MPC:自动驾驶中模型预测控制器增强视觉-语言模型
  • Open CASCADE学习|刚体沿曲线运动实现方法
  • 高并发架构设计之限流
  • 【初识】内网渗透——基础概念,基本工具使用
  • 用户栈的高效解析逻辑
  • JavaWeb 开发流程
  • Java基础 Day17
  • 给几张图片和一段文字,怎么制作成带有语音的视频---php
  • 从零搭建SpringBoot Web 单体项目【基础篇】2、SpringBoot 整合数据库
  • Mysql的binlog日志
  • .NET外挂系列:4. harmony 中补丁参数的有趣玩法(上)
  • 八: 人工神经元/感知机 算法
  • Python数据可视化高级实战之一——绘制GE矩阵图
  • Windows安装MongoDb.并使用.NET 9连接
  • 深度学习+Flask 打包一个AI模型接口并部署上线
  • 【优秀三方库研读】在 quill 开源库中定义的 QUILL_LIKELY 和 QUILL_UNLIKELY 这两个宏的作用是什么
  • 【教程】Nuitka | Python打包exe新工具
  • Python 包管理工具核心指令uv sync解析
  • Brooks Polycold快速循环水蒸气冷冻泵客户使用手含电路图,适用于真空室应用
  • 什么是车载座舱产品的SRRC认证?
  • function calling简介
  • Vue组件开发深度指南:构建可复用与可维护的UI
  • python的加速方法