找回密码
 加入我们
搜索
      
查看: 14596|回复: 10

[NAS] 自组2.5g NAS系统组建第四篇:配置虚拟机篇

[复制链接]
发表于 2023-2-26 23:34 | 显示全部楼层 |阅读模式
在虚拟环境中创建虚拟机,其实就是设置虚拟机的各项硬件规格参数。这个过程其实挺通俗易懂的,不过在PVE里创建虚拟机,有些细节选项并不是浅显易懂,还是有必要注意一下的。

在PVE右上角点“创建虚拟机”,就可以开始创建虚拟机过程。

01.png
“系统”界面中:
机型,选项有“i440fx”和“q35”两个。这俩名称都是英特尔的芯片组型号,440fx是非常古老的型号了,支持PCI总线,q35是相对新的型号,支持PCIE总线。现在新建虚拟机,这里没啥特别情况的话一般都选q35就可以。某些特殊的虚拟机系统可能会对这个选项有要求,按要求选就行。
BIOS,选项有“SeaBIOS”和“OVMF(UEFI)”两个。SeaBIOS对应传统型BIOS,OVMF(UEFI)不用我说了吧。这两个选项也是不同的虚拟机系统有相应的要求。如果选择OVMF(UEFI),还需要指定一个EFI磁盘。
SCSI控制器:这里如无意外的话,选择默认的VirtIO SCSI就行,这是PVE官方推荐的。
Qemu代理:先说什么是Qemu,Qemu是一套虚拟化管理软件,你可以理解为,PVE就是使用了Qemu的技术,所以PVE里面的虚拟机就是Qemu虚拟机。再说Qemu代理,在虚拟机里面安装一个软件,Qemu-guest-agent,简称QGA,类似于VMware的VMTools,然后虚拟机打开这个代理选项,PVE就可以跟虚拟机进行通信,比如发出关机指令之类的。这个选项和QGA都不是必须的。如果没有开启Qemu代理,当你在PVE里点某个虚拟机关机(正常关机,不是强制拔电源的那种),PVE会通过ACPI层面发出关机指令,但如果虚拟机没有加载正确的ACPI驱动的话,就无法正确响应关机指令,关机就会失败。所以这个选项请根据实际情况选择。至于QGA,Linux系统使用APT或YUM命令安装,Windows系统去这个地址下载:https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers,下载下来是ISO格式,里面不光有QGA,还有VirtIO驱动。
TPM:不用解释了吧,安装win11虚拟机就选上它。开启后还需要指定一个TPM磁盘。

02.png
“CPU”界面中:
插槽核心:这两个词就是字面意思。两个数的乘积就是分给这个虚拟机的CPU核心总数。家用电脑基本上都是只有一个CPU,这里插槽选1就可以了。其实这里选择1*2和2*1对虚拟机性能来说没啥区别,主要是有些软件的授权可能会根据CPU插槽数量来定,那就有影响了。注意,你可以为整个PVE上所有的虚拟机分配总量超量的CPU核心数(比如在4核CPU的机器上同时开启2个4核的虚拟机),但不可以为单个虚拟机分配超量的CPU核心数。
类别:这里的选项不少,都是各种不同的CPU架构和型号。这些架构和型号都是QEMU模拟的,这个选项的意义在于迁移虚拟机的兼容性,家用NAS基本上涉及不到。我的建议,这里选择最下面的HOST选项,这样就使用你的实际CPU架构。
NUMA:这个技术,简单来讲,就是为每一个物理CPU分配一个内存池,而不是所有CPU共用一个内存池。这个对家用电脑单CPU来讲也是没啥意义的,不用选。

03.png
“内存”界面中:
Ballooning设备:Ballooning的意思是膨胀,这个选项的意思,简单来说就是让PVE动态地调整虚拟机运行时使用的内存大小,需要内存小的时候就收缩该虚拟机的内存占用,反之就扩大,甚至可以超量。不过这个技术需要虚拟机安装Ballooning驱动,不然也不起作用。Linux很早就默认自带Ballooning驱动了。Windows需要额外安装驱动,并且可能会降低性能,PVE官方建议Win虚拟机关闭这个选项。

