簡體   English   中英

如何將Postgres DB從一個Kubernetes集群遷移到另一個集群

[英]How to move Postgres DB from one Kubernetes cluster to another

我在GKE群集(狀態集,SSD卷)上運行着一個大型(300Gb)Postgres數據庫。 我需要將此數據庫移至另一個GKE群集。

最簡單的方法是什么?

我試圖用管道pg_dump / pg_restore做到這一點,但是它要花很多時間,並且由於某種原因,並不是所有約束/觸發都被重新創建了。

有什么適當的方法來正常地“關閉”在Kubernetes中運行的Postgres服務器並直接將/pgdata文件夾復制(從一個卷復制到另一個卷)?

還有其他想法嗎? n

我對如何處理此問題幾乎沒有想法(從最可能到最少列出):

  1. 在使用pg_dump時,請記住使用正確的格式。 默認的純格式可能無法與pg_restore一起正常工作。 嘗試使用pg_dump指定其他格式,或使用psql -f xxx.tar而不是pg_restore 請記住,這可能需要一段時間。

  2. 您可以使用工具來協助您。 例如pghoard

  3. 您可以對數據庫進行皮重備份,然后嘗試通過Google Cloud Storage作為對象復制。

  4. 您可以嘗試手動創建PVC,將容器附加到這些PVC,然后將數據集復制到這些容器上。

  5. 最后,您可以嘗試創建一個Init容器,以后將其用於新集群。

我建議從第1點開始,因為我認為這是最可能的解決方案。 如果那還不夠,請嘗試從列表中稍后的要點。

請讓我知道是否有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM