我已经设置了两个 postgresql docker 容器来写入 Kubernetes 集群中 /var/lib/postgresql/data/ 上已安装的 nfs 卷。
我注意到新的更改是正确写入的,但一个容器写入的数据不会反映在另一个容器的数据库上。
在删除 pod/容器并重新创建其他两个容器时,即使数据文件确实存在,新容器也不会反映先前容器的数据库中包含的数据库中的数据。
为什么会这样?
我已经设置了两个 postgresql docker 容器来写入 Kubernetes 集群中 /var/lib/postgresql/data/ 上已安装的 nfs 卷。
我注意到新的更改是正确写入的,但一个容器写入的数据不会反映在另一个容器的数据库上。
在删除 pod/容器并重新创建其他两个容器时,即使数据文件确实存在,新容器也不会反映先前容器的数据库中包含的数据库中的数据。
为什么会这样?
简而言之,您不能在 2 个 postgres 实例之间共享文件系统。
将 2 个实例绑定到同一个卷称为共享磁盘故障转移 ( ref ):第二个实例是备份,只有在第一个实例停止后才能使用。这对绝对不能一起使用,这样做会导致“严重的数据损坏”。
如果您正在寻找加快数据库读取/写入速度的方法,请搜索复制和分片。