赞
踩
7. Proxmox群集文件系统(pmxcfs)
Proxmox群集文件系统(“ pmxcfs”)是一个数据库驱动的文件系统,用于存储配置文件,这些文件使用corosync实时复制到所有群集节点。我们使用它来存储所有与PVE相关的配置文件。
尽管文件系统将所有数据存储在磁盘上的持久性数据库中,但是数据的副本位于RAM中。这对最大大小(目前为30MB)施加了限制。这仍然足以存储数千个虚拟机的配置。
该系统具有以下优点:
7.1。POSIX兼容性
该文件系统基于FUSE,因此行为类似于POSIX。但是根本没有实现某些功能,因为我们不需要它们:
7.2。文件访问权限
所有文件和目录均由root用户拥有,并具有组 www-data。只有root拥有写权限,而组www-data可以读取大多数文件。以下路径下的文件:
/ etc / pve / priv /
/ etc / pve / nodes / $ {NAME} / priv /
只能通过root访问。
7.3。技术
我们使用Corosync集群引擎进行集群通信,并使用SQlite进行数据库文件通信。文件系统是使用FUSE在用户空间中实现的 。
7.4。文件系统布局
文件系统安装在:
/ etc / pve
7.4.1。档案
corosync.conf | Corosync群集配置文件(在Proxmox VE 4.x之前,此文件称为cluster.conf) |
storage.cfg | Proxmox VE存储配置 |
数据中心 | Proxmox VE数据中心范围内的配置(键盘布局,代理等) |
user.cfg | Proxmox VE访问控制配置(用户/组/…) |
domains.cfg | Proxmox VE认证域 |
status.cfg | Proxmox VE外部指标服务器配置 |
authkey.pub | 票务系统使用的公钥 |
pve-root-ca.pem | 群集CA的公共证书 |
priv / shadow.cfg | 影子密码文件 |
私人/ authkey.key | 票务系统使用的私钥 |
priv / pve-root-ca.key | 群集CA的私钥 |
节点/<NAME>/pve-ssl.pem | Web服务器的公共SSL证书(由群集CA签名) |
节点/<NAME>/pve-ssl.key | pve-ssl.pem的专用SSL密钥 |
节点/<NAME>/pveproxy-ssl.pem | Web服务器的公共SSL证书(链)(pve-ssl.pem的可选替代) |
节点/<NAME>/pveproxy-ssl.key | pveproxy-ssl.pem的专用SSL密钥(可选) |
节点/<NAME>/qemu-server/<VMID>.conf | KVM VM的VM配置数据 |
节点/ <名称> / lxc / <VMID> .conf | LXC容器的VM配置数据 |
防火墙/群集.fw | 防火墙配置已应用于所有节点 |
防火墙/<NAME>.fw | 单个节点的防火墙配置 |
防火墙/<VMID>.fw | VM和容器的防火墙配置 |
7.4.2。符号链接
本地 | 节点/ <LOCAL_HOST_NAME> |
qemu服务器 | 节点/ <LOCAL_HOST_NAME> / qemu-server / |
x | 节点/ <LOCAL_HOST_NAME> / lxc / |
7.4.3。用于调试的特殊状态文件(JSON)
。版 | 文件版本(检测文件修改) |
。成员 | 有关集群成员的信息 |
.vmlist | 所有虚拟机列表 |
.clusterlog | 群集日志(最近50个条目) |
.rrd | RRD数据(最新条目) |
7.4.4。启用/禁用调试
您可以使用以下命令启用详细的系统日志消息:
回声“ 1”> /etc/pve/.debug
并使用以下命令禁用详细的系统日志消息:
回声“ 0”> /etc/pve/.debug
7.5。复苏
如果您的Proxmox VE主机存在重大问题(例如硬件问题),则仅复制pmxcfs数据库文件/var/lib/pve-cluster/config.db并将其移至新的Proxmox VE主机可能会有所帮助 。在新主机(没有任何运行)上,您需要停止 pve-cluster服务并替换config.db文件(需要权限 0600)。其次,根据丢失的Proxmox VE主机改编/ etc / hostname和/ etc / hosts,然后重新启动并检查。(并且不要忘记您的VM / CT数据)
7.5.1。删除集群配置
建议的方法是从群集中删除节点后重新安装该节点。这样可以确保销毁所有秘密群集/ ssh密钥和所有共享的配置数据。
在某些情况下,您可能希望将节点放回本地模式而不进行重新安装,这在不重新安装的单独节点中进行了描述。
7.5.2。从发生故障的节点中恢复/移动来宾
对于节点/ <NAME> / qemu-server /(VM)和 节点/ <NAME> / lxc /(容器)中的来宾配置文件,Proxmox VE将包含的节点<NAME>视为各自来宾的所有者。此概念允许使用本地锁代替昂贵的群集范围锁,以防止并发来宾配置发生更改。
结果,如果客户机的拥有节点发生故障(例如,由于断电,防护事件等),则无法进行常规迁移(即使所有磁盘都位于共享存储上),因为这样的本地无法获得(死)拥有节点上的锁定。对于HA管理的来宾来说,这不是问题,因为Proxmox VE的高可用性堆栈包括必要的(群集范围内)锁定和看门狗功能,以确保从受防护节点正确,自动地恢复来宾。
如果非HA管理的来宾仅具有共享磁盘(并且未配置仅在故障节点上可用的其他本地资源),则可以通过简单地从/ etc中故障节点目录中移动来宾配置文件来进行手动恢复。/ pve /到活动节点的目录(这将更改来宾的逻辑所有者或位置)。
例如,具有ID回收VM 100从死节点1到另一个节点节点2登录的群集的任何成员节点上根时作品与所执行的以下命令:
mv /etc/pve/nodes/node1/qemu-server/100.conf / etc / pve / nodes / node2 /
像这样手动恢复guest虚拟机之前,请绝对确保发生故障的源节点已真正关闭电源。否则,mv命令会违反Proxmox VE的锁定原则,这可能会带来意想不到的后果。 |
这样,使用本地磁盘(或仅在死节点上可用的其他本地资源)的来宾无法恢复。等待失败的节点重新加入群集,或者从备份中还原此类来宾。 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。