硬件配置
主板:华擎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
启动
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;