Nếu gặp lỗi trong quá trình cập nhật lên Edge 4.52.01, 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.52.01 về các phiên bản phát hành chính sau đây:
- Phiên bản 4.52.00
- Phiên bản 4.51.00
Có hai trường hợp bạn có thể muốn khôi phục:
- Khôi phục về bản phát hành lớn hoặc bản phát hành nhỏ trước đó. Ví dụ: từ 4.52.01 đến 4.52.00.
- Khôi phục về bản phát hành của bản vá trước trong cùng một bản phát hành. Ví dụ: từ 4.52.00.02 thành 4.52.00.01.
Để biết thêm thông tin, hãy xem quy trình phát hành API Apigee Edge.
Những người có thể khôi phục
Người dùng khôi phục phải giống với người dùng cập nhật Edge ban đầu hoặc người dùng khôi phục gốc.
Theo mặc định, các thành phần của Edge chạy dưới dạng "apigee" của người dùng. Trong một số trường hợp, bạn có thể chạy các thành phần Edge với tư cách người dùng khác nhau. 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 ở cấp độ gốc hoặc với tư cách 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 dưới dạng một người dùng và một thành phần khác dưới dạng một người dùng khác.
Các thành phần có mã chung
Các thành phần sau đây của Edge có chung mã. Do đó, để khôi phục bất kỳ thành phần nào trong số các thành phần 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 trên nút đó.
edge-management-server
(Máy chủ quản lý)edge-message-processor
(Trình xử lý tin nhắn)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, để khôi phục bất kỳ phần nào trong số đó, bạn phải khôi phục cả ba.
Khôi phục về một bản phát hành lớn hoặc nhỏ trước đó
Để khôi phục về một bản phát hành chính hoặc nhỏ 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.sh
xuống cho phiên bản bạn muốn khôi phục:- Để khôi phục về phiên bản 4.51.00, hãy tải
bootstrap_4.51.00.sh
xuống:curl https://software.apigee.com/bootstrap_4.51.00.sh -o /tmp/bootstrap_4.51.00.sh
- Để khôi phục về phiên bản 4.51.00, hãy tải
- Dừng thành phần này để 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ư ví dụ sau cho thấy:
/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 bất kỳ thành phần khác nào trên nút, chỉ 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ư ví dụ sau cho thấy:
- Nếu bạn định 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à
Trình 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 về 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ư ví dụ sau cho thấy:/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, hãy chỉ 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 Edge, bạn phải xoá nội dung của tệp
/opt/nginx/conf.d
ngoà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.52.01 của
apigee-setup
:/opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
- Cài đặt phiên bản 4.51.00 của tiện ích
apigee-service
và các phần phụ thuộc của tiện ích đó. Ví dụ sau đây sẽ cài đặt phiên bản 4.51.00 củaapigee-service
:sudo bash /tmp/bootstrap_4.51.00.sh apigeeuser=uName apigeepassword=pWord
Trong đó uName và pWord là tên người dùng và mật khẩu mà bạn nhận được từ Apigee. Nếu bỏ qua pWord, bạn sẽ được nhắc nhập mã đó.
Nếu bạn gặp lỗi, hãy nhớ tải tệp
bootstrap.sh
xuố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 dành cho phiên bản cũ.
- Nếu bạn đang khôi phục Qpid, hãy xoá iptable:
sudo iptables -F
- Lặp lại quá trình này cho mỗi nút lưu trữ thành phần bạn đang khôi phục.
Khôi phục về bản phát hành của bản vá trước đó
Để khôi phục một thành phần về một bản phát hành của bản vá cụ thể, hãy thực hiện 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à bản vá phát hành cần cài đặt. Ví dụ:
/opt/apigee/apigee-service/bin/apigee-service edge-ui-4.51.05-0.0.3749 install
Nếu đang sử dụng kho lưu trữ trực tuyến của 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 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 phải phiên bản.
- Lặp lại quá trình này cho mỗi nút lưu trữ thành phần bạn đang khôi phục.
Khôi phục bản cập nhật Postgres 10.17
Nếu đã nâng cấp lên phiên bản 4.52.01 từ phiên bản 4.50.00 hoặc 4.51.00 lên 4.52.01, thì ngoài các thành phần Edge, bạn phải khôi phục bản cập nhật Postgres.
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ờ chính:
- Nâng cấp nút chế độ chờ mới để trở thành nút chính Postgres. Bản chính Postgres mới sẽ có cùng phiên bản với bản cài đặt Edge trước đó.
- Định cấu hình nút chế độ chờ cũ làm nút chờ của nút chính mới. Nút chế độ chờ cũ sẽ giống với phiên bản mà bạn đã cài đặt cho Edge trước đó.
- Đăng ký nút chính và nút chờ mới với nhóm phân tích và người tiêu 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ể gỡ bỏ nút chính cũ.
- Đảm bảo nút Postgres ở chế độ chờ 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 ứng dụng này:
/opt/apigee/apigee-service/bin/apigee-all start
- Đảm bảo Postgres đã dừng trên nút chính cũ và nút chế độ chờ cũ:
/opt/apigee/apigee-service/bin/apigee-all status
Nếu Postgres đang chạy, hãy dừng ứng 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 chờ cũ:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
- Quảng bá nút chế độ chờ mới làm nút chính Postgres:
- Nâng cấp nút chờ mới thành 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 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 hiện tại của Edge để 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 trang cái mới:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
- Nâng cấp nút chờ mới thành chính mới:
- Nếu đã nâng cấp nút chờ 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 chờ cũ. Nếu vẫn có phiên bản cũ trên nút chờ cũ thì 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 chế độ chờ cũ:
apigee-service apigee-postgresql stop apigee-service edge-postgres-server stop
- Gỡ cài đặt Postgres khỏi nút chế độ chờ cũ:
apigee-service apigee-postgresql uninstall apigee-service edge-postgres-server uninstall
- Xoá thư mục dữ liệu Postgres khỏi nút chế độ chờ cũ:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Tải xuống và chạy quá trình khởi động phiên bản cũ (đối với phiên bản Apigee mà bạn đang khôi phục) trên nút chờ cũ. Các bước chính xác còn tuỳ thuộc vào việc bạn đang cài đặt qua Internet hay ngoại tuyến. Việc chạy phiên bản cũ của quá trình khởi động Apigee sẽ thiết lập kho lưu trữ yum bằng dữ liệu của Apigee phiên bản cũ.
- Thiết lập các thành phần Postgres trên nút chế độ chờ 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 chế độ chờ cũ đã được hoàn nguyên về phiên bản cũ:
apigee-service apigee-postgresql version apigee-service edge-postgres-server version
- Dừng Postgres trên nút chế độ chờ cũ:
- Tạo lại nút chờ cũ:
- Chỉnh sửa tệp cấu hình mà bạn đã dùng để cài đặt phiên bản hiện tại của Edge để 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 chờ cũ:
cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
- Định cấu hình lại nút chế độ chờ cũ thành nút chờ 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 chế độ chờ cũ:
/opt/apigee/apigee-service/bin/apigee-all status
Nếu Postgres không chạy, hãy khởi động ứng dụng này:
/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 hiện tại của Edge để chỉ định những thông tin sau:
- Xác minh rằng nút chờ mới đã được thêm bằng cách xem tệp
/opt/apigee/apigee-postgresql/conf/pg_hba.conf
trê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
name
và tên nhóm người tiêu dùng trong trườngname
trongconsumer-groups
. Thao tác này cũng trả về các UUID của nút chính và nút chờ Postgres cũ trong trườngpostgres-server
và 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
curl
sau 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 đầu ra, 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 chế độ chờ cũ và nút chính mới.
- Xoá nút chính và nút chờ cũ khỏi nhóm người tiêu 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 số liệu phân tích và nhóm người tiêu dùng. masterUUID,standbyUUID có thứ tự giống như thứ tự xuất hiện ở trên khi bạn 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 ở trên. Bạn có thể phải chỉ định các giá trị đó là standbyUUID,masterUUID.
Bây giờ, thuộc tính
datastores
choconsumer-groups
sẽ trống. - Xoá nút chính và nút chờ 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-server
tronguuids
hiện phải trống. - Đăng ký nút chính và nút chờ mới của PG với các nhóm số liệu phân tích và người tiêu 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 mã nhận dạng duy nhất (UUID) của nút chính và nút chờ mới được liệt kê trong nhóm phân tích và nhóm người tiêu dùng.
- Khởi động lại Máy chủ quản lý Edge:
/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 phải hiển thị các kết quả giống nhau trên cả hai máy chủ để đảm bảo sao chép thành công:
Trên trang cái mới, hãy chạy:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Xác minh rằng đó là trang cái chính. Trên nút chế độ chờ cũ:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Xác minh rằng thiết bị đang ở chế độ chờ.
- 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 các nút đang được đồng bộ hoá.
- Gỡ bỏ tệp chính Postgres cũ bằng cách sử dụng quy trình trong phần Huỷ bỏ nút Postgres.
Ngoài ra, bạn có thể gỡ cài đặt Qpid khỏi nút chính cũ rồi cài đặt Qpid trên nút chính mới. Sau khi gỡ cài đặt Qpid, bạn có thể gỡ bỏ nút chính cũ.
Khôi phục mTLS
Để hoàn nguyên 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