Nếu gặp lỗi trong quá trình cập nhật lên Edge 4.51.00, bạn có thể khôi phục thành phần gây ra lỗi rồi thử cập nhật lại.
Bạn có thể khôi phục Edge 4.51.00 về các phiên bản Phát hành tính năng sau:
- Phiên bản 4.50.00
- Phiên bản 4.19.06
Có hai trường hợp mà bạn có thể muốn thực hiện khôi phục:
- Khôi phục về Bản phát hành tính năng trước đó. Ví dụ: từ 4.51.00 xuống 4.50.00.
- Khôi phục về phiên bản cập nhật trước đó trong cùng một bản phát hành. Ví dụ: từ 4.50.00.02 xuống 4.50.00.01.
Để biết thêm thông tin, hãy xem Quy trình phát hành Apigee Edge.
Những người có thể thực hiện khôi phục
Người dùng thực hiện việc khôi phục phải là người dùng đã cập nhật Edge ban đầu hoặc người dùng đang chạy với tư cách là người dùng gốc.
Theo mặc định, các thành phần Edge chạy dưới dạng người dùng "apigee". Trong một số trường hợp, bạn có thể đang chạy các thành phần Edge dưới dạng người dùng khác. Ví dụ: nếu Bộ định tuyến phải truy cập vào các cổng đặc quyền, chẳng hạn như các cổng dưới 1000, thì bạn phải chạy Bộ định tuyến dưới dạng người dùng gốc hoặc người dùng có quyền truy cập vào các cổng đó. Hoặc bạn có thể chạy một thành phần với tư cách là một người dùng và một thành phần khác với tư cách là một người dùng khác.
Các thành phần có mã chung
Các thành phần Edge sau đây có chung mã. Do đó, để khôi phục bất kỳ thành phần nào trong số này trên một nút, bạn phải khôi phục tất cả các thành phần này trên nút đó.
edge-management-server(Máy chủ quản lý)edge-message-processor(Trình xử lý thông báo)edge-router(Bộ định tuyến)edge-postgres-server(Máy chủ Postgres)edge-qpid-server(Máy chủ Qpid)
Ví dụ: nếu bạn đã cài đặt Máy chủ quản lý, Bộ định tuyến và Bộ xử lý thông báo trên nút, thì để khôi phục bất kỳ thành phần nào trong số đó, bạn phải khôi phục cả ba thành phần.
Khôi phục về một Bản phát hành tính năng trước đó
Để khôi phục về Bản phát hành tính năng trước đó, hãy làm như sau trên mỗi nút lưu trữ thành phần:
-
Tải tệp
bootstrap.shxuống cho phiên bản mà bạn muốn khôi phục:- Để quay lại phiên bản 4.50.00, hãy tải
bootstrap_4.50.00.shxuống:curl https://software.apigee.com/bootstrap_4.50.00.sh -o /tmp/bootstrap_4.50.00.sh
- Để quay lại phiên bản 4.19.06, hãy tải
bootstrap_4.19.06.shxuống:curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh
- Để quay lại phiên bản 4.50.00, hãy tải
- Dừng thành phần để khôi phục:
- Để khôi phục bất kỳ thành phần nào có mã chung trên nút, bạn phải dừng tất cả các thành phần đó, như trong ví dụ sau:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
/opt/apigee/apigee-service/bin/apigee-service edge-router stop/opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop - Để khôi phục mọi thành phần khác trên nút, chỉ cần dừng thành phần đó:
/opt/apigee/apigee-service/bin/apigee-service component stop
- Để khôi phục bất kỳ thành phần nào có mã chung trên nút, bạn phải dừng tất cả các thành phần đó, như trong ví dụ sau:
- Nếu bạn đang khôi phục tính năng Kiếm tiền, hãy gỡ cài đặt tính năng này khỏi tất cả các nút Máy chủ quản lý và Bộ xử lý thông báo:
/opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
- Gỡ cài đặt thành phần để khôi phục trên nút:
- Để khôi phục bất kỳ thành phần nào có mã chung trên nút, bạn phải gỡ cài đặt tất cả các thành phần đó bằng cách gỡ cài đặt nhóm thành phần
edge-gateway, như trong ví dụ sau:/opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
- Để khôi phục bất kỳ thành phần nào khác trên nút, chỉ cần gỡ cài đặt thành phần đó, như trong ví dụ sau:
/opt/apigee/apigee-service/bin/apigee-service component uninstall
Trong đó component là tên thành phần.
- Để khôi phục Bộ định tuyến biên, bạn phải xoá nội dung của tệp
/opt/nginx/conf.dngoài việc gỡ cài đặt nhóm thành phầnedge-gateway:cd /opt/nginx/conf.d
rm -rf *
- Để khôi phục bất kỳ thành phần nào có mã chung trên nút, bạn phải gỡ cài đặt tất cả các thành phần đó bằng cách gỡ cài đặt nhóm thành phần
- Gỡ cài đặt phiên bản 4.51.00 của
apigee-setup:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Cài đặt phiên bản 4.19.06 hoặc 4.50.00 của tiện ích
apigee-servicevà các phần phụ thuộc của tiện ích này. Ví dụ sau đây cài đặt phiên bản 4.50.00 củaapigee-service:sudo bash /tmp/bootstrap_4.50.00.sh apigeeuser=uName apigeepassword=pWord
Trong đó, uName và pWord là tên người dùng và mật khẩu bạn nhận được từ Apigee. Nếu bỏ qua pWord, bạn sẽ được nhắc nhập thông tin này.
Nếu bạn gặp lỗi, hãy nhớ tải tệp
bootstrap.shxuống ở bước 1. - Cài đặt
apigee-setup:/opt/apigee/apigee-service/bin/apigee-service apigee-setup install
- Cài đặt phiên bản cũ của thành phần:
/opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile
Trong đó, component là thành phần cần cài đặt và configFile là tệp cấu hình cho phiên bản cũ.
- Nếu bạn đang khôi phục Qpid, hãy xoá iptables:
sudo iptables -F
- Lặp lại quy trình này cho từng nút lưu trữ thành phần mà bạn đang khôi phục.
Khôi phục về phiên bản cập nhật trước đó
Để khôi phục một thành phần về một phiên bản cụ thể của một bản phát hành, hãy làm như sau trên mỗi nút lưu trữ thành phần đó:
- Tải phiên bản thành phần cụ thể xuống:
/opt/apigee/apigee-service/bin/apigee-service component_version install
Trong đó, component_version là thành phần và phiên bản cập nhật cần cài đặt. Ví dụ:
/opt/apigee/apigee-service/bin/apigee-service edge-ui-4.18.05-0.0.3749 install
Nếu đang sử dụng kho lưu trữ trực tuyến Apigee, bạn có thể xác định các phiên bản thành phần có sẵn bằng cách sử dụng lệnh sau:
yum --showduplicates list comp
Ví dụ:
yum --showduplicates list edge-ui
- Sử dụng
apigee-setupđể cài đặt thành phần:/opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
Ví dụ:
/opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile
Lưu ý rằng bạn chỉ chỉ định tên thành phần khi cài đặt, chứ không chỉ định phiên bản.
- Lặp lại quy trình này cho từng nút lưu trữ thành phần mà bạn đang khôi phục.
Huỷ bản cập nhật Postgres 10.17
Nếu đã nâng cấp lên phiên bản 4.51.00 từ phiên bản 4.19.06 hoặc 4.50.00, bạn phải khôi phục bản cập nhật Postgres ngoài các thành phần Edge.
Cách khôi phục bản cập nhật Postgres khi cập nhật Postgres trong cấu hình chính-phụ:
- Chuyển nút dự phòng mới thành nút chính Postgres. Phiên bản Postgres chính mới sẽ giống với phiên bản Edge mà bạn đã cài đặt trước đó.
- Định cấu hình nút dự phòng cũ làm nút dự phòng của nút chính mới. Nút dự phòng cũ sẽ có cùng phiên bản với bản cài đặt Edge trước đó của bạn.
- Đăng ký các nút chính và nút dự phòng mới với nhóm phân tích và nhóm người dùng.
Khi bạn hoàn tất quá trình khôi phục, nút chính cũ sẽ không còn cần thiết nữa. Sau đó, bạn có thể ngừng sử dụng nút chính cũ.
- Đảm bảo nút Postgres dự phòng mới đang chạy:
/opt/apigee/apigee-service/bin/apigee-all status
Nếu Postgres không chạy, hãy khởi động:
/opt/apigee/apigee-service/bin/apigee-all start
- Đảm bảo Postgres đã dừng trên nút chính cũ và nút dự phòng cũ:
/opt/apigee/apigee-service/bin/apigee-all status
Nếu Postgres đang chạy, hãy dừng:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop > /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- Nếu đã cài đặt, hãy khởi động Qpid trên nút dự phòng cũ:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- Quảng bá nút dự phòng mới làm nút chính Postgres:
- Quảng bá nút dự phòng mới thành máy chủ chính mới:
apigee-service apigee-postgresql promote-standby-to-master new_standby_IP
Nếu được nhắc, hãy nhập mật khẩu Postgres cho người dùng "apigee", mật khẩu này mặc định là "postgres".
- Chỉnh sửa tệp cấu hình mà bạn đã dùng để cài đặt phiên bản Edge hiện tại để chỉ định
những thông tin sau:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Định cấu hình bản chính mới:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- Quảng bá nút dự phòng mới thành máy chủ chính mới:
- Nếu đã nâng cấp nút dự phòng cũ lên phiên bản mới hơn, thì trước tiên, bạn phải hạ cấp phần mềm Apigee trên nút dự phòng cũ. Nếu vẫn còn phiên bản cũ trên nút dự phòng cũ, bạn có thể bỏ qua bước này và tiếp tục với bước 6.
- Dừng Postgres trên nút dự phòng cũ:
apigee-service apigee-postgresql stop apigee-service edge-postgres-server stop
- Gỡ cài đặt Postgres khỏi nút dự phòng cũ:
apigee-service apigee-postgresql uninstall apigee-service edge-postgres-server uninstall
- Xoá thư mục dữ liệu Postgres khỏi nút dự phòng cũ:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Tải xuống và chạy chương trình khởi động phiên bản cũ (cho phiên bản Apigee mà bạn đang khôi phục) trên nút dự phòng cũ. Các bước chính xác có thể khác nhau tuỳ thuộc vào việc bạn đang sử dụng bản cài đặt dựa trên Internet hay bản cài đặt ngoại tuyến. Việc chạy trình tự khởi động Apigee phiên bản cũ sẽ thiết lập kho lưu trữ yum bằng dữ liệu Apigee phiên bản cũ.
- Thiết lập các thành phần Postgres trên nút dự phòng cũ:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
- Kiểm tra và xác minh rằng các thành phần Postgres trên nút dự phòng cũ
đã được khôi phục về phiên bản cũ:
apigee-service apigee-postgresql version apigee-service edge-postgres-server version
- Dừng Postgres trên nút dự phòng cũ:
- Tạo lại nút dự phòng cũ:
- Chỉnh sửa tệp cấu hình mà bạn đã dùng để cài đặt phiên bản Edge hiện tại để chỉ định
những thông tin sau:
# IP address of the new master: PG_MASTER=new_standby_IP # IP address of the old standby node PG_STANDBY=old_standby_IP
- Xoá thư mục dữ liệu trên nút dự phòng cũ:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Định cấu hình lại nút dự phòng cũ để làm nút dự phòng của nút chính mới:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- Đảm bảo Postgres đang chạy trên nút dự phòng cũ:
/opt/apigee/apigee-service/bin/apigee-all status
Nếu Postgres không chạy, hãy khởi động:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
- Chỉnh sửa tệp cấu hình mà bạn đã dùng để cài đặt phiên bản Edge hiện tại để chỉ định
những thông tin sau:
- Xác minh rằng nút dự phòng mới đã được thêm bằng cách xem tệp
/opt/apigee/apigee-postgresql/conf/pg_hba.conftrên nút chính mới. - Xem thông tin về nhóm người tiêu dùng và số liệu phân tích hiện tại bằng cách chạy lệnh sau
trên Máy chủ quản lý:
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Lệnh này trả về tên nhóm phân tích trong trường
namevà tên nhóm người dùng trong trườngnametrongconsumer-groups. Thao tác này cũng trả về UUID của các nút chính và nút dự phòng Postgres cũ trong trườngpostgres-servervà trong trườngdatastores. Bạn sẽ thấy kết quả ở dạng:{ "name" : "axgroup-001", "properties" : { }, "scopes" : [ "VALIDATE~test", "sgilson~prod" ], "uuids" : { "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ], "postgres-server" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ] }, "consumer-groups" : [ { "name" : "consumer-group-001", "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ], "datastores" : [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ], "properties" : { } } ], "data-processors" : { } } - Lấy địa chỉ UUID của nút chính cũ bằng cách chạy lệnh
curlsau đây trên nút chính cũ:curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self
Bạn sẽ thấy UUID của nút ở cuối kết quả, có dạng:
"type" : [ "postgres-server" ], "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
- Lặp lại bước trước đó để lấy địa chỉ IP của nút dự phòng cũ và nút chính mới.
- Xoá các nút chính và nút dự phòng cũ khỏi nhóm người dùng:
curl -u sysAdminEmail:password -X DELETE \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v
Trong đó axgroup-001 và consumer-group-001 là tên mặc định của nhóm phân tích và nhóm người dùng. masterUUID,standbyUUID được sắp xếp theo thứ tự như khi xuất hiện ở trên, khi bạn xem thông tin phân tích hiện tại và thông tin về nhóm người tiêu dùng ở trên. Bạn có thể phải chỉ định các giá trị này là standbyUUID,masterUUID.
Thuộc tính
datastoreschoconsumer-groupshiện phải trống. - Xoá các nút chính và nút dự phòng cũ khỏi nhóm phân tích:
curl -u sysAdminEmail:password -X DELETE \ "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
Thuộc tính
postgres-servertronguuidshiện phải trống. - Đăng ký các nút chính và nút dự phòng PG mới với nhóm phân tích và nhóm người dùng:
curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d '' "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v - Xác thực nhóm số liệu phân tích:
curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax
Bạn sẽ thấy UUID của các nút chính và nút dự phòng mới được liệt kê trong nhóm phân tích và nhóm người dùng.
- Khởi động lại Edge Management Server:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
- Khởi động lại tất cả máy chủ Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
- Khởi động lại tất cả máy chủ Postgres:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
- Xác minh trạng thái sao chép bằng cách phát hành các tập lệnh sau trên cả hai máy chủ. Hệ thống sẽ hiển thị kết quả giống hệt nhau trên cả hai máy chủ để đảm bảo sao chép thành công:
Trên bản chính mới, hãy chạy:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Xác minh rằng đó là bản chính. Trên nút dự phòng cũ:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Xác minh rằng đó là thiết bị dự phòng.
- Lặp lại bước trước đó sau khi thực hiện một số yêu cầu API để đảm bảo rằng các nút được đồng bộ hoá.
- Ngừng sử dụng Postgres chính cũ bằng quy trình trong phần Cập nhật Apigee Edge 4.16.01/4.16.05 lên 4.17.09.
Ngoài ra, bạn có thể gỡ cài đặt Qpid khỏi nút chính cũ và cài đặt Qpid trên nút chính mới. Sau khi gỡ cài đặt Qpid, bạn có thể ngừng hoạt động của nút chính cũ.
Khôi phục mTLS
Để khôi phục bản cập nhật mTLS, hãy làm theo các bước sau trên tất cả máy chủ:
- Dừng Apigee:
apigee-all stop
- Dừng mTLS:
apigee-service apigee-mtls uninstall
- Cài đặt lại mTLS:
apigee-service apigee-mtls install
apigee-service apigee-mtls setup -f /opt/silent.conf