4.18.01 Quy trình khôi phục

Edge for Private Cloud phiên bản 4.18.01

Trong trường hợp xảy ra lỗi trong khi cập nhật lên Edge 4.18.01, bạn có thể khôi phục thành phần này đã gây ra lỗi, sau đó thử cập nhật lại. Ví dụ: nếu bản cập nhật lên Postgres 9.6 không thành công, bạn chỉ có thể khôi phục các nút Postgres và thử cập nhật lại.

Có hai tình huống mà bạn có thể muốn khôi phục:

  1. Khôi phục về bản phát hành cũ. Ví dụ: từ 4.18.01 đến 4.17.01.
  2. Khôi phục về phiên bản cũ trong cùng một bản phát hành.

Hãy làm theo quy trình bên dưới để khôi phục trong cả hai trường hợp.

Người có thể khôi phục

Người dùng thực hiện 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 dưới dạng thư mục gốc.

Theo mặc định, các thành phần Edge sẽ chạy với tư cách "api" ("API") của người dùng. Trong một số trường hợp, bạn có thể dùng ứng dụng Edge dưới dạng người dùng khác nhau. Ví dụ: nếu Bộ định tuyến phải truy cập các cổng đặc quyền, chẳng hạn như những bộ định tuyến dưới 1000, thì bạn phải chạy Bộ định tuyến dưới dạng thư mục gốc hoặc với tư cách người dùng có quyền truy cập vào các Bộ định tuyến đó 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à người dùng khác.

Những thành phần nào có thể khôi phục được

Bạn cần lưu ý các điều kiện sau khi khôi phục:

  • Năm thành phần cạnh được liệt kê dưới đây dùng chung mã. Do đó, để khôi phục bất kỳ một trong số 5 thành phần trên một 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 đó. Cho ví dụ: nếu bạn đã cài đặt Máy chủ quản lý, Bộ định tuyến và Bộ xử lý thư trên nút khôi phục, để khôi phục một nút bất kỳ trong số đó, bạn phải khôi phục cả ba nút.

    Năm thành phần dùng chung mã đó là:

    • Máy chủ quản lý
    • Bộ định tuyến
    • Trình xử lý tin nhắn
    • 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. Chiến dịch này bản phát hành Edge chứa một phiên bản Cassandra cập nhật. Nếu bạn khôi phục bất kỳ thành phần nào, hãy thoát Cassandra tại phiên bản 4.18.01.

Khôi phục 4.18.01

Phần này đề cập đến quy trình khôi phục Edge 4.18.01 về phiên bản trước. Chiến dịch này được chia thành hai phần:

  • Khôi phục nội dung cập nhật Postgres
    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.6. Nếu có cập nhật không thành công, thì 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ả các thành phần khác của Edge
    Sử dụng quy trình này để khôi phục mọi thành phần khác của Edge.

Cách khôi phục bản cập nhật Postgres 9.6

Để khôi phục bản cập nhật Postgres khi cập nhật Postgres trong cấu hình chế độ chờ chính, bạn:

  • Nâng cấp nút dự phòng mới để trở thành nút chính của Postgres. Trang cái mới của Postgres sẽ là cùng một phiên bản với phiên bản bạn đã cài đặt cho Edge trước đó.
  • Định cấu hình nút chờ cũ thành nút chờ của nút chính mới. Nút chế độ chờ cũ sẽ có cùng phiên bản với phiên bản 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à nhóm người tiêu dùng.

