硬件配置

主板:华擎B365M itx/ac
cpu:i5 8600t
内存:16G
储存:主板m2接口转sata插256G SSD 和 500G2.5寸黑盘,主板satax4插 8T硬盘x4
pcie:I350T4 4口千兆pcie网卡


安装包下载

https://pve.proxmox.com/wiki/Downloads

https://mirrors.tuna.tsinghua.edu.cn/proxmox/iso/
Proxmox Virtual Environment 7.3

使用WinPE,运行DiskGenius先将安装盘删除所有分区,载入PVE安装镜像,按提示安装。


PVE替换国内源

更换apt软件源

进入Shell,先备份源文件

cp /etc/apt/sources.list /etc/apt/sources.list.bak

修改源文件

nano /etc/apt/sources.list

将原本的#注释掉,添加

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

更换PVE软件源

进入Shell,先备份源文件

cp /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.d/pve-enterprise.list.bak

修改源文件

nano /etc/apt/sources.list.d/pve-enterprise.list

原本内容#注释掉,替换内容

deb https://mirrors.tuna.tsinghua.edu.cn/proxmox/debian bullseye pve-no-subscription

更新

apt-get update

替换 CT Templates (LXC 容器) 源

将 /usr/share/perl5/PVE/APLInfo.pm 文件中默认的源地址 http://download.proxmox.com 替换为 https://mirrors.tuna.tsinghua.edu.cn/proxmox

可使用如下命令一键替换

cp /usr/share/perl5/PVE/APLInfo.pm /usr/share/perl5/PVE/APLInfo.pm_back

sed -i 's|http://download.proxmox.com|https://mirrors.tuna.tsinghua.edu.cn/proxmox|g' /usr/share/perl5/PVE/APLInfo.pm

重启服务

systemctl restart pvedaemon.service

开启硬件直通

biso开启vt-d
进去Shell激活硬件直通

nano /etc/default/grub

替换GRUB_CMDLINE_LINUX_DEFAULT="quiet"GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"
更新grub

update-grub

重启应用

虚拟机安装macOS

部署恢复镜像:

下载CT模板ubuntu18.04,创建CT
替换ubuntu源,修改文件

nano /etc/apt/sources.list

原版的#注释掉,添加

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

更新系统

apt-get update

apt-get upgrade -y

安装依赖

apt install git qemu-utils make -y

临时添加默认网关,用于科学访问github

apt install net-tools

route add default gw IP地址

制作macOS恢复镜像

git clone https://github.com/thenickdude/OSX-KVM.git

cd /root/OSX-KVM/scripts/monterey

make Monterey-recovery.img

拉取macOS镜像,下载引导,进入PVE Shell

pct pull 虚拟机ID /root/OSX-KVM/scripts/monterey/Monterey-recovery.img /var/lib/vz/template/iso/Monterey-recovery.img

cd /var/lib/vz/template/iso/

wget https://github.com/thenickdude/KVM-Opencore/releases/download/v15/OpenCore-v15.iso.gz

gzip -d OpenCore-v15.iso.gz

创建虚拟机





硬件-添加-CD/DVD驱动器-OpenCore-v15.iso

进入pve shell

避免循环引导:

echo "options kvm ignore_msrs=Y" >> /etc/modprobe.d/kvm.conf && update-initramfs -k all -u

修改配置,将光驱修改为硬盘(101为VM ID):

nano /etc/pve/qemu-server/101.conf

第二行加入:

args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -global nec-usb-xhci.msi=off -cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc

修改ide0和ide2后面的media=cdrom修改为cache=unsafe

启动虚拟机,选择第一项,Disk Utility-Continue-Apple inc.....-Erase-Erase-Done
左上X掉,第二项Reinstall-选择硬盘
期间会多次重启,期间选择macOS Installer或硬盘名称(第二选项)
成功后,可以去除恢复镜像硬盘,进入macOS,运行terminal

