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的朋友,也欢迎随时补充。
发表评论 取消回复