【问题标题】:How to prevent data from lost when restarting the database?重启数据库时如何防止数据丢失?
【发布时间】:2021-06-22 16:10:48
【问题描述】:
我将 db 用作带有文件存储的 pod。
问题是当我停止并启动 DB pod 时,数据丢失了
我必须重新创建表格
请问如何解决
【问题讨论】:
标签:
oracle
kubernetes-pod
persistent-volumes
【解决方案1】:
PVC 将为您完成这项工作。但是您使用的是哪个存储类?
以及卷插件的回收政策。
供您参考:
在 PV.yaml 中
persistentVolumeReclaimPolicy:回收
来自 K8s 文档:
回收政策
当前的回收政策是:
保留 -- 手动回收
回收 -- 基本清理 (rm -rf /thevolume/*)
删除 -- 关联的存储资产,例如 AWS EBS、GCE PD、Azure 磁盘或 OpenStack Cinder 卷被删除
目前,只有 NFS 和 HostPath 支持回收。 AWS EBS、GCE PD、Azure Disk 和 Cinder 卷支持删除。
来自 Kubernetes 文档:
对于支持 Delete 回收策略的卷插件,删除会从 Kubernetes 中删除 PersistentVolume 对象,以及外部基础设施中的相关存储资产,例如 AWS EBS、GCE PD、 Azure 磁盘或 Cinder 卷。动态供应的卷继承其 StorageClass 的回收策略,默认为 Delete。管理员应根据用户的期望配置 StorageClass;否则,必须在创建 PV 后对其进行编辑或修补。请参阅更改 PersistentVolume 的回收策略。
参考:
https://kubernetes.io/docs/concepts/storage/persistent-volumes/