diskutil list

查看挂载的硬盘将disk2的EFI DD到disk0 EFI中,实现去除OpenCore镜像硬盘

sudo dd if=/dev/disk2s1 of=/dev/disk0s1

安装iStoreOS固件

https://fw.koolcenter.com/iStoreOS/x86_64_efi/

将img镜像上传至ios镜像中,将iso转换为磁盘格式

cd /var/lib/vz/template/iso
qm importdisk [虚拟机ID] [镜像名称] local-lvm

虚拟机-硬件-上挂未使用硬盘(选中编辑确认)-调整启动顺序为刚添加的硬盘-启动
容器Shell安装系统

quickstart

选择2安装至创建的虚拟硬盘
移除之前挂载的未使用硬盘

修改网络

vi /etc/config/network

quickstrat
按1设置IP及掩码,登陆后在管理 网络-接口-编辑添加网关高级设置里添加DNS

重启生效


直通硬盘安装debian

下载debian网络镜像

https://www.debian.org/download

https://mirrors.ustc.edu.cn/debian-cd/11.6.0/amd64/iso-dvd/debian-11.6.0-amd64-DVD-1.iso

上传至pve iso

创建虚拟机

加载iso镜像,其他略。

设置硬盘直通

查看硬盘识别符

ls /dev/disk/by-id

直通硬盘至虚拟机

qm set VMID -sata1 /dev/disk/by-id/硬盘识别符

开机启动,进入容器Shell,选择graphical install(图形安装模式)按照提示进行安装

SSH允许root登陆

使用容器设置的账户连接SSH

su

输入密码

nano /etc/ssh/sshd_config

添加,允许root登陆,允许空密码认证登陆
PermitRootLogin yes
PasswordAuthentication yes

保存后,重启SSH服务

/etc/init.d/ssh restart

更换国内源

nano /etc/apt/sources.list

将内容替换为

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free

deb https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free

更新系统

apt-get update
apt-get upgrade -y

如果遇到vi命令上下左右为ABCD
未找到解决办法,只能暂时解决,按i前使用上下左右选择,按i后不使用上下左右。
如果需要nano粘贴混乱问题,未找到解决办法。

如果更改系统显示语言

nano /etc/default/locale

内容
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh"
为中文

内容
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
为英文

安装docker环境

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

安装portainer-ce

docker run -d -p 8000:8000 -p 9000:9000 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

自动更新容器

每天凌晨2点检查并更新容器,删除旧容器

docker run -d \
    --name watchtower \
    --restart unless-stopped \
    -v /var/run/docker.sock:/var/run/docker.sock \
    containrrr/watchtower -c \
    --schedule "0 0 2 * * *"

jellyfin

https://www.chiphell.com/forum.php?mod=viewthread&tid=2375777
开启显卡直通

docker run -d  --net=host  --device /dev/dri/renderD128:/dev/dri/renderD128 --device /dev/dri/card0:/dev/dri/card0 --name="jellyfin" nyanmisaka/jellyfin

创建后开启高权限,并配置目录
--volume /path/to/config:/config
--volume /path/to/cache:/cache
--volume /path/to/media:/media
新版本添加movies和tvshows两个入口

Alist

docker run -d --restart=always -v /目录:/opt/alist/data -p 5244:5244 -e PUID=0 -e PGID=0 -e UMASK=022 --name="alist" xhofe/alist

为知笔记

docker run --name wiz --restart=always -it -d -v  /目录:/wiz/storage -v  /etc/localtime:/etc/localtime -p 80:80 -p 9269:9269/udp  wiznote/wizserver

默认管理员账号:admin@wiz.cn,密码:123456

客户端下载:https://www.wiz.cn/zh-cn/download.html


直通硬盘安装DSM群晖

下载arpl中文版本

https://github.com/wjz304/arpl-zh_CN (已经停止更新)
https://github.com/wjz304/arpl-i18n
将img上传至pve iSO中

