Proxmox VE 5.4不停机修改主机名 | Drown in Codes

Proxmox VE 5.4不停机修改主机名 | Drown in Codes

今天修理一台坏掉的Proxmox VE打开网页管理面板一看本来是单节点工作的机子上显示了两个节点但是corosync并没有在运行更为诡异的是其中一个节点显示了本机的存储池另一个节点显示了本机的虚拟机各种状态API则是有的好有的坏检查后发现这台机子的主机名被人改过但是PVE的一些设置没有同步导致API出现了各种问题这里就体现出了PVE的缺点有些地方过度设计例如用DNS查询来寻找所有节点有些地方欠缺考虑例如主机名不和系统同步有些地方文档几乎没有

经过研究单节点的PVE修改主机名还算简单只需要将几个不同地方的配置文件同步上即可至于集群的PVE主机我的建议是能少折腾尽量少折腾毕竟身体最重要

Linux标准配置

首先要修改/etc/hostname这是所有Linux系统的主机名设置位置

然后PVE要求在本机解析自己的主机名能解析到除了127.0.0.1::1以外的本机的网卡IP因此我们需要修改/etc/hosts删掉原来主机名的记录添加一行新的记录

Proxmox Cluster file system

PVE的配置文件存放于一个FUSE挂载的文件系统上在多节点集群中这个文件系统的内容会自动在各个节点间同步更改了主机名以后我们需要让PVE能够找到对应的配置

千万记得在操作之前备份整个nodes文件夹——这个文件系统是在同步的即使你的PVE是单节点移动文件过程中如果出现访问冲突文件就有可能丢失需要手工再覆盖一次

首先干掉文件同步服务强制让本地数据作为权威

然后看一下战况如何

运气好的话这里只有一个和老主机名同名的文件夹那么就只需要简单地复制不能移动一下文件再删掉源文件

运气不好的话下面已经有两个分别以老主机名和新主机名命名的文件夹了那么你就得手工merge一下文件了我这边删掉新主机名为名的文件夹用老主机名为名的文件夹直接覆盖了好像也没有出什么事

确定nodes下只有一个和新主机名同名的文件夹以后我们需要更新一下这个文件系统里面的一些软链接这些软链接是用户不可写的在文件同步服务启动时自动配置所以我们直接重启文件同步进程

RRDcache

重新启动服务的时候会有一些日志重放的错误因为文件名变了可以忽略

API服务器

API和一些反向代理依赖主机名来找对应的主机即使你的PVE是单节点所以我们要重启它们让它们重新载入正确的配置

似乎一些健康状态检查的daemon不会立即更新数据可能需要等待五分钟左右

善后工作

  • pool配置可能会丢失
  • 用户权限可能会丢失