I'm XuéChūn - pve
type: channel
link: https://www.xuechun.vip/tag/pve/
items: PVE提示硬盘异常
items: 从1panel推送SSL证书到PVE主机

PVE提示硬盘异常
type: item
date: 2025-06-22T14:49:00+00:00
description: PVE突然提示硬盘异常，这块盘挂飞牛的，打开飞牛发现还能用，备份一下数据先继续用，有空再处理。This message was generated by the smartd daemon running on: host name: n100 DNS domain: xuechun.vip The following warning/error was logged by the smartd daemon: Device: /dev/sda [SAT], 1 Offline uncorrectable sectors Device info: Great Wall GW600S 1TB, S/N:20250107026700, FW:R0103A, 1.00 TB For details see host's SYSLOG. You can also use the smartctl utility for further investigation. The original message about this issue was sent at Tue Jun 10 22:14:22 2025 CST Another message will be sent in 24 hours if the problem persists.

从1panel推送SSL证书到PVE主机
type: item
date: 2025-06-18T14:58:00+00:00
description: 公网和内网用同一个域名访问局域网PVE主机时，避免浏览器证书错误提示。其他用途自己扩展，比如scp同步文件（据说性能比rsync好）。✅进度：已完成初版，要求能够ssh免密登录远程主机。要求：需要在云主机上配置好SSH免密登录PVE。传送门 Linux SSH免密登录实现：脚本其实很简单，自动推送1panel申请好的证书到pve相应目录就可以（/etc/pve/nodes/n100/）。代码已发布到 https://github.com/noyboy/1panel/blob/main/ssl/sync-pve-cert.sh#!/bin/bash # 功能：1panel自动申请证书后，同步到内网pve主机； # 使用：sync-pve-cert.sh [证书存放路径] # 如：sync-pve-cert.sh '/path/to/cert' #指定pem证书存放目录 # 或者 sync-pve-cert.sh #证书与当前脚本在同一目录 # 要求：需要搭配ssh免密登录pve主机； # 远程主机IP，这里代理内网主机192.168.31.254:22到本机127.0.0.1:28122 REMOTE_USER_IP="root@127.0.0.1" # 默认root用户可以不填写 # 远程主机ssh端口号 REMOTE_PORT=28122 # 证书文件，有脚本参数时用参数指定的目录，无参数时用当前脚本目录 PEM_PATH=${1:-$(dirname "$(readlink -f "$0")")} #证书目录 FULLCHAIN_PEM="$PEM_PATH/fullchain.pem" #证书文件 PRIVKEY_PEM="$PEM_PATH/privkey.pem" #密钥文件 # 如果证书不存在则退出 [ ! -f "$FULLCHAIN_PEM" ] && { echo "证书文件：${FULLCHAIN_PEM}未找到" ; exit 1 ; } [ ! -f "$PRIVKEY_PEM" ] && { echo "密钥文件：${PRIVKEY_PEM}未找到" ; exit 2 ; } # 检测目标主机免密登录是否可用 res=`ssh -p $REMOTE_PORT $REMOTE_USER_IP -o PreferredAuthentications=publickey -o StrictHostKeyChecking=no "date" |wc -l` if [ ! $res -eq 1 ] ; then echo "错误：目标主机 $REMOTE_USER_IP:$REMOTE_PORT 免密连接异常，请检测公钥设置是否正确。" exit 1 fi # 推送证书到pve主机 # 语法：scp -P 端口号 -p 文件路径 用户名@远程主机IP:目标目录 # 确保-P参数紧跟在scp命令之后，否则可能会出现错误。 # -p(小写) 保留文件的修改时间、访问时间和权限信息 # 在传输文件或目录时，需要确保源文件或目录具有可读权限，目标目录具有可写权限。 # 如果需要传输的是目录，可以使用-r参数来递归复制整个目录。 # 注意需要把密钥后缀.pem改为.key # 同步证书 scp -P $REMOTE_PORT $FULLCHAIN_PEM ${REMOTE_USER_IP}:/etc/pve/nodes/n100/pveproxy-ssl.pem [ ! $? -eq 0 ] && { echo "${FULLCHAIN_PEM} 同步到远程主机 [$REMOTE_USER_IP:$REMOTE_PORT] 失败！" ; exit 1 ; } # 同步私钥 scp -P $REMOTE_PORT $PRIVKEY_PEM ${REMOTE_USER_IP}:/etc/pve/nodes/n100/pveproxy-ssl.key [ ! $? -eq 0 ] && { echo "${PRIVKEY_PEM} 同步到远程主机 [$REMOTE_USER_IP:$REMOTE_PORT] 失败！" ; exit 1 ; } # 检测文件传输是否正确 ssh -p $REMOTE_PORT $REMOTE_USER_IP "cd /etc/pve/nodes/n100/; ls -l; " # 重启服务，经测试会自动刷新 # ssh -p ${REMOTE_PORT} root@${REMOTE_PORT} "systemctl restart pveproxy;" echo "证书已同步到远程主机 $REMOTE_USER_IP:$REMOTE_PORT." exit 0