创建DSM

创建虚拟机设置常规配置(根据要求内存至少4G),删除硬盘,添加该有的设备
打开pve Shell,进入iso目录

cd /var/lib/vz/template/iso/

编辑img转为硬盘文件

qm importdisk [虚拟机ID] [镜像名称] local-lvm

查看硬盘识别符

ls /dev/disk/by-id

硬盘直通

qm set [虚拟机ID] -sata1 /dev/disk/by-id/硬盘识别符

将arpl磁盘设置为第一启动循序,根据Shell提示的地址访问,例如IP:7681
按照提示编译

选择型号-选择版本-选择SN-编译引导-启动

PVE+NUT+群晖配置UPS

参照文章https://blog.csdn.net/qq_37429313/article/details/128758240

PVE Shell 安装必要软件

apt install nut nut-client nut-server

查看UPS信息

nut-scanner -U

将配置写入ups.conf

启动

upsdrvctl start

配置upsd.conf文件,最后一行添加LISTEN 0.0.0.0 3493
配置nut.conf文件,最后一行MODE=none改为MODE=netserver
启动服务

upsd

测试

upsc ups@localhost ups.status

返回
Init SSL without certificate database
OL

配置upsmon.conf文件

#这个很重要
RUN_AS_USER root
MONITOR ups@localhost 1 monuser secret  master
#这里可以自定义内容
NOTIFYMSG ONLINE        "UPS %s on line power"
NOTIFYMSG ONBATT        "UPS %s on battery "
NOTIFYMSG LOWBATT       "UPS %s battery is low"
#这个也很重要,首先upsmon->upssched->upssched-cmd
#注意路径
#[参考文章](https://networkupstools.org/docs/user-manual.chunked/ar01s07.html)
#upssched 是 upsmon 的助手,它将在与 UPS 事件相关的某个时间间隔为您调用命令。它可用于发送页面、邮寄有关事物的通知,甚至提前关闭盒>子。
NOTIFYCMD /usr/sbin/upssched

NOTIFYFLAG ONLINE       SYSLOG+WALL+EXEC
NOTIFYFLAG ONBATT       SYSLOG+WALL+EXEC
NOTIFYFLAG LOWBATT      SYSLOG+WALL+EXEC

配置upssched.conf文件

CMDSCRIPT /etc/nut/upssched-cmd
PIPEFN /etc/nut/upssched.pipe
LOCKFN /etc/nut/upssched.lock
# 断电使用电池开始计时30秒,计时后,执行upssched-cmd脚本,带shutdown_all参数
AT ONBATT * START-TIMER shutdown_all 30
# 来电后,停止shutdown_all计时
AT ONLINE * CANCEL-TIMER shutdown_all
# 来电后,执行脚本,带start_all参数
AT ONLINE * EXECUTE start_all
# 低电量,执行脚本,带shutdown_self参数
AT LOWBATT * EXECUTE shutdown_self

在/etc/nut创建并配置upssched-cmd文件

#! /bin/sh

case $1 in
        shutdown_self)
                #关闭所有
                upsmon -c fsd
                ;;
        shutdown_all)
                pvesh create /nodes/pve/qemu/100/status/stop
                pvesh create /nodes/pve/qemu/101/status/stop
                pvesh create /nodes/pve/qemu/102/status/stop
                ;;
        start_all)
                #开启所有
                pvesh create /nodes/pve/qemu/100/status/start
                pvesh create /nodes/pve/qemu/101/status/start
                pvesh create /nodes/pve/qemu/102/status/start
                ;;
        *)
                logger -t upssched-cmd "Unrecognized command: $1"
                ;;
esac

重启所有服务

systemctl restart nut-client.service nut-server.service nut-monitor.service; \
upsdrvctl stop; \
sleep 1; \
upsdrvctl start;

最后修改:2023 年 09 月 28 日
如果觉得我的文章对你有用,请随意赞赏