记录pve中使用libvirt创建虚拟机

devtools/2025/2/6 16:24:57/

pve_0">pve中创建虚拟机

首先在pve网页中创建一个linux虚拟机,我用的是debian系统,过程省略
注意虚拟机cpu类型要设置为host

检查是否支持虚拟化

ssh分别进入pve和debian虚拟机

检查cpu是否支持虚拟化

egrep --color 'vmx|svm' /proc/cpuinfo
# 结果高亮显示vmx或svm则支持

检查是否支持嵌套虚拟化

# intel处理器,结果为Y表示已启用
cat /sys/module/kvm_intel/parameters/nested
# amd处理器,结果为1表示已启用
cat /sys/module/kvm_amd/parameters/nested

下载qcow2镜像

我这里下载了debian12的qcow2镜像

mkdir /data && cd /data
wget https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-genericcloud-amd64.qcow2

自定义镜像(root密码、时区、软件源等)

在linux虚拟机中操作

# 先使用openssl生成个root用户的密码,备用
openssl passwd -1 123456# 安装guestfish工具
apt install guestfish # 使用guestfish编辑qcow2镜像内的文件
guestfish --rw -a  /data/debian-12-genericcloud-amd64.qcow2

进入guestfish后依次执行runlist-filesystemsmount /dev/sda1 /,然后开始修改文件

Welcome to guestfish, the guest filesystem shell for
editing virtual machine filesystems and disk images.Type: ‘help’ for help on commands‘man’ to read the manual‘quit’ to quit the shell><fs> run
><fs> list-filesystems
/dev/sda1: ext4
/dev/sda14: unknown
/dev/sda15: vfat
><fs> mount /dev/sda1 /
><fs># 开始修改要自定义的文件
# 修改root密码, 把第一行root:*:19724:0:99999:7:::中的*改为上面openssl生成的密码
><fs> vi /etc/shadow# 修改sshd配置开启密码登录,把PasswordAuthentication值改为yes
><fs> vi /etc/ssh/sshd_config# 添加dhcp网络配置(这个debian镜像默认用systemd-networkd来管理网络,其他镜像要看用的哪个网络管理工具)
><fs> vi /etc/systemd/network/20-dhcp.network
# 内容如下
[Match]
Name=enp*
[Network]
DHCP=yes# 修改时区为Shanghai
><fs> rm /etc/localtime
><fs> ln /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# 修改apt软件源,不同版本的配置路径可能不一样,这里忽略
><fs> vi /etc/apt/mirrors/# 退出编辑qcow2文件
><fs> quit

libvirt_81">安装libvirt

# 安装包
apt install libvirt-daemon-system qemu-kvm# 启动默认的虚拟网卡
virsh net-start default
virsh net-autostart default

定义xml文件

新建文件/data/vm1.xml,内容如下:

<domain type='kvm'><name>vm1</name><memory unit='GiB'>1</memory>			<!-- 1G内存--><vcpu>1</vcpu>						<!-- 1个CPU --><os><type arch='x86_64' machine='pc-i440fx-2.9'>hvm</type><boot dev='hd'/></os><devices><disk type='file' device='disk'><driver name='qemu' type='qcow2'/><source file='/data/debian-12-genericcloud-amd64.qcow2'/>		<!-- qcow2镜像文件路径 --><target dev='vda' bus='virtio'/></disk><interface type='network'><source network='default'/><model type='virtio'/></interface><console type='pty'><target type='serial' port='0'/></console></devices>
</domain>

启动虚拟机

# 定义虚拟机vm1
virsh define vm1.xml# 查看所有
virsh list --all# 启动vm1
virsh start vm1# 连接vm1,连接后敲回车,会提示输入root和密码
virsh console vm1

http://www.ppmy.cn/devtools/156567.html

相关文章

【文件上传、秒传、分片上传、断点续传、重传】

文章目录 获取文件对象文件上传&#xff08;秒传、分片上传、断点续传、重传&#xff09; 获取文件对象 input标签的onchange方法接收到的参数就是用户上传的所有文件 <html lang"en"><head><title>文件上传</title><style>#inputFi…

【数据结构】_时间复杂度相关OJ(力扣版)

目录 1. 示例1&#xff1a;消失的数字 思路1&#xff1a;等差求和 思路2&#xff1a;异或运算 思路3&#xff1a;排序&#xff0b;二分查找 2. 示例2&#xff1a;轮转数组 思路1&#xff1a;逐次轮转 思路2&#xff1a;三段逆置&#xff08;经典解法&#xff09; 思路3…

C语言内存之旅:从静态到动态的跨越

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言正文一 动态内存管理的必要性二 动态…

自定义数据集,使用scikit-learn 中K均值包 进行聚类

代码&#xff1a; # 导入必要的库 import matplotlib.pyplot as plt # 用于绘制图形 from sklearn.cluster import KMeans # KMeans 聚类算法 import numpy as np # 数值计算库# 定义 class1 到 class4 的数据点&#xff0c;模拟四个不同的类&#xff08;每个类7个二维点&a…

【高阶数据结构(一)】:LRU Cache

LRU Cache 一、LRU Cache概念二、LRU Cache的实现三、实现 一、LRU Cache概念 LRU&#xff08;Least Recently Used&#xff09;最近最少使用&#xff0c;是一种cache替换算法。Cache的容量是优先的&#xff0c;当容量达到上限时&#xff0c;如果还有新的数据需要插入&#xff…

vue中的v-cloak和v-pre有什么作用

v-cloak v-cloak用于防止vue模板在编译完成之前显示未编译的原始Mustache语法&#xff08;如 {{ message }}&#xff09;&#xff0c;用于防止页面闪烁。 使用场景&#xff1a; <div v-cloak>{{ message }} </div> <style>[v-cloak] {display: none;} <…

因果推断与机器学习—用机器学习解决因果推断问题

Judea Pearl 将当前备受瞩目的机器学习研究戏谑地称为“仅限于曲线拟合”,然而,曲线拟合的实现绝非易事。机器学习模型在图像识别、语音识别、自然语言处理、蛋白质分子结构预测以及搜索推荐等多个领域均展现出显著的应用效果。 在因果推断任务中,在完成因果效应识别之后,需…

SQL Server配置管理器无法连接到 WMI 提供程序

目录 第一步第二部 第一步 发现没有资源管理器 ​​​​ 在文件夹找到管理器 打开发现报这个错误 配置管理器无法连接到 WMI 提供程序第二部 https://blog.csdn.net/thb369208315/article/details/126954074