04.png
“网络”界面中:
模型:这里有四个选项,PVE中,通常建议不要理会下面两个,从上面两个中选。E1000是英特尔的千兆网卡型号,有很好的兼容性,大多数系统都自带驱动,适合大多数情况。VirtIO是半虚拟化,虽然也是虚拟出来的硬件,但可以获得接近实际硬件的性能,但是需要虚拟机加载相应驱动。如果你的网卡大于千兆,那么选择E1000就亏大了,应该选择VirtIO网卡。

创建完成后,在虚拟机硬件栏目中可以修改虚拟机的硬件配置,添加PCI设备、USB设备也需要在这里添加。

05.png
比如在我的机器上,设置好直通后,这些PCI设备,诸如核显、网卡、SATA控制器就都可以添加了。注意第二列的IOMMU分组,同一个编号的设备不能分给不同的虚拟机,不然不能同时启动。如果你的多口网卡都在同一个组,那么你要检查下直通配置了。

06.png
在虚拟机的选项栏目中,有些项目需要根据实际情况设置下。
开机自启动启动/关机顺序:可以设置虚拟机跟随PVE自动启动和关机,适合配置自动任务。其中,顺序的数值表示开机顺序,数值1表示PVE启动后第一个被启动,关机则相反,最后一个关机。启动延时指的是当前虚拟机开机后到下一个虚拟机开机的时间间隔,单位是秒。关机超时是超过这个时间未完成关机,PVE会强制关机。
引导顺序:这个不用讲了,记得设置一下。
QEMU Guest Agent:这里跟创建虚拟机时系统界面中选项是一致的,那里没选的话这个地方可以更改。

评分

参与人数 1邪恶指数 +20 收起 理由
fisheess + 20

查看全部评分

 楼主| 发表于 2023-2-26 23:35 | 显示全部楼层
发表于 2023-2-27 00:32 | 显示全部楼层
学习一下。。一直想学习虚拟机,感谢楼主
发表于 2023-2-27 00:42 | 显示全部楼层
mark顶贴
发表于 2023-2-27 14:03 来自手机 | 显示全部楼层
貌似pve 没有意思去添加nvme控制器
发表于 2023-2-27 21:38 | 显示全部楼层
不错,收藏了,感谢分享。。。
发表于 2023-3-1 11:19 | 显示全部楼层
一直有个疑问,PVE本身占用多少内存
假如机器16G内存,开2个虚拟机各分配8G,运行满占用的话会不会照成PVE奔溃。还是要留个1,2G空余给PVE本身
 楼主| 发表于 2023-3-1 13:36 | 显示全部楼层
nsis 发表于 2023-3-1 11:19
一直有个疑问,PVE本身占用多少内存
假如机器16G内存,开2个虚拟机各分配8G,运行满占用的话会不会照成PVE ...


PVE可以靠balloon技术、设置共享内存等方式,动态调整虚拟机内存。
当物理机内存不足时,PVE 将开始回收分配给虚拟机的内存,并在必要时启动SWAP 分区,如果仍然不能满足需要,最终将杀掉部分进程以释放内存。这样确实有系统崩溃的风险。
所以,当为虚拟机分配内存时,至少要为宿主机保留 1GB 可用内存比较稳妥。
发表于 2023-9-13 09:55 | 显示全部楼层
你好,为了各个虚拟机更充分的利用cpu和内存, 我看有的人说 cpu和内存分配时,各个虚拟机都是给最大的, pve会根据占用自动调配,对吧? 如果 cpu内存分出去独享了, 那闲着的时候肯定浪费了
发表于 2023-9-13 10:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 发表于 2023-9-13 10:38 | 显示全部楼层
qaw123232qaw 发表于 2023-9-13 09:55
你好,为了各个虚拟机更充分的利用cpu和内存, 我看有的人说 cpu和内存分配时,各个虚拟机都是给最大的, p ...

CPU可以超分,但是如果所有虚拟机都有较高的CPU使用率,使得主机超负荷,就会造成整个主机超载,所以每个虚拟机都分最大CPU绝对不是个好办法,只有合理分配才是最优选择,如果主机加入了集群,并开启了集群负载均衡技术,集群会自动平衡CPU分配的。
内存不可以超分,内存空间不能像CPU那样随时空闲了可以分给别人,而且也需要给虚拟化底层预留部分内存。超分内存会造成平台崩溃。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2024-11-28 06:33 , Processed in 0.013447 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表