Nếu xảy ra lỗi khi cập nhật lên Edge 4.16.09, 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. Ví dụ: nếu quá trình cập nhật lên Postgres 9.4 không thành công, bạn có thể chỉ khôi phục các nút Postgres rồi thử cập nhật lại.
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 cũ. Ví dụ: từ 4.16.09 đến 4.16.05.
- Khôi phục về phiên bản cũ trong cùng một bản phát hành.
Hãy sử dụng quy trình dưới đây để khôi phục trong cả hai trường hợp.
Ai có thể khôi phục
Người dùng thực hiện quá trình khôi phục phải giống như người dùng cập nhật Edge ban đầu hoặc người dùng chạy với tư cách 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ể chạy các thành phần Edge dưới dạng nhiều người dùng. 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 là 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 một người dùng và một thành phần khác với tư cách người dùng khác.
Những thành phần nào có thể khôi phục về trạng thái ban đầu
Bạn nên lưu ý các điều kiện sau khi khôi phục:
- 5 thành phần Edge được liệt kê dưới đây có chung một đoạn mã. Do đó, để khôi phục bất kỳ thành phần nào trong số 5 thành phần trên nút, bạn phải khôi phục bất kỳ thành phần nào trong số 5 thành phần đã cài đặt trên nút đó. 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ỳ một trong số nào trong số đó, bạn phải khôi phục cả ba.
Năm thành phần dùng chung mã là:- Máy chủ quản lý
- Bộ định tuyến
- Bộ xử lý thư
- Máy chủ Qpid
- Máy chủ Postgres
- Nếu bạn đang cập nhật từ Edge 4.16.01, đừng khôi phục Cassandra. Bản phát hành Edge này chứa một phiên bản cập nhật của Cassandra. Nếu bạn khôi phục bất kỳ thành phần nào, hãy để Cassandra ở phiên bản 4.16.09.
- Bản phát hành này không chứa phiên bản qpidd mới. Do đó, bạn không phải khôi phục qpidd.
Khôi phục ngày 4.16.09
Phần này chứa quy trình khôi phục Edge 4.16.09 về phiên bản trước đó. Phần này được chia thành 2 phần:
- Khôi phục bản cập nhật Postgres lên phiên bản 9.4
Phần cuối cùng của mọi quy trình cập nhật là cập nhật các nút Postgres lên phiên bản 9.4. Nếu quá trình cập nhật đó không thành công, bạn có thể dùng quy trình này để khôi phục bản cập nhật. - Khôi phục tất cả thành phần khác trong Edge
Sử dụng quy trình này để khôi phục mọi thành phần khác trong Edge.
Cách khôi phục bản cập nhật Postgres 9.4
Để 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, bạn cần:
- Quảng bá nút chế độ chờ mới để trở thành nút chính Postgres. Phiên bản chính Postgres mới sẽ giống với phiên bản bản cài đặt Edge trước đó.
- Định cấu hình nút chế độ chờ cũ thành nút chế độ chờ của nút chính mới. Nút chế độ chờ cũ sẽ giống phiên bản như lần cài đặt Edge trước đó.
- Đăng ký nút chính và nút chờ mới với nhóm phân tích và nhóm 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 nó:
> /opt/apigee/apigee-service/bin/apigee-all start - Đảm bảo Postgres đang chạy 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 Postgres:
> /opt/apigee/apigee-service/bin/apigee-service Edge-postgres-service-server/postgeapieapieapire-server/server-apieapie. - 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
Lưu ý: Trong nhiều cấu hình, nút chờ cũ sẽ chỉ lưu trữ Postgres chứ không lưu trữ Qpid. - Quảng bá nút chế độ chờ mới làm nút chính Postgres:
- Chuyển nút chế độ chờ mới thành chương trình chính mới:
> apigee-service apigee-postgresql promotion-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ặc định là "postgres"). - Chỉnh sửa tệp cấu hình bạn đã dùng để cài đặt phiên bản Edge hiện tại để chỉ định
các mục sau:
# địa chỉ IP của trang cái mới:
PG_MASTER=new_standby_IP
# địa chỉ IP của nút chế độ chờ cũ
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
- Chuyển nút chế độ chờ mới thành chương trình chính mới:
- Tạo lại nút chế độ chờ 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:
# địa chỉ IP của phiên bản chính mới:
PG_MASTER=new_standby_IP
# địa chỉ IP của nút chế độ chờ cũ
PG_STANDBY=old_standby_IP - Xoá thư mục dữ liệu trên nút chế độ 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 trang cái 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 nút này 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 chế độ chờ mới đã được thêm bằng cách xem tệp /opt/apigee/apigee-postgresql/conf/pg_hba.conf trên trang cái 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ường Consumer-groups. Thao tác này cũng trả về các mã nhận dạng duy nhất (UUID) của các nút chính và nút chờ của Postgres cũ trong trường postgres-server và trong trường datastores. .. . - Lấy địa chỉ UUID của tài khoản 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 nên thấy UUID của nút ec9-e5-ID ở cuối dữ liệu đầu ra:
e-bf
Nếu máy chủ Postgres không chạy, bạn có thể chạy lệnh sau trên Máy chủ quản lý để xác định UUID:
> curl -u sysadminEmail:password http://<ms_IP>:8080/v1/servers?pod=analytics
Kết quả của lệnh này liệt kê UUID cho địa chỉ IP của từng nút Postres. - 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.
- Trong đó,các 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/người tiêu dùng
masterUUID,standbyUUID theo cùng thứ tự xuất hiện ở trên khi bạn xem số liệu 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 mã đó là UUID,masterUUID của chế độ chờ.
Giờ đây, thuộc tính datastores cho consumer-groups (nhóm người tiêu dùng) phải trống. - Xoá các 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=master-UUID,standbygres-post server-UUID,standbygres-post
- Đăng ký các nút chính và nút chờ PG mới với các nhóm analytics 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 Standtypeaxgroupid - Xác thực nhóm Analytics:
> 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 Analytics và nhóm người dùng. - Khởi động lại Máy chủ quản lý Edge:
> /opt/apigee/apigee-service/bin/apigee-service Edge-management-server khởi động lại - 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 khởi động lại - 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 cho thấy 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 ứng dụng chính mới, hãy chạy:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
Xác thực rằng đó là tệp chính.
Trên nút chế độ chờ cũ:
> /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
Xác thực rằng nút này cho biết đó là 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ỏ ứng dụng chính Postgres cũ bằng quy trình trong Cập nhật Apigee Edge lên phiên bản 4.16.09.
Lưu ý: Nếu nút chính cũ đang chạy Qpid, thì bạn có thể để máy chủ đó chạy Qpid. Đảm bảo rằng tiện ích đang chạy. Nếu chưa, hãy khởi động lại:
> /opt/apigee/apigee-service/bin/apigee-service Edge-management-server start
Ngoài ra, bạn có thể gỡ cài đặt Qpid khỏi bản chính cũ và cài đặt Qpid trên nút chính mới, như mô tả bên dưới. Sau khi gỡ cài đặt Qpid, bạn có thể gỡ bỏ nút chính cũ.
Uninstal Qpid từ trang chủ cũ và cài đặt Qpid trên trang chủ mới
Sử dụng quy trình sau để gỡ cài đặt Qpid khỏi bản chính cũ và cài đặt trên bản chính mới:
- Chặn quyền truy cập vào cổng Qpid 5672 trên bản chính cũ khỏi quyền truy cập của Bộ xử lý thông báo bằng cách chạy lệnh sau trên tất cả Bộ xử lý thông báo:
> iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP - Đảm bảo hàng đợi thông báo Qpid trống bằng cách chạy lệnh sau. Bạn không thể gỡ cài đặt Qpid cho đến khi ứng dụng này xử lý tất cả thông báo đang chờ xử lý:
> qpid-stat -q
Lệnh này sẽ hiển thị một bảng chứa số đếm cho msg, msgIn và msgOut. Tất cả tin nhắn sẽ được xử lý khi msg=0 và msgIn=msgOut. - Xác định UUID của máy chủ Qpid trên bản chính cũ bằng cách chạy lệnh sau trên bản chính cũ. Lưu thông tin này để xem sau trong quy trình này:
> curl -u sysadminEmail:password http://<node_IP>::8083/v1/servers/self - Dừng Qpid trên bản chính cũ:
> /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-server stop
> /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd dừng - Gỡ cài đặt máy chủ Qpid:
> /opt/apigee/apigee-service/bin/apigee-service Edge-qpid-server debugging
> /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd gỡ cài đặt - Xoá máy chủ Qpid cũ khỏi các nhóm số liệu phân tích và người tiêu dùng:
> curl -u sysadminEmail:password -X DELETE -H "Content-Type: application/json" -d '' "http://<ms_IP>:8080/v1/analytics/groups/ax-groupsaxgroup-người tiêu dùng - Xoá máy chủ Qpid cũ khỏi Zookeeper:
> curl -u sysadminEmail:password -X DELETE http://<ms_IP>:8080/v1/servers/qpid_UUID - Cài đặt Qpid trên trang cái mới:
> /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile - Xác định UUID của máy chủ Qpid trên trang cái mới bằng cách chạy lệnh sau trên trang cái mới. Lưu thông tin này để xem sau trong quy trình này:
> curl -u sysadminEmail:password http://<node_IP>::8083/v1/servers/self - Đăng ký máy chủ Qpid mới bằng 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 axgroup-001 - Khởi động lại tất cả Bộ xử lý thư:
> /opt/apigee/apigee-service/bin/apigee-service Edge-message-processor khởi động lại - Chạy lệnh sau trên máy chủ Qpid mới để kiểm tra xem các hàng đợi đã được tạo hay chưa:
> qpid-stat -q
Nhớ cập nhật msg, msgIn và msgOut khi máy chủ Qpid xử lý tin nhắn.
Cách khôi phục từng thành phần từ ngày 4.16.09
Trong quá trình khôi phục, bạn phải tải tệp bootstrap.sh cho phiên bản Edge hiện tại xuống:
- Để quay lại 4.16.05, hãy tải xuống bootstrap_4.16.05.sh
- Để quay lại phiên bản 4.16.01, hãy tải xuống bootstrap.sh
Đối với mỗi nút lưu trữ một thành phần để khôi phục:
- Dừng thành phần để khôi phục:
-
Nếu đang khôi phục bất kỳ thành phần nào sau đây trên nút, bạn phải dừng tất cả các thành phần đó: Máy chủ quản lý, Bộ định tuyến, Bộ xử lý thư, Máy chủ Qpid hoặc Máy chủ Postgres:
- > apigee-service Edge-management-server dừng
- > apigee-service dừng bộ định tuyến cạnh
- > apigee-service Edge-message-processor dừng
- > apigee-service dừng Edge-qpid-server
- > apigee-service Edge-postgres-server dừng
-
Nếu bạn đang khôi phục bất kỳ thành phần nào khác trên nút, thì chỉ dừng thành phần đó:
- > apigee-service comp dừng
-
Nếu đang khôi phục bất kỳ thành phần nào sau đây trên nút, bạn phải dừng tất cả các thành phần đó: Máy chủ quản lý, Bộ định tuyến, Bộ xử lý thư, Máy chủ Qpid hoặc Máy chủ Postgres:
- Nếu bạn khôi phục tính năng Kiếm tiền, hãy gỡ cài đặt ứng dụng này khỏi tất cả các nút Máy chủ quản lý và
Bộ xử lý thư:
> apigee-service Edge-mint-gateway gỡ cài đặt - Gỡ cài đặt thành phần để khôi phục trên nút:
- Nếu bạn đang khôi phục bất kỳ thành phần nào sau đây trên nút, sau đó gỡ cài đặt tất cả các thành phần đó: Máy chủ quản lý, Bộ định tuyến, Bộ xử lý thư, Máy chủ Qpid hoặc Máy chủ Postgres:
> gỡ cài đặt cổng cổng dịch vụ apigee-service - Nếu bạn đang 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 đó:
> apigee-service comp gỡ cài đặt
- Nếu bạn đang khôi phục bất kỳ thành phần nào sau đây trên nút, sau đó gỡ cài đặt tất cả các thành phần đó: Máy chủ quản lý, Bộ định tuyến, Bộ xử lý thư, Máy chủ Qpid hoặc Máy chủ Postgres:
- Nếu đang khôi phục Bộ định tuyến, thì bạn phải xoá nội dung của /opt/nginx/conf.d:
> cd /opt/nginx/conf.d
> rm -rf * -
Cách khôi phục thành phần:
- Gỡ cài đặt phiên bản 4.16.09 của apigee-setup:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup gỡ cài đặt - Tải bootstrap.sh cho bản phát hành 4.16.01 hoặc 4.16.05 xuống:
Đối với phiên bản 4.16.01:
> curl https://software.apigee.com/bootstrap.sh -o /tmp/bootstrap.sh
Đối với 4.16.05.05:
1.com.mpoge/strape - Cài đặt phần phụ thuộc và tiện ích dịch vụ apigee 4.16.01 hoặc 4.16.05:
> sudo bash /tmp/bootstrap.sh apigeeuser=uName apigeepassword=pWord
trong đó tên người dùng và pWord mà bạn nhận được là tên người dùng và mật khẩu. Nếu bỏ qua pWord, bạn sẽ được nhắc nhập từ khoá đó. - Cài đặt phiên bản apigee-setup 4.16.01 hoặc 4.16.05:
> /opt/apigee/apigee-service/bin/apigee-service apigee-setup cài đặt - Cài đặt phiên bản 4.16.01 hoặc 4.16.05 của thành phần:
> /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
trong đó comp là thành phần cần cài đặt và configFile là tệp 4.06 hoặc 4.04
- Gỡ cài đặt phiên bản 4.16.09 của apigee-setup:
-
Cách khôi phục thành phần này về một phiên bản cụ thể của bản phát hành 4.16.05:
- Tải phiên bản thành phần cụ thể xuống:
> /<instal_dir>/apigee/apigee-service/bin/apigee-service comp-version cài đặt
trong đó comp-version là thành phần và phiên bản cần cài đặt. Ví dụ:
> /<instal_dir>/apigee/apigee-service/bin/apigee-service Edge-ui-4.16.05-0.0.3649 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 yum compshow - Sử dụng apigee-setup để cài đặt thành phần:
> /<install_dir>/apigee/apigee-setup/bin/setup.sh -p comp -f configFile
Ví dụ:
> /<install_dir>/apigee/apigee-setup/bin/setup .sh
- Tải phiên bản thành phần cụ thể xuống:
Hãy liên hệ với Nhóm hỗ trợ API nếu bạn gặp vấn đề khi khôi phục.