Khi bạn hoàn tất việc khôi phục, nút chính cũ sẽ không còn cần thiết nữa. Bạn có thể sau đó huỷ bỏ nút chính cũ.

  1. Đả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 Postgres:

    > /opt/apigee/apigee-service/bin/apigee-all start
  2. Đả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
  3. Nếu đã cài đặt, hãy khởi động Qpid trên nút chế độ chờ cũ:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. Chuyển nút dự phòng mới thành nút chính Postgres:
    1. Chuyển nút chờ mới thành nút 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 "apigee" Người dùng, mặc định là "postgres".

    2. 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ư sau:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. Đị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
  5. Tạo lại nút chế độ chờ cũ:
    1. 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ư sau:
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. Xoá thư mục dữ liệu trên nút chế độ chờ cũ:
      > cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. Đị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
    4. Đảm bảo Postgres đang chạy trên nút chế độ chờ cũ:
      > /opt/apigee/apigee-service/bin/apigee-all status

      Nếu luồng không chạy, hãy khởi động:

      > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. Xác minh rằng nút chế độ chờ mới đã được thêm bằng cách xem /opt/apigee/apigee-postgresql/conf/pg_hba.conf trên trang cái mới.
  7. Xem số liệu phân tích hiện tại và thông tin nhóm người tiêu dùng 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 Analytics trong trường name và tên nhóm người tiêu dùng vào trường name trong consumer-groups. Điều này cũng trả về các UUID của nút chính và nút chờ Postgres cũ trong trường postgres-server và trong trường datastores. 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" : {
      }
    }
  8. Lấy địa chỉ UUID của trang cái cũ bằng cách chạy lệnh cURL sau trên trang cái cũ nút chính:
    > curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    Bạn sẽ thấy mã nhận dạng duy nhất (UUID) của nút ở cuối kết quả, có dạng:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  9. Lặp lại bước trước đó để lấy địa chỉ IP của nút chế độ chờ cũ và nút mới .
  10. Xóa 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-001consumer-group-001 là tên mặc định của Analytics và nhóm người tiêu dùng. masterUUID,standbyUUID đang có cùng thứ tự với chúng xuất hiện ở trên khi bạn xem thông tin phân tích và nhóm người tiêu dùng hiện tại ở trên. Bạn có thể phải chỉ định chúng là standbyUUID,masterUUID.

    Thuộc tính datastores cho consumer-groups hiện sẽ là trống.

  11. Xóa nút chính và nút dự phòng cũ khỏi nhóm Analytics:
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    Hiện tại, thuộc tính postgres-server trong uuids sẽ trống.

  12. Đăng ký nút chính và nút chờ PG mới với nhóm phân tích và nhóm 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
  13. Xác thực nhóm Analytics:
    > curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    Bạn sẽ thấy các 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 số liệu phân tích và nhóm người tiêu dùng.

  14. Khởi động lại Edge Management Server:
    > /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. Khởi động lại tất cả các máy chủ Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  16. Khởi động lại tất cả các máy chủ Postgres:
    > /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. Xác minh trạng thái sao chép bằng cách phát các tập lệnh sau trên cả hai máy chủ. Hệ thống phải hiển thị 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 thực rằng đó là nút 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 đó là chế độ chờ.

  18. 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 đang ở đồng bộ hoá.
  19. Gỡ bỏ trình điều khiển Postgres cũ bằng cách sử dụng quy trình trong Cập nhật Apigee Edge 4.16.01/4.16.05 đến 4.17.09.

    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 bản chính mới như được mô tả dưới đây. Sau khi gỡ cài đặt Qpid, bạn có thể gỡ cài đặt phiên bản chính cũ nút.

Huỷ Qpid từ bản chính cũ và cài đặt Qpid trên bản chính 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 Qpid đó trên bản chính mới quảng cáo chính:

  1. Chặn không cho Bộ xử lý tin nhắn truy cập vào cổng Qpid 5672 trên bản chính cũ chạy lệnh sau trên tất cả Bộ xử lý thư:
    > iptables -A OUTPUT -p tcp -d 10.233.147.20 --dport 5672 -j DROP
  2. Đảm bảo rằng 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 xử lý xong tất cả các thông báo đang chờ xử lý:
    > qpid-stat -q

    Lệnh này hiển thị một bảng chứa số lượng cho msg, msgIn, and msgOut. Tất cả thông báo sẽ được xử lý khi msg=0, và msgIn=msgOut.

  3. 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 để sử dụng sau này trong quy trình:
    > curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Dừng Qpid trên trang cái cũ:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  5. Gỡ cài đặt máy chủ Qpid:
    > /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    > /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
  6. Xóa máy chủ Qpid cũ khỏi số liệu phân tích và nhóm 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/axgroup-001/consumer-groups/consumer-group-001/consumers/qpid_UUID" -v
    > curl -u sysAdminEmail:password -X DELETE
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=qpid_UUID&type=qpid-server" -v
  7. Xoá máy chủ Qpid cũ khỏi Zookeeper:
    > curl -u sysAdminEmail:password -X DELETE
      http://ms_IP:8080/v1/servers/qpid_UUID
  8. Cài đặt Qpid trên trang cái mới:
    > /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile
  9. Xác định UUID của máy chủ Qpid trên bản chính mới bằng cách chạy lệnh sau trên bản chính mới. Lưu thông tin này để sử dụng sau này trong quy trình:
    > curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. Đăng ký máy chủ Qpid mới với nhóm phân tích và nhóm 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=qpid_UUID&type=qpid-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/consumers?uuid=qpid_UUID" -v
  11. Khởi động lại tất cả Trình xử lý thư:
    > /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  12. Chạy lệnh sau trên máy chủ Qpid mới để kiểm tra xem hàng đợi đã được tạo hay chưa:
    > qpid-stat -q

    Đảm bảo rằng bạn thấy msg, msgIn và msgOut được cập nhật thành máy chủ Qpid xử lý tin nhắn.

Cách khôi phục các thành phần riêng lẻ 4.18.01

Trong quá trình khôi phục, bạn phải tải tệp bootstrap.sh xuống cho phiên bản Edge hiện tại:

  • Để khôi phục về phiên bản 4.17.09, hãy tải bootstrap_4.17.09.sh xuống
  • Để khôi phục về phiên bản 4.17.05, hãy tải bootstrap_4.17.05.sh xuống
  • Để khôi phục về phiên bản 4.17.01, hãy tải bootstrap_4.17.01.sh xuống
  • Để khôi phục về phiên bản 4.16.09, hãy tải bootstrap_4.16.09.sh xuống
  • Để khôi phục về phiên bản 4.16.05, hãy tải bootstrap_4.16.05.sh xuống
  • Để khôi phục về phiên bản 4.16.01, hãy tải bootstrap.sh xuống

Đối với mỗi nút lưu trữ một thành phần cần khôi phục:

  1. Dừng thành phần để khôi phục:
    1. 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ả: Management Server, Bộ định tuyến, Trình xử lý thư, Qpid Server hoặc Postgres Máy chủ:
      • > apigee-service edge-management-server stop
      • > apigee-service edge-router stop
      • > apigee-service edge-message-processor stop
      • > apigee-service edge-qpid-server stop
      • > apigee-service edge-postgres-server stop
    2. 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 dừng việc đó thành phần:
      • > apigee-service comp stop
  2. Nếu bạn muốn bật lại 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ả Máy chủ quản lý và Thông báo Nút đơn vị xử lý:
    > apigee-service edge-mint-gateway uninstall
  3. Gỡ cài đặt thành phần để khôi phục trên nút:
    1. Nếu bạn đang khôi phục bất kỳ thành phần nào sau đây trên nút, thì gỡ cài đặt tất cả: Management Server, Bộ định tuyến, Trình xử lý thư, Qpid Server hoặc Postgres Máy chủ:
      > apigee-service edge-gateway uninstall
    2. 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 đó thành phần:
      > apigee-service comp uninstall
    3. Nếu đang khôi phục Bộ định tuyến, bạn phải xóa nội dung của /opt/nginx/conf.d:
      > cd /opt/nginx/conf.d
      > rm -rf *
  4. Cách khôi phục thành phần:
    1. Gỡ cài đặt phiên bản 4.18.01 của apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
    2. Tải bootstrap.sh xuống cho bản phát hành mong muốn: Ví dụ: cho 4.16.09:
      > curl https://software.apigee.com/bootstrap_4.16.09.sh -o /tmp/bootstrap_4.16.09.sh 
    3. Cài đặt tiện ích apigee-service 4.16.01, 4.16.05 hoặc 4.16.09 và phần phụ thuộc. Ví dụ: đối với 4.16.09:
      > sudo bash /tmp/bootstrap_4.16.09.sh apigeeuser=uName apigeepassword=pWord

      trong đó uNamepWord là tên người dùng và mật khẩu bạn nhận được của Apigee. Nếu bỏ qua pWord, bạn sẽ được nhắc nhập nó.

    4. Cài đặt apigee-setup:
      > /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
    5. Cài đặt phiên bản thành phần mong muố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à thành phần bạn muốn cài đặt cho phiên bản mong muốn.

    6. Nếu bạn đang khôi phục Qpid, hãy xoá các iptables:
      > sudo iptables -F
  5. 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.18.01:
    1. Tải phiên bản thành phần cụ thể xuống:
      > /opt/apigee/apigee-service/bin/apigee-service comp-version install

      trong đó comp-version là thành phần và phiên bản cần cài đặt. Ví dụ:

      > /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.17.09-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 dùng lệnh sau:

      > yum --showduplicates list comp

      Ví dụ:

      > yum --showduplicates list edge-ui
    2. 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.

Hãy liên hệ với Bộ phận hỗ trợ Apigee Edge nếu bạn gặp vấn đề khi khôi phục.