克隆 OpenResty Edge 環境
在面對如以下的場景時,我們可能需要構建一個與生產環境一致或者是儘可能一致的環境:
- 進行升級測試:升級 OpenResty Edge 前,搭建一個與生產環境一致的環境,進行升級測試,測試透過後,再對生產環境進行升級。
- 遷移式升級:不對生產環境進行升級,而是構建一個與生產環境一致的環境,對新環境進行升級並測試,測試透過後,直接把舊環境中的流量切換到新環境中。
下面介紹詳細的步驟。
從生產環境中獲取資料備份:登入 Edge Admin DB 環境,確認磁碟空間足夠後,執行以下命令進行資料備份
# PostgreSQL 12 /usr/local/openresty-postgresql12/bin/pg_dump or_edge_admin -C -Upostgres | gzip > or_edge_admin-`date +%F`.gz # PostgreSQL 9 /usr/local/openresty/postgresql/bin/pg_dump or_edge_admin -C -Upostgres | gzip > or_edge_admin-`date +%F`.gz
資料備份完成並取出後,後續的步驟中不再需要對生產環境進行任何操作,為防止誤操作,您可以斷開與當前機器的連線。
在測試環境中安裝與生產環境一樣的 OpenResty Edge 版本,如果您想測試在 Kubernetes 環境中部署的 OpenResty Edge,請參考在 Kubernetes 環境中部署 OpenResty Edge;否則,請參考安裝 OpenResty Edge。
匯入資料到新環境中:登入新環境的資料庫機器,把前面匯出的資料上傳到此機器上,然後執行以下命令來重新命名安裝時生成的 or_edge_admin 資料庫和匯入資料
# PostgreSQL 12 /usr/local/openresty-postgresql12/bin/psql -Upostgres -c "ALTER DATABASE or_edge_admin RENAME TO or_edge_admin_old" # PostgreSQL 9 /usr/local/openresty-postgresql/bin/psql -Upostgres -c "ALTER DATABASE or_edge_admin RENAME TO or_edge_admin_old"
# PostgreSQL 12 zcat or_edge_admin-{date}.gz | /usr/local/openresty-postgresql12/bin/psql -Upostgres # PostgreSQL 9 zcat or_edge_admin-{date}.gz | /usr/local/openresty-postgresql/bin/psql -Upostgres
然後對新環境進行升級,詳見 升級 OpenResty Edge。
有問題我們隨時溝通 :)