跳至正文
CDelivery

数据持久化

为应用挂载指定服务器上的数据卷,并理解数据和容器的生命周期。

容器可以被更新或重新创建。需要在这些操作后保留的业务数据,应写入持久化数据卷,而不是只写在容器自身的文件系统中。

创建前准备

数据卷由管理员在服务器的数据卷页面创建。应用操作者需要知道目标服务器、卷名称和镜像要求的数据目录。

本地数据属于所选服务器。当前应用必须在创建时选择这一部署方式:固定到该服务器、运行一个副本,不能同时使用 XConfig、动态调度或 Guardian。普通应用创建后不能直接通过添加挂载切换为本地数据模式。

挂载数据卷

  1. 创建应用,在文件与存储中选择数据方式。
  2. 选择持有目标卷的服务器。
  3. 添加数据卷并填写容器内的绝对目录,例如 /var/lib/mysql。
  4. 根据需要选择只读;数据库写入目录通常需要可写。
  5. 保存并创建应用,检查初始化日志。

卷名称表示宿主机上的存储对象,目标路径表示容器内的位置。名称相同但位于不同服务器上的卷,不应被视为同一份数据。

确认数据写到了正确位置

使用镜像文档中的数据目录,不要凭名称猜测。某些镜像允许环境变量改变数据目录,此时挂载目标也必须与最终设置一致。

先写入一条可识别的测试数据,在允许中断的测试场景下重新创建运行容器,再验证数据仍可读取。生产数据库的此类检查应遵循业务维护流程。

操作 对数据的含义
重启或更新容器 挂载正确时继续使用原卷,应用自身仍可能修改数据
删除应用 保留本地卷,停止应用对它的使用
删除数据卷 删除对应持久化数据,应先确认备份及使用情况
服务器失效 本地数据不会因为存在其他服务器就自动复制过去

常见问题

卷列表为空时,先确认所选服务器和数据卷服务状态。权限错误时检查镜像使用的用户及卷内文件权限。应用启动后看不到旧数据时,核对服务器、卷和容器目录三个条件。

更新数据库镜像前确认数据格式兼容。应用配置回滚不能撤销数据库已完成的迁移或业务写入。备份、恢复及数据一致性应采用数据库自身支持的方法。

需要数据库部署示例及限制说明,继续有状态应用。

输入关键词搜索…

↑↓ 移动↵ 选择Esc 关闭