容易被忽略的PVE细节—PVE的tips
PVE的教程一搜一大把,站内也有很好的PVE入门教程,大家跟着一步一步走基本上都不会出问题。但是前几天发了一篇x86小主机评测后发现,PVE有一些细节部分很多教程没有说清楚,我尽可能的将在这篇文章中说清楚。
注:为了保证专业性,我会尽力找到官方的一些解释,附在各个部分下面。
一、虚拟机和CT模板
ct和虚拟机
vm是完全虚拟出来一整个主机,而ct是进程隔离。简单来说就是宾馆和青年旅社的关系,vm虚拟化隔离更彻底,但是资源占用也较大,ct进程隔离,所以不能任意模拟出任何系统,但是资源利用率最高。如果你使用linux,ct一般能满足你的需求。
二、CPU分配
很多时候,家用小主机是4核、双核,但是我们往往创建了不止一个虚拟机,可能有小伙伴有疑问:是不是要按照物理核心数分配给各个虚拟机?CPU模式选哪个更好?
那我们就来说说PVE中cpu分配页的各个选项。
cpu
插槽数:
虽然家用主板大部分都是1板1cpu,但是存在一个主板可以搭载多颗cpu的情况。这里的插槽数就是你想给你创建的这个虚拟机分配的cpu数量。家用一般选1就可以了。
核心数:
关于cpu核心数的分配,更像是docker中的limit。我们给虚拟机A分配了2核,那么他最多只能使用2核,但不代表这两颗核心完全保留给了虚拟机A。如果你有过esxi的使用经验,esxi中内存有一个“完全预留”,这里的cpu分配就和完全预留是截然不同的概念。所以不需要有负担,放开手每个核心设置满核心都可以。有人要问那分配的意义在哪里?我下面说到权重的时候详细说。
It is perfectly safe if the overall number of cores of all your VMs is greater than the number of cores on the server (e.g., 4 VMs with each 4 cores on a machine with only 8 cores).
类别:
这是绝大多数教程都没说的东西。默认可以看到是kvm64,我们拉到最底下还可以看到host。两个的区别用一句概括就是:kvm64具有最好的迁移性,host具有最好的性能。所谓迁移性,就是你将一个虚拟机从宿主机A迁移到宿主机B,如果你没有这样的需求,选host就好了。引用官方的话说就是:
If you don’t care about live migration or have a homogeneous cluster where all nodes have the same CPU, set the CPU type to host, as in theory this will give your guests maximum performance.
权重:
就像上面说的,如果我们给每个虚拟机都分配了相同的核心数,那该如何调度呢?均衡分配。那如果我的虚拟机A很重要,一般需要更多的资源,不想被均衡分配抢资源怎么办呢?将权重调高。比如A是2048,B是1024,那么在调度上A就是B的两倍优先。
NUMA:
一种将内存分散到每个cpu的本地储存池的技术。就像过去是市中心大商场,你每次买东西都要去大商场,路途远耗时长,现在各个地方开了便利店,你就可以更快的拿到资源。但是这一切的前提是你有多个cpu。如过你只有一个,开和不开区别不大
三、内存
内存
内存只需要说一个,ballooning。它是一种动态调节宿主机和虚拟机之间内存的技术,但是前提是你的虚拟机能够使用ballooning。例如一些人在pve下安装ikuai总是莫名重启,可以试试关掉ballooning,情况会有改善(我不是说开了就一定重启)
四、网络
如果你需要在pve下虚拟路由(例如openwrt),建议进行直通网卡。直通网卡教程一搜一大把,我就不赘述。如果一不小心直通了管理口,无论如何进不去pve管理页面了,可以将hdmi显示输出连接到一个显示器上,在显示出的pve管理命令行下输入
qm stop “你的虚拟机id(例如101)”
之后正常进入管理页面删除直通设备就可以了。
有人会说半虚拟化已经很好了为什么要直通。诚然,对于性能比较好的主机,半年虚拟化也可以跑满带宽,但是如果有直通的条件,为什么不直通将更多的资源留给其他项目呢?如果网口不够另说。
虚拟化网卡
另外选项中的e1000是历史比较悠久的虚拟化技术了,后来有e1000e(esxi),对于pve来说,选半虚拟化最稳妥。
五、概要中的温度显示
有很多人需要随时看到温度情况,但是通过sensor命令不够直观,而且每次要进命令行。可以用一个小插件来实现温度、去掉订阅提示、换源等操作。
使用方法README介绍的很详细,我就指个路就行了。效果如图
温度显示
六、PVE下虚拟机无法关闭问题
有时候要重启pve,但是发现其中一个虚拟机无论如何都关不掉,不停显示停止错误。这时候可以如下操作
1. 进入pve命令行使用如下命令
qm stop “你的虚拟机id”
如果显示无法停止,由于无法unlockxxxx,进行第二步
2. 删除conf
输入如下命令后再次执行第一步
rm /var/lock/qemu-server/lock-103.conf
七、pve挂载nas存储问题
我看很多人都是通过linux的方式进行挂载,但是对于nas用户来说,有现成的ftp、nfs等服务时,就无须再用繁琐的挂载到mnt下等等操作。下面以nfs为例
开启你nas的nfs服务,例如威联通在共享文件夹下对你想要挂载的文件夹进行nfs赋权,之后进入pve
按照如图路径进入nfs挂载设置
nfs挂载
之后填入你nfs服务器地址即可,名称什么的看你喜好。
如图我的设置
挂载
总结
本文是写给pve初入门的朋友,解决一些教程不常写的细节疑惑,对于熟悉pve的朋友,也欢迎随时补充。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
chenmoment
校验提示文案
palkiller
校验提示文案
YesIDo1987
校验提示文案
trouble
校验提示文案
值友2578465476
校验提示文案
达尔i
校验提示文案
值友7184582889
校验提示文案
阿华田
校验提示文案
骸骨绵羊
校验提示文案
值友5264694195
校验提示文案
值友1180121025
校验提示文案
itonas
校验提示文案
MoneyMachine
校验提示文案
值友2156913142
校验提示文案
欲仙欲死
校验提示文案
灵KOYB
校验提示文案
absolute_
校验提示文案
iQUEDS
校验提示文案
BH4GLQ
校验提示文案
吃货saber
校验提示文案
hotoliao
校验提示文案
yefenghu
校验提示文案
nixingshiguang
```
create storage failed: mount error: Couldn't chdir to /mnt/pve/nas: Permission denied (500)
```
校验提示文案
nixingshiguang
create storage failed: mkdir /mnt/pve/nas/dump: Permission denied at /usr/share/perl5/PVE/Storage/Plugin.pm line 1374. (500)
校验提示文案
值友5542513313
校验提示文案
原来折腾之心还没熄火
校验提示文案
Yukloon
谢谢分享。
校验提示文案
达尔i
校验提示文案
wayes
校验提示文案
值友1180121025
校验提示文案
静泊道人
校验提示文案
itonas
校验提示文案
值友9795351653
校验提示文案
值友9795351653
我在台式机上装了pve7,b560主板上有2个nvme,第一个装的是win10,为了防止uefi启动项混乱我是拆了第一块nvme装的pve在第二块位置上!
校验提示文案
值友5264694195
校验提示文案
骸骨绵羊
校验提示文案
值友2939873782
1、怎样将USB移动硬盘挂载到PVE,然后在上面安装多个虚拟机系统呢?
2、PVE里有一个linux虚拟机系统,怎样将USB硬盘挂载到里面成为一个文件夹呢?
校验提示文案
SuperChris
校验提示文案
挥手难回眸
校验提示文案
阿华田
校验提示文案