PVE 常用配置整理
安装好PVE后的配置
一、修改源
1.备份
cp /etc/apt/sources.list /etc/apt/sources.list.bak
2.修改
vi /etc/apt/sources.list
3.清空sources.list把下方源码粘贴进去
deb http://ftp.debian.org/debian buster main contrib
deb http://ftp.debian.org/debian buster-updates main contrib
# PVE pve-no-subscription repository provided by proxmox.com,
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve buster pve-no-subscription
# security updates
deb http://security.debian.org buster/updates main contrib
4.注释 vi /etc/apt/sources.list.d/pve-enterprise.list 中的失效源
# deb https://enterprise.proxmox.com/debian/pve buster pve-enterpris
5.执行更新
apt-get update
二、更新ifupdown2配置
apt-get install ifupdown2
三、配置网卡、显卡、USB直通(Intel 4代以上 B75芯片以上)
1.开启 开启iommu
vi /etc/default/grub
2.在里面找到:GRUB_CMDLINE_LINUX_DEFAULT="quiet"
然后修改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
如果是amd cpu请改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"
修改完成之后,直接更新grub
update-grub
注意:#AMD cpu也可以执行:pve-efiboot-tool refresh
3.加载相应的内核模块
echo vfio >> /etc/modules
echo vfio_iommu_type1 >> /etc/modules
echo vfio_pci >> /etc/modules
echo vfio_virqfd >> /etc/modules
或者使用vi /etc/modules 在末尾添加
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
然后重启PVE
4.验证是否开启iommu
重启之后,在终端输入
dmesg | grep 'remapping'
出现如下例子。则代表成功
AMD-Vi: Interrupt remapping enabled
或者
DMAR-IR: Enabled IRQ remapping in x2apic mode
此时输入命令
find /sys/kernel/iommu_groups/ -type l
注意:出现很多直通组,就代表成功了。如果没有任何东西,就是没有开启
5.开始PCI-E显卡直通
a.屏蔽显卡
查看显卡,很多设备,自己看是哪个
lspci
83:00.0 3D controller: NVIDIA Corporation GP106 [P106-090] (rev a1)
其中83:00 是代表组名。83:00.0 是代表83:00组的第一个设备
lspci -n -s 83:00
#查看 83:00 组的所有pci设备
83:00.0 0302: 10de:1c09 (rev a1)
直接屏蔽,直接让系统不启用它。
echo "blacklist radeon" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidiafb" >> /etc/modprobe.d/blacklist.conf
echo "blacklist amdgpu" >> /etc/modprobe.d/blacklist.conf
echo "blacklist snd_hda_intel" >> /etc/modprobe.d/blacklist.conf
echo "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/blacklist.conf
echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf
把显卡添加到直通组
echo "options vfio-pci ids=10de:1381,10de:0fbc" > /etc/modprobe.d/vfio.conf
*#注意,上面这条命令,ids=后面跟直通组的所有设备。中间以英文逗号隔开。自己的设备自己替换。
上述操作完成之后,再检查一下,是否将例子内容替换成自己的。使用以下命令查看。
cat /etc/modprobe.d/blacklist.conf
cat /etc/modprobe.d/vfio.conf
检查无误之后,重启
b.开始直通
首先确定自己的显卡是否支持UEFI。
一般情况下,amd r9以后的显卡都支持uefi。nvidia,9代以上显卡均支持UEFI。
uefi的显卡,需要用ovmf bios。也就不能使用win7。
新建一个虚拟机。bios类型,根据显卡支不支持uefi选择。cpu类型设置为host,并且开启muma,内存一定要为静态内存,也就是最大最小都为一样。
系统安装好之后。开始配置直通
vi /etc/pve/qemu-server/100.conf #请把这里的100替换成自己的vmid
添加
hostpci0: 83:00,pcie=1,x-vga=on
四、配置挂在NTFS硬盘
1.安装挂载NTFS硬盘程序
apt-get install -y ntfs-3g
2.创建挂载位置
mkdir /mnt/sdb
3.使用ntfs-3g挂载硬盘
ntfs-3g /dev/sdb1 /mount/sdb
4.加入开机启动项
echo "/dev/sdb1 /mnt/sdb ntfs-3g defaults 0 0" >> /etc/fstab
5.挂载为读写
mount -o remount,rw,auto /
6.重启
reboot
7.开机添加目录
数据中心--添加--目录
ID随意填写,目录为挂载的目录/mnt/sdc1,内容位置全选。
硬盘就添加完成了.
五、移除订阅提示
1.备份文件
cp /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js_back
2.修改文件
vi /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
3.然后找到
if (data.status !== 'Active') {
修改为
if (false) {
或者是:
Ext.Msg.show({
修改为
Ext.Msg.noshow({
4.然后保存,重启网页服务
systemctl restart pveproxy
六、PVE添加CPU温度显示
1.先安装程序
apt-get install -y lm-sensors
2.安装完成后,可以运行命令“sensors-detect”来探测哪些传感器可用并加载相关的内核模块。
执行命令“sensors”即可显示出系统运行的温度状态,下面是 3205U 的显示结果示例(Core 0和Core 1表示有两个CPU核心):
root@www:~# sensors
acpitz-virtual-0
Adapter: Virtual device
temp1: +27.8°C (crit = +105.0°C)
temp2: +29.8°C (crit = +105.0°C)
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +54.0°C (high = +105.0°C, crit = +105.0°C)
Core 0: +54.0°C (high = +105.0°C, crit = +105.0°C)
Core 1: +52.0°C (high = +105.0°C, crit = +105.0°C)
3.先备份之后要修改的两个文件
cp /usr/share/perl5/PVE/API2/Nodes.pm /usr/share/perl5/PVE/API2/Nodes.pm.bak
cp /usr/share/pve-manager/js/pvemanagerlib.js /usr/share/pve-manager/js/pvemanagerlib.js.bak
4.修改文件内容
vi /usr/share/perl5/PVE/API2/Nodes.pm
添加
$res->{thermalstate} = `sensors`;
(注意,sensors左右两个不是分号,而是在英文状态下字母区上方的数字键区域最左侧按键打出来的反引号)
PVE::pvecfg::version_text(); ---这个是添加上方的字符串
$res->{thermalstate} = `sensors`;
5.修改页面布局,增加界面高度让新的CPU内容有地方显示
vi /usr/share/pve-manager/js/pvemanagerlib.js
a.第一个修改位置
vi搜索 /Ext.create('Ext.window.Window
height:后面400改为420
b.第二个修改不位置
vi搜索 /widget.pveNodeStatus
height:后面300改为320
c.第三个添加位置
vi搜索 /textField: 'pveversion',
添加后显示为
textField: 'pveversion',
value.
}, ------此位置需要添加一个英文的逗号
{
itemId: 'thermal',
colspan: 2,
printBar: false,
title: gettext('CPU温度'),
textField: 'thermalstate',
renderer:function(value){
const c0 = value.match(/Core 0.*?\+([\d\.]+)?/)[1];
const c1 = value.match(/Core 1.*?\+([\d\.]+)?/)[1];
return `Core: ${c0} | ${c1}`
}
}
],
updateTitle: function(){
6.修改完成后,重启PVE的Web管理器
systemctl restart pveproxy
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。