# 备份与恢复
EMQX 集群提供了转移功能,能够确保系统的高可用性,并且采用分布式存储将数据复制到所有节点。
尽管如此,我们仍然应当做最坏的打算来确保数据万无一失,本章节指导您如何进行 EMQX 数据备份和恢复。
# 配置文件
当使用配置管理工具、配置中心或 Git 管理配置时,配置的备份恢复通常不需要手动操作。
但如果手动修改配置文件则需要将其定期备份,由于安装方式不同,配置文件所在位置也不同:
- 使用二进制包安装时默认为
/etc/emqx
。 - 压缩包解压安装时,默认为安装目录下的
./etc
。 - 在 Docker 容器中运行时,默认为
/opt/emqx/etc
。
除了 etc
目录外,还有一些配置位于 data
目录中,请参考 配置文件介绍。
# Mnesia 数据库
EMQX 默认使用 Mnesia 数据库来存储数据,可以直接备份 Mnesia 数据文件夹。
在 EMQX Mnesia 数据库中,数据存储 在EMQX 的 data
目录下的 mnesia
子目录。备份数据库可以简单的复制其中的所有文件。
根据安装和配置的不同,data
目录默认在以下位置:
- 使用二进制包安装时默认为
/var/lib/emqx/data
。 - 压缩包解压安装时,默认为安装目录下的
./data
。 - 在 Docker 容器中运行时,默认为
/opt/emqx/data
。
您也可以通过 node.data_dir
配置或 EMQX_NODE__DATA_DIR
环境变量指定 data
目录位置。
# 持久会话
在 EMQX v5.0 之前,持久会话存储于内存中,对于企业版则存储到外部数据库,因此您无法在 EMQX 中备份持久会话。
# 数据恢复
在 EMQX 启动之前,将配置文件与数据放置到对应目录即可。