关于 render-disks
render-disks 是一项用于规划、配置和排查 Render 持久磁盘的技能,面向管理有状态服务的用户。它涵盖挂载路径、容量、快照与数据恢复,并说明磁盘对服务扩缩容和部署的限制。
主要功能
- 01持久磁盘配置指导
- 02规划挂载路径与容量
- 03快照和还原指导
- 04数据传输与恢复建议
- 05说明磁盘相关扩缩容限制
适用场景
- 01持久保存上传文件和 CMS 媒体
- 02在 Render 上运行自管数据库
- 03排查扩缩容或部署选项受限
- 04从磁盘快照恢复数据
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ render-oss/ skills --skill render-disks安装后在 Claude Code 中输入/render-disks确认已加载。
附带文件references/persistent-disks.md
详细介绍
Render 持久磁盘
持久磁盘会保留写入服务所配置挂载路径下的文件,使其在部署和重启后继续存在。
在设计、配置、调整磁盘大小、传输数据到磁盘、创建磁盘快照、恢复磁盘或排查磁盘问题之前,请先阅读 references/persistent-disks.md。
何时使用
- 存储文件上传内容、CMS 媒体文件或用户生成内容
- 在 Render 上运行自托管数据库(MySQL、MongoDB、ClickHouse)
- 部署有状态基础设施(Elasticsearch、Kafka、RabbitMQ、Mattermost)
- 了解为何无法扩展或为何禁用了零停机部署
- 从磁盘快照恢复数据
对于托管数据库,请优先选择 Render Postgres(render-postgres)或 Key Value(render-keyvalue),而不是在磁盘上运行自托管数据库。
核心决策
- Render 的默认文件系统是临时的。只有写入磁盘挂载路径下的文件才会在部署和重启后保留。
- 使用磁盘的服务只能运行单个实例:无法进行横向扩展,也无法使用零停机部署。
- 如果文件存储必须由多个扩展后的实例共享,请使用 S3 或 R2 等外部对象存储。关系型数据请使用 Render Postgres;托管缓存或队列状态请使用 Render Key Value。
- 请选择能满足实际用量的最小磁盘容量,因为容量可以增加,但不能减少。对于小型上传服务,在当前限额允许的情况下,1–5 GB 是合理的起始范围。
Blueprint 设置
对于原生 Node.js 上传服务,请将子目录(如 /opt/render/project/src/uploads)挂载为磁盘,而不要挂载源码根目录本身,并将应用配置为把上传内容写入该目录:
services:
- type: web
name: uploads
runtime: node
buildCommand: npm ci
startCommand: npm start
disk:
name: uploads-data
mountPath: /opt/render/project/src/uploads
sizeGB: 5
在确定挂载路径或容量之前,请通过 references/persistent-disks.md 获取当前磁盘文档和 Blueprint 规范。
数据库备份和文件恢复
不要使用磁盘快照恢复 MySQL 等自托管数据库:文件系统快照可能会恢复出不一致或已损坏的数据库状态。请使用 mysqldump 等数据库原生备份方式,并测试其恢复流程。使用当前支持的传输方式(例如通过 SSH 使用 SCP 或 Magic-Wormhole)将备份文件移出服务。恢复快照会替换整个磁盘,并永久丢弃所选快照之后所做的更改。
参考文档
| 文档 | 内容 |
|---|---|
references/persistent-disks.md | 当前磁盘限制、配置、容量、快照、恢复和传输 |
相关技能
- render-web-services — 部署生命周期、健康检查(磁盘会禁用零停机部署)
- render-private-services — 带磁盘的内部服务(Elasticsearch、MySQL)
- render-blueprints —
render.yaml中的disk字段参考 - render-postgres — 托管数据库替代方案(无需管理磁盘)
获取当前文档
每当此技能指示你查阅 Render 当前文档时:
- 使用可用的 URL 获取工具或 HTTP 客户端(例如
curl)直接获取链接的 Markdown 文档。不要用网页搜索摘要代替该文档。 - 确认获取成功且返回了预期文档,然后阅读其内容。仅保存文件或打印文件路径并不足够。
- 如果请求失败,或工具无法读取 Markdown 响应,请打开并阅读链接的 HTML 版本。
- 如果两个版本都无法获取,请说明当前参考文档不可用,并遵循技能中针对该主题的备用方案。仅将随附指南用于稳定不变的限制,不要猜测可能变化的平台细节。
如果任务需要多个参考文档,请对每份文档分别执行此流程,并区分已验证和仍不可用的文档。