PVE安装问题

安装8.4版本,提示bootlader setup errors: failed to prepare EFI boot using Grub on ‘/dev/nvme0n1p2’:unable to install the EFI boot loader on ‘/dev/nvme0n1′”

原因:检查安装日志,提示grub-install: waring :Cannot set EFI variable Boot0000

由于主板原来会记录efi variables 在原来的ssd里,如果没有这个参数就报错

解决办法:

grub-install --target=x86_64-efi --efi-directory=/boot/efi --no-nvram --force-extra-removable 
update-grub

添加参数--no-nvram --force-extra-removable 

群晖替换硬盘

通过设置raid1来替换硬盘,不需要手动迁移数据。

步骤1:先把存储池改为raid1,添加新硬盘,等待数据同步。

步骤2:同步完成后,拆掉旧的硬盘,新硬盘可以随便插在哪个位置上,然后把raid1通过以下命令改回basic

cat /proc/mdstat,查看使用raid的盘,通常md2开始是自己的盘

mdadm --grow --raid-devices=1 --force /dev/md2

mdadm –grow –raid-devices=1 –force /dev/md2 通过这个命令改为basic,md2是要改的存储池。

如果新硬盘有额外空间,可以通过储存管理器扩展空间。

wsl迁移

一般情况下wsl的虚拟文件都放在C盘下,如果C盘过小就很容易爆了,所以得迁移到有空间的盘。

首先得停了wsl,执行

wsl --shutdown
wsl -l -v

然后到C盘以下目录:

C:\Users\帐号\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\LocalState

找到一个ext4.vhdx文件,把这文件剪切到其它盘,例如f:\wsl,然后把目录LocalState删除了

继续打开cmd,执行下面命令创建一个软连接

mklink /j C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\LocalState f:\wsl

这就结束了,可以打开wsl看看

pve win11 wsl

pve嵌套win11 安装wsl遇到报错:WslRegisterDistribution failed with error: 0x80370102

需要在虚拟机配置中加上以下参数,同时打开硬件虚拟选项

args: -cpu Cooperlake,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,+vmx

无法扫库问题

添加库后一直扫描卡在90%,查看日志发现是:

The configured user limit (8192) on the number of inotify watches has been reached, or the operating system failed to allocate a required resource.

查看系统用户的限制数量:

cat /proc/sys/fs/inotify/max_user_watches

默认8192

加大此值

echo 32768 > /proc/sys/fs/inotify/max_user_watches

Lets Encrypt证书

使用lets Encrypt可以创建免费证书,3个月,可自动续期。

安装:

curl https://get.acme.sh | sh -s email=my@example.com

生成证书
使用Dns api自动添加域名验证信息
export DP_Id="1234"

export DP_Key="sADDsdasdgdsf"

acme.sh --issue --dns dns_dp -d aa.com -d www.aa.com

以后就可以
acme.sh --issue -d mydomain2.com --dns  dns_dp

复制证书
acme.sh --install-cert -d example.com \
--key-file       /path/to/keyfile/in/nginx/key.pem  \
--fullchain-file /path/to/fullchain/nginx/cert.pem \
--reloadcmd     "service nginx force-reload"

Nginx 的配置 ssl_certificate 使用 /etc/nginx/ssl/fullchain.cer ,而非 /etc/nginx/ssl/<domain>.cer ,否则 SSL Labs 的测试会报 Chain issues Incomplete 错误。

定时任务
crontab  -l

56 * * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null

群晖可使用webhook导入证书
需要使用帐号密码
./acme.sh --deploy --home . -d "abc.com" --deploy-hook synology_dsm

参考https://github.com/acmesh-official/acme.sh/wiki/Synology-NAS-Guide

https://github.com/acmesh-official/acme.sh/wiki/%E8%AF%B4%E6%98%8E