【Linux系统之虚拟化实战】PVE下KVM虚拟机的嵌套安装方法

2023-10-27

【Linux系统之虚拟化实战】PVE下KVM虚拟机的嵌套安装方法

一、检查本地系统环境

1.环境规划

hostname IP地址 系统版本 角色
pve 192.168.3.159 PVE 5.15.30-3 PVE宿主机
server01 192.168.3.121 centos 7.6 PVE虚拟机
kvm01 192.168.3.133 centos 7.6 KVM虚拟机

2.检查PVE宿主机系统版本

root@pve:~# cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@pve:~# uname -v
#1 SMP PVE 5.15.30-3 (Fri, 22 Apr 2022 18:08:27 +0200)

3.检查PVE虚拟机系统版本

[root@server01 ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

[root@server01 ~]# cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core) 

二、开启PVE宿主机虚拟化

1.检查PVE主机嵌套虚拟化是否开启

输出N,表示未开启,输出Y,表示已开启。

root@pve:~# cat /sys/module/kvm_intel/parameters/nested
Y
root@pve:~# 

2.PVE主机开启嵌套虚拟化

1.PVE主机嵌套虚拟化未开启,则先必须先关闭所有的虚拟机,
2.强制关闭命令:qm stop 100(虚拟机ID)
3.执行以下命令开启嵌套虚拟化

# 开启嵌套虚拟化
modprobe -r kvm_intel
modprobe kvm_intel nested=1
cat /sys/module/kvm_intel/parameters/nested
echo "options kvm_intel nested=1" >> /etc/modprobe.d/modprobe.conf # 将开启嵌套虚拟化设置开机自启

3.设置PVE虚拟机的CPU类型

①群晖系统的虚拟机设置方法

选择默认的KVM类型

在这里插入图片描述

进入etc/pve/nodes/pve/qemu-server/目录下,修改PVE虚拟机的配置文件,添加以下内容。

root@pve:/etc/pve/nodes/pve/qemu-server# grep args 109.conf 
args: -cpu 'kvm64,enforce,+kvm_pv_eoi,+vmx,+kvm_pv_unhalt,+lahf_lm,+sep'

②centos等系统的虚拟机设置方法

选择虚拟机CPU类型为host

在这里插入图片描述

5.检查server01的虚拟化开启状态

[root@server01 ~]# egrep --color 'vmx|svm' /proc/cpuinfo
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology eagerfpu pni vmx cx16 x2apic hypervisor lahf_lm tpr_shadow
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology eagerfpu pni vmx cx16 x2apic hypervisor lahf_lm tpr_shadow
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology eagerfpu pni vmx cx16 x2apic hypervisor lahf_lm tpr_shadow
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx lm constant_tsc nopl xtopology eagerfpu pni vmx cx16 x2apic hypervisor lahf_lm tpr_shadow
[root@server01 ~]# 

三、在虚拟机安装KVM

1.关闭selinux

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0

2.加载KVM

[root@server01 ~]# modprobe kvm
[root@server01 ~]# lsmod | grep kvm
kvm_intel             183621  0 
kvm                   586948  1 kvm_intel
irqbypass              13503  1 kvm

3.安装kvm相关软件包

yum install qemu-kvm qemu-img virt-manager libvirt libvirt-python virt-manager libvirt-client virt-install virt-viewer -y

4.启动libvirtd服务

[root@server001 ~]# systemctl start libvirtd
[root@server001 ~]# systemctl enable libvirtd
[root@server001 ~]# 

四、上传centos7.6系统镜像

1.创建镜像目录

[root@server001 ~]# cd /data/images/
[root@server001 images]#

2.上传镜像

[root@server001 images]# ll
total 4481024
-rw-r--r--. 1 root root 4588568576 Dec  9 23:44 CentOS-7-x86_64-DVD-1810.iso
[root@server001 images]# 

五、配置网桥

1.关闭NetworkManager

chkconfig NetworkManager off
service NetworkManager stop

2.查看网卡

[root@server001 images]# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.121  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::4236:bfeb:a91e:8e05  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::3bde:d1ba:1b78:4dbd  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::87db:cb84:1c84:c5e4  pre
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Linux系统之虚拟化实战】PVE下KVM虚拟机的嵌套安装方法 的相关文章

  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • 为什么我收到“无法进行二进制日志记录”的信息。在我的 MySQL 服务器上?

    当我今天启动 MySQL 服务器并尝试使用以下命令进行一些更改时用于 MySQL 的 Toad http www quest com toad for mysql 我收到此消息 MySQL 数据库错误 无法进行二进制日志记录 消息 交易级别
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • Bash 解析和 shell 扩展

    我对 bash 解析输入和执行扩展的方式感到困惑 对于输入来说 hello world 作为 bash 中的参数传递给显示其输入内容的脚本 我不太确定 Bash 如何解析它 Example var hello world displaywh
  • 强制卸载 NFS 安装目录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 跟踪 Linux 程序中活跃使用的内存

    我想跟踪各种程序在特定状态下接触了多少内存 例如 假设我有一个图形程序 最小化时 它可能会使用更少的内存 因为它不会重新绘制窗口 这需要读取图像和字体并执行大量库函数 这些对象仍然可以在内存中访问 但实际上并没有被使用 类似的工具top它们
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • 从 Python 调用 PARI/GP

    我想打电话PARI GP http pari math u bordeaux fr dochtml gpman html仅从Python计算函数nextprime n 对于不同的n是我定义的 不幸的是我无法得到帕里蟒蛇 http code
  • Linux中的定时器类

    我需要一个计时器来以相对较低的分辨率执行回调 在 Linux 中实现此类 C 计时器类的最佳方法是什么 有我可以使用的库吗 如果您在框架 Glib Qt Wx 内编写 那么您已经拥有一个具有定时回调功能的事件循环 我认为情况并非如此 如果您
  • sendfile64 只复制约2GB

    我需要使用 sendfile64 复制大约 16GB 的文件 到目前为止我所取得的成就是 include
  • 在哪里可以找到并安装 pygame 的依赖项?

    我对 Linux 比较陌生 正在尝试安装 python 的 pygame 开发环境 当我运行 setup py 时 它说我需要安装以下依赖项 我找到并安装了其中之一 SDL 然而 其他人则更加难以捉摸 Hunting dependencie
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • 尝试安装 LESS 时出现“请尝试以 root/管理员身份再次运行此命令”错误

    我正在尝试在我的计算机上安装 LESS 并且已经安装了节点 但是 当我输入 node install g less 时 出现以下错误 并且不知道该怎么办 FPaulMAC bin paul npm install g less npm ER
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific
  • 在 Linux 上使用多处理时,TKinter 窗口不会出现

    我想生成另一个进程来异步显示错误消息 同时应用程序的其余部分继续 我正在使用multiprocessingPython 2 6 中的模块来创建进程 我试图用以下命令显示窗口TKinter 这段代码在Windows上运行良好 但在Linux上

随机推荐

  • div点击事件 鼠标放上去显示小手

    div cursor pointer
  • 用户故事

    定义 验收标准就是一系列可以接受的验收条件或者业务规则 且与功能或feature相互匹配和满足 同时也能被产品负责人和相关人接受 如何书写 验收条件可作为验收测试用例的具体例子 这也是我们常说的实例化需求 也是为了避免误读 让抽象的需求变得
  • strictfp关键字

    strictfp的意思是FP strict 也就是说精确浮点的意思 在Java虚拟机进行浮点运算时 如果没有指定strictfp关键字时 Java的编译器以及运行环境在对浮点运算的表达式是采取一种近似于我行我素的行为来完成这些操作 以致于得
  • Java内部类使用

    转载Java内部类使用 https blog csdn net weixin 42762133 article details 82890555 utm medium distribute pc relevant none task blo
  • OpenHarmony开发样例——ADC多按键功能

    摘要 本文简单介绍如何操作ADC去读取电压 并且实现开发板上3个ADC按键检测的功能 适合群体 适用于润和Hi3861开发板 L0轻量系统驱动开发 文中所有代码仓库 https gitee com qidiyun hihope 3861 s
  • MySQL必知必会 学习笔记 第十九章 插入数据

    插入可用以下方式进行 1 插入完整行 2 插入行的一部分 3 插入多行 4 插入某些查询的结果 可针对每个表或每个用户 利用MySQL的安全机制禁止使用INSERT语句 插入语句没有输出 插入完整的行 INSERT INTO tableNa
  • 帅哥前端的踩坑日记(一)

    如何在Element ui table中使用插入 自己需要的HTML
  • Java整合RabbitMQ

    本博客只作为个人记录或讲师上课使用 谨慎参考 Rabbit MQ安装 请参考本人博客 RabbitMQ 安装教程 目录 一 引入相关依赖 二 创建两个Java文件分别对应的是 生产者 和 消费者 简单应用 三 生产者 Productor j
  • ECharts点击事件自定义参数

    实际开发中可能需要传自定义参数到点击事件 通过params data 传入的原始数据项 实现自定义参数 console打印结果 效果图 源码 注意红色部分 div style width 6 div
  • NAR神经网络预测

    1 该脚本用来做NAR神经网络预测 x 54167 55196 56300 57482 58796 60266 61465 62828 64653 65994 67207 66207 65859 67295 69172 70499 7253
  • C++学习笔记(一)(20120208 C++ Primer)

    C 语言中定义了几种基本类型 字符型 整型 浮点型 布尔型 字符类型有两种 char 和wchar t char类型通常是单个机器字节 byte wchar t类型常用于扩展字符集比如汉字和日语 这些字符集中的一些字符不能用单个char表示
  • 【C++】红黑树

    目录 引言 为啥设计红黑树 1 红黑树的特点 1 1相关概念 1 2插入的结点的颜色 2 红黑树的设计 2 1 结点设计 2 2基本框架 3 红黑树插入 3 1插入的介绍 3 2插入调整 情况一 情况2 情况3 4 查找实现 Find 5
  • 以太坊私有链-创世区块

    以下内容是学习笔记 原版视频在b站的 撸帝说 1 在docker上安装以太坊私有链 2 启动 3 进入以太坊容器 4 初始化创世区块 5 开启服务 6 创建以太坊账户 7 查看账户余额 8 再创建一个账户 来实现交易 9 转账 10 查看交
  • html转xml python_xml转换(Python)_xml

    前些天用python处理xml的转换的一个小程序 用来把xml xsl转换成html 用的libxml2 所以还要先安装了libxml2模块才能使用 coding mbcs usr bin python import libxml2 lib
  • 单元测试中的驱动程序和桩程序理解

    单元测试中的驱动程序和桩程序理解 运行被测单元 为了隔离单元 根据被测单元的接口 开发相应的驱动程序和桩程序 两者有什么区别呢 驱动程序 Driver 也称驱动模块 用于模拟被测模块的上级模块 能够调用被测模块 驱模块接受测试数据 调用被测
  • js实现颜色选择器

    前言 纯js就可以实现颜色选择器 不用安装很多的插件 和配置 也不必要有jquery才能使用 只是js文件就可以了 目录 实现原理 如果要获取当前的颜色 可以获取结论的背景 或者再返回的函数里面直接写赋值 实现步骤 1 引入封装js文件 c
  • CheckStyle报错的常见问题及解决方式

    CheckStyle报错的常见问题及解决方式 声明 本文摘自百度文库 希望这篇文章提到的规范能对大家编程起到好的效果 此文不定期更新 将推出更加详尽的编程规范 1 提示 Type is missing a javadoc commentCl
  • vue v-model.number 和 type=“number“详解

    1 v model number详解 当两个input都输入非数字时 v model number和v model的值都不会转为Number类型 当两个input都输入数字时 v model number的值会转为Number类型 v mo
  • 1.Ajax基础——XMLHttpRequest、Get/Post、封装Ajax

    1 XMLHttpRequest Ajax技术核心是XMLHttpRequest对象 简称XHR 背景 在XHR出现之前 Ajax式通信必须借助hack手段来实现 大多数是使用隐藏的框架和内嵌的框架
  • 【Linux系统之虚拟化实战】PVE下KVM虚拟机的嵌套安装方法

    Linux系统之虚拟化实战 PVE下KVM虚拟机的嵌套安装方法 一 检查本地系统环境 1 环境规划 2 检查PVE宿主机系统版本 3 检查PVE虚拟机系统版本 二 开启PVE宿主机虚拟化 1 检查PVE主机嵌套虚拟化是否开启 2 PVE主机