修改IP#
/etc/network/interfaces/etc/issue/etc/hosts
直通显卡#
- 修改grub启动参数:改文件
/etc/default/grub中GRUB_CMDLINE_LINUX_DEFAULT配置:1`GRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt initcall_blacklist=sysfb_init amd_iommu=on drm.debug=0 kvm_amd.nested=1 kvm.ignore_msrs=1 kvm.report_ignored_msrs=0 pci=assign-busses pcie_acs_override=downstream,multifunction vfio_iommu_type1.allow_unsafe_interrupts=1"`- 其中必须添加的:
iommu=pt设置iommu为直通模式pass throughinitcall_blacklist=sysfb_init屏蔽掉pve7.2的一个bugpcie_acs_override=downstream,multifunctioniommu分组补丁- 其他参数之前直通存在问题,修改的一些配置,具体含义未详细了解,去掉是否有影响本人未做尝试。
- 执行
update-grub更新grub
- 其中必须添加的:
- 添加驱动黑名单:修改或新增配置文件
/etc/modprobe.d/blacklist.conf, 添加内容:1 2blacklist amdgpu blacklist snd_hda_intel - 添加加载模块:修改或新增配置文件
/etc/modules, 添加内容:1 2 3 4vfio vfio_iommu_type1 vfio_pci vfio_virqfd - 获取核显id并绑定核显设备
1 2root@nas:/# lspci -D -nnk | grep VGA 0000:07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [1002:1638] (rev c9)- 记下命令显示的最前面的数字序号为IOMMU分组
0000:07:00.0;后面中括弧中1002:1638为设备id - 修改或新增配置文件
/etc/modprobe.d/vfio.conf, 添加内容:1 2options vfio-pci ids=1002:1638 options vfio-pci disable_idle_d3=1 - 其中
1002:1638为核显设备id,如果已经存在其他直通设备,请使用,进行分隔填写多个,如:options vfio-pci ids=14c3:7961,1002:1638执行命令:update-initramfs -u -k all
重启机器:reboot
- 记下命令显示的最前面的数字序号为IOMMU分组
4. 添加vendor-reset
AMD显卡直通会出现第一次启动VM之后,如果关闭或重启VM,显卡就会工作不正常、掉驱动甚至不工作,这是由于AMD Reset Bug导致VM关机后显卡不能正确重置(重新被宿主机系统抓取),大多数主机开机只能使用一次,第二次尝试使用显卡则会导致VM启动失败,甚至影响VM宿主机卡死
安装编译vendor-reset驱动需要的依赖(在网卡部分安装过则可以跳过)
apt install pve-headers-$(uname -r)
apt install git dkms build-essential
下载vender-reset驱动并编译
git clone https://github.com/gnif/vendor-reset.git
cd vendor-reset
dkms install .
将驱动添加到modules管理中
echo "vendor-reset" >> /etc/modules
update-initramfs -u
重启后运行
dmesg | grep vendor
如果有输出,则表示安装成功
[ 8.851280] vendor_reset_hook: installed
PVE使用AMD CPU 5600G 核显直通_pve 5600g核显直通-CSDN博客
直通硬盘#
| |
安装黑群晖#
GitHub - RROrg/rr: Redpill Recovery (arpl-i18n)一键安装脚本:
curl -fsSL https://github.com/RROrg/rr/raw/refs/heads/main/scripts/pve.sh | bash
- 洗白
- 9p共享
- args: -cpu host,+kvm_pv_eoi,+kvm_pv_unhalt,svm,hv_vendor_id=AuthenticAMD -fsdev local,security_model=passthrough,id=fsdev0,path=/mnt/pve/ssd -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=virtio9p
PVE#
一键脚本(自行验证)#
Mapleawaa/PVE-Tools-9#
- xiangfeidexiaohuo/pve-diy
- bash -c “$(curl -fsSL https://raw.githubusercontent.com/xiangfeidexiaohuo/pve-diy/master/pve.sh)"
pve_source(支持pve8,未更新,功能自测)
| |
pvetools(支持pve8,未更新,功能自测)1 2 3 4export LC_ALL=en_US.UTF-8 apt update && apt -y install git && git clone https://github.com/ivanhao/pvetools.git cd pvetools ./pvetools.sh
风扇监控:安装完驱动后,在/etc/default/grub增加 acpi_enforce_resources=lax,最后update-grub
| |
Docker#
frp
- 加密传输:新版已全局默认,单个为
transport.useEncryption = true - 压缩传输:如果有前置Nginx,则去Nginx设置压缩,
transport.useCompression = true
- 加密传输:新版已全局默认,单个为
Traefik
- 加密Dashboard
echo $(htpasswd -nb your_username your_password) | sed -e s/\\$/\\$\\$/g- 修改
traefik的docker-compose.yml,为其labels添加中间件配置:
- 加密Dashboard
labels:
… 其他标签保持不变 …#
— Basic Auth 中间件定义 —#
- “traefik.http.middlewares.my-auth.basicauth.users=your_username:$$apr1$$…” # 粘贴上一步生成的字符串
— 将中间件应用到 Dashboard —#
- “traefik.http.routers.dashboard.middlewares=my-auth”
3. 信任来自 FRP 管道的请求
```yaml
# 定义入口点 (EntryPoints),即流量的入口
entryPoints:
web:
address: ":80"
# --- 添加下面这部分 ---
forwardedHeaders:
# 信任所有来源的 X-Forwarded-* 头信息
# 在我们的架构中,只有可信的FRP管道会连接到这个端口,所以这样设置是安全的
insecure: true
- 暴露docker远程API Docker 启用 远程 API | 知识库
LXC端口转发#
echo 'net.ipv4.ip_forward = 1' | tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | tee -a /etc/sysctl.d/99-tailscale.conf
sysctl -p /etc/sysctl.d/99-tailscale.conf
tailscale up --advertise-routes=192.168.2.0/24
apt install mesa-va-drivers radeontop vainfo
- LXC挂载NFS
| |
- LXC挂载webdav
| |
post.smzdm.com/p/al82p3eg/ 3. LXC frpc /usr/local/bin/ /tc/frp
LXC#
alpine安装fprc#
[Alpine Linux如何安装FRP最新版 \| 24K PLUS](https://www.24kplus.com/linux/2323.html)
tee /etc/init.d/frpc <<EOF
#!/sbin/openrc-run
name="frp client"
command="/usr/local/bin/frpc"
command_args="-c /opt/frpc/frpc.toml"
command_user="nobody"
depend() {
need net
}
EOF
sudo chmod +x /etc/init.d/frpc
sudo rc-update add frpc default
sudo service frpc start
sudo service frpc status
sudo service frpc stop
sudo cp frps /usr/local/bin/frpc
sudo service frpc start
ZFS使用#
数据集:
zfs destroy hdd-data/storage # 摧毁数据集
zfs create -o mountpoint=/mnt/hdd-data/media hdd-data/media # 创建用于存放媒体文件的数据集
# 设置顶层不放置文件
zfs set mountpoint=none hdd-data
Debain命令#
PVE#
BIOS设置#
主板设置#
- 开启SVM模式
- 开启IOMMU
- 关闭 CSM Support
- 关闭 Secure Boot (安全启动)
- CPU C-States:
Enabled - Power Supply Idle Control:Low Current Idle
- PCI Express Active State Power Management:Enabled
- 禁用声卡
初始化#
- 社区脚本初始化源等:
bash -c "$(curl -fsSL https://git.community-scripts.org/community-scripts/ProxmoxVE/raw/branch/main/tools/pve/post-pve-install.sh)"
✓ Disabled 'pve-enterprise' repository
✓ Disabled 'ceph enterprise' repository
✓ Added 'pve-no-subscription' repository
✓ 'ceph' package repository (no-subscription) already exists (skipped)
✓ Added 'pve-test' repository
✓ Disabled subscription nag (Delete browser cache)
✓ Disabled high availability
✓ Disabled Corosync
✓ Updated Proxmox VE
✓ Completed Post Install Routines
- Github脚本:
bash <(curl -sSL https://ghfast.top/github.com/Mapleawaa/PVE-Tools-9/blob/main/PVE-Tools.sh)- 换源:
- 卸载ceph
[2025-10-15 21:14:34] [STEP] 开始为您的 PVE 换上飞速源
[2025-10-15 21:14:34] [INFO] 安全更新源选择
安全更新源包含重要的系统安全补丁,选择合适的源很重要:
1) 使用官方安全源 (推荐,更新最及时,但可能较慢)
2) 使用镜像站安全源 (速度快,但可能有延迟)
请选择 [1-2] (默认: 1): 1
[2025-10-15 21:14:46] [INFO] 将使用官方安全更新源
[2025-10-15 21:14:46] [INFO] 正在配置 Debian 镜像源...
[2025-10-15 21:14:47] [INFO] 贴心备份完成: /etc/apt/sources.list.d/debian.sources
[2025-10-15 21:14:47] [INFO] 备份文件位置: /etc/pve-tools-9-bak/debian.sources.backup.20251015_211447
[2025-10-15 21:14:47] [INFO] 正在关闭企业源(我们用免费版就够啦)...
[2025-10-15 21:14:47] [INFO] 贴心备份完成: /etc/apt/sources.list.d/pve-enterprise.sources
[2025-10-15 21:14:47] [INFO] 备份文件位置: /etc/pve-tools-9-bak/pve-enterprise.sources.backup.20251015_211447
[2025-10-15 21:14:47] [INFO] 正在配置 Ceph 镜像源...
[2025-10-15 21:14:47] [INFO] 贴心备份完成: /etc/apt/sources.list.d/ceph.sources
[2025-10-15 21:14:47] [INFO] 备份文件位置: /etc/pve-tools-9-bak/ceph.sources.backup.20251015_211447
[2025-10-15 21:14:47] [INFO] 正在添加免费版专用源...
[2025-10-15 21:14:47] [INFO] 正在加速 CT 模板下载...
[2025-10-15 21:14:47] [INFO] 贴心备份完成: /usr/share/perl5/PVE/APLInfo.pm
[2025-10-15 21:14:47] [INFO] 备份文件位置: /etc/pve-tools-9-bak/APLInfo.pm.backup.20251015_211447
[2025-10-15 21:14:47] [SUCCESS] 太棒了!所有源都换成飞速版本啦
Ceph管理
------------------------------------------------
1 . 添加ceph-squid源 (PVE8/9专用)
2 . 添加ceph-quincy源 (PVE7/8专用)
3 . 卸载Ceph (完全移除Ceph)
------------------------------------------------
0 . 返回主菜单
------------------------------------------------
请选择 [0-3]: 3
[2025-10-15 21:18:18] [WARN] 会卸载ceph,并删除所有ceph相关文件!
Failed to stop ceph-mon.target: Unit ceph-mon.target not loaded.
ceph-mon: no process found
ceph-mgr: no process found
ceph-mds: no process found
ceph-osd: no process found
unable to get monitor info from DNS SRV with service name: ceph-mon
2025-10-15T21:18:19.259+0800 7b2ff81ccb80 -1 failed for service _ceph-mon._tcp
2025-10-15T21:18:19.260+0800 7b2ff81ccb80 -1 monclient: get_monmap_and_config cannot identify monitors to contact
rados_connect failed - No such file or directory
Error gathering ceph info, already purged? Message: rados_connect failed - No such file or directory
Removing config & keyring files
Package 'ceph-mon' is not installed, so not removed
Package 'ceph-osd' is not installed, so not removed
Package 'ceph-mgr' is not installed, so not removed
Package 'ceph-mds' is not installed, so not removed
Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
Package 'ceph-base' is not installed, so not removed
Package 'ceph-mgr-modules-core' is not installed, so not removed
Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
mv: cannot move '/etc/apt/sources.list.d/ceph.sources' to '/etc/apt/backup/ceph.sources.bak': No such file or directory
[2025-10-15 21:18:19] [SUCCESS] 已成功卸载ceph.
- 设置CPU:
- 社区脚本设置省电模式:bash -c “$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/pve/scaling-governor.sh)"
- 查看当前运行模式:cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
- 查看当前可以用的运行模式:cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
- 深度休眠需启用 BIOS C-States:cat /sys/devices/system/cpu/cpu0/cpuidle/state*/name(确认有 C6)
- 限制最大最小频率:
- apt-get install linux-cpupower
- cpupower frequency-set -g powersave -d 400MHz -u 2000MHz
- cpupower frequency-set -d 2.5GHz -u 3.6GHz
# 查看CPU驱动
cpupower frequency-info
# Governor 选择节能模式
sudo cpupower frequency-set -g powersave
# 限制CPU频率在 400MHz ~ 3.6GHz
sudo cpupower frequency-set -d 400MHz -u 1500MHz
cpupower -c all frequency-set -d 1.0GHz # 设置CPU最小频率为2.4GHz
cpupower -c all frequency-set -u 2.4GHz # 设置CPU最大频率为2.4GHz
# 查看实时频率
watch -n 1 "grep 'cpu MHz' /proc/cpuinfo"
watch -n 1 cpupower monitor
watch -n 1 cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
tuned-adm profile powersave
- 系统服务:
- 查看正在运行的系统服务:systemctl list-units –type=service –state=running
安装风扇传感器:GitHub - skyshenma/pve-nsa-fan-ctrl
1. apt install smartmontools lm-sensors build-essential -y
2. apt install pve-headers-$(uname -r)
git clone https://github.com/shauno8/it87.git
cd it87
make
make install
modprobe -r it87
modprobe it87 ignore_resource_conflict=1 force_id=0x8620
echo "options it87 ignore_resource_conflict=1 force_id=0x8620" > /etc/modprobe.d/it87.conf
echo "it87" >> /etc/modules
update-initramfs -u
- 设置风扇控制:etc/fancontrol
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon1=devices/platform/it87.2624 hwmon2=devices/pci0000:00/0000:00:18.3
DEVNAME=hwmon1=it8620 hwmon2=k10temp
FCTEMPS=hwmon1/pwm1=hwmon2/temp1_input
FCFANS= hwmon1/pwm1=hwmon1/fan1_input
MINTEMP=hwmon1/pwm1=30
MAXTEMP=hwmon1/pwm1=75
MINSTART=hwmon1/pwm1=10
MINSTOP=hwmon1/pwm1=20
- 设置IPV6
/etc/network/interfaces:post-up echo "2" > /proc/sys/net/ipv6/conf/vmbr0/accept_ra
⚠️upload failed, check dev console
方法一:使用 hd-idle (推荐)#
安装
hd-idle: 打开PVE的Shell或通过SSH登录,执行:Bash
apt update apt install hd-idle -y配置
hd-idle: 编辑它的配置文件:Bash
nano /etc/default/hd-idle
找到 HD_IDLE_OPTS 这一行,修改它。
-i 0:禁用hd-idle的默认计时器(我们将在下面为特定磁盘设置)。-a sda:指定要管理的硬盘名称(sda,sdb等)。请务必用lsblk或fdisk -l命令确认你的HDD盘符! 不要对系统盘(通常是SSD)设置。-i 600:设置闲置时间,单位是秒。600就是10分钟。对于备份盘或媒体盘,可以设置长一点,比如1800(30分钟) 或3600(1小时)。
示例配置:假设你的HDD是 /dev/sdb,你希望它闲置30分钟后休眠。
Ini, TOML
# /etc/default/hd-idle
START_HD_IDLE=true
# -i 0 是为了让默认配置不对所有硬盘生效
# 之后用 -a 指定硬盘名,再用 -i 指定该硬盘的超时时间
HD_IDLE_OPTS="-i 0 -a sdb -i 1800"
如果你有多块HDD需要管理,可以这样写(/dev/sdb 30分钟休眠,/dev/sdc 1小时休眠):
Ini, TOML
HD_IDLE_OPTS="-i 0 -a sdb -i 1800 -a sdc -i 3600"启动并设置开机自启:
Bash
systemctl enable hd-idle
systemctl start hd-idle
最后:如何监控?#
设置休眠后,你应该监控一下硬盘的 Load_Cycle_Count (LCC),确保它不会增长得过快。
安装S.M.A.R.T.工具:
Bash
apt install smartmontools -y查看硬盘信息:
Bash
smartctl -a /dev/sdc | grep Load_Cycle_Count
记下当前的数值。过一天或者几天再来看一下,如果每天增长几百甚至上千,说明你的休眠时间设置得太短,硬盘被频繁唤醒,建议延长闲置时间。如果每天只增长几次或几十次,那就是一个非常健康的设置。
虚拟飞牛FnOS#
LXC#
创建容器模版#
Debain#
| |
Alpine#
| |
NFS使用
mkdir -p /mnt/immich
umount /mnt/immich
rm -rf /mnt/immich
chown -R 999:991 /mnt/immich
nano /etc/pve/lxc/100.conf
mount -t nfs 10.0.0.103:/volume3/video /mnt/video
你的群辉IP:/volume1/immich-storage /mnt/immich-nfs nfs defaults 0 0
mp0: /mnt/immich-nfs,mp=/mnt/immich
cd /opt/immich
ln -sf /mnt/immich/upload app/upload # app 目录链接
ln -sf /mnt/immich/library app/machine-learning/upload # ML 目录链接(如果启用 OpenVINO)
chown -R 100999:100991 /mnt/immich