Khôi phục phiên bản Apigee Edge 4.18.05

Edge cho đám mây riêng tư phiên bản 4.18.05

Nếu gặp lỗi trong quá trình cập nhật lên Edge 4.18.05, 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.18.05 về các phiên bản Bản phát hành tính năng sau:

  • Phiên bản 4.18.01
  • Phiên bản 4.17.09*
  • Phiên bản 4.17.05*

* Để khôi phục từ 4.18.05 về 4.17.09 hoặc 4.17.05, ngoài việc khôi phục các thành phần trên từng nút, bạn phải hoàn nguyên Postgres. Nếu khôi phục về phiên bản 4.18.01, bạn không cần khôi phục Postgres vì quá trình nâng cấp không bao gồm nội dung cập nhật của Postgres.

Có hai trường hợp bạn có thể muốn khôi phục:

  1. Khôi phục về Bản phát hành tính năng trước. Ví dụ: từ 4.18.05 đến 4.18.01.
  2. Khôi phục về phiên bản cập nhật trước trong chính bản phát hành đó. Ví dụ: từ 4.18.05.02 đến 4.18.05.01.

Để biết thêm thông tin, hãy xem bài viết Quy trình phát hành API Apigee.

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.

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ố 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 nằm trên nút đó.

  • edge-management-server (Máy chủ quản lý)
  • edge-message-processor (Trình xử lý thư)
  • 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ư trên nút, thì để khôi phục bất kỳ nút nào trong số đó, bạn phải hoàn nguyên cả ba.

Khôi phục về Bản phát hành tính năng trước

Để khôi phục từ 4.18.05 về 4.17.09 hoặc 4.17.05, ngoài việc khôi phục các thành phần trên từng nút, bạn phải hoàn nguyên Postgres. Nếu khôi phục từ phiên bản 4.18.01, bạn không cần khôi phục Postgres vì quá trình nâng cấp không bao gồm nội dung cập nhật của Postgres.

Để quay lại một 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 đó:

  1. 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.18.01, hãy tải bootstrap_4.18.01.sh xuống:
      curl https://software.apigee.com/bootstrap_4.18.01.sh -o /tmp/bootstrap_4.18.01.sh 
    • Để khôi phục về ngày 4.17.09, hãy tải bootstrap_4.17.09.sh xuống:
      curl https://software.apigee.com/bootstrap_4.17.09.sh -o /tmp/bootstrap_4.17.09.sh 
    • Để khôi phục về phiên bản 4.17.05, hãy tải bootstrap_4.17.05.sh xuống:
      curl https://software.apigee.com/bootstrap_4.17.05.sh -o /tmp/bootstrap_4.17.05.sh 
  2. Dừng thành phần này để khôi phục:
    1. Để khôi phục bất kỳ thành phần nào trong số thành phần 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
    2. Để 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
  3. Nếu bạn 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ư:
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. Gỡ cài đặt thành phần để khôi phục nút trên nút:
    1. Để 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 đây:
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. Để khôi phục bất kỳ thành phần nào khác trên nút, 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.

    3. Để 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ần edge-gateway:
      cd /opt/nginx/conf.d
      rm -rf *
  5. Gỡ cài đặt phiên bản 4.18.05 của apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Cài đặt phiên bản 4.18.01, 4.17.09 hoặc 4.17.05 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.17.09 của apigee-service:
    sudo bash /tmp/bootstrap_4.17.09.sh apigeeuser=uName apigeepassword=pWord

    Trong đó uNamepWord 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ày.

    Nếu bạn gặp lỗi, hãy nhớ tải tệp bootstrap.sh xuống ở bước 1.

  7. Cài đặt apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. Cài đặt phiên bản cũ hơn 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ũ.

  9. Nếu bạn đang khôi phục Qpid, hãy xoá iptables:
    sudo iptables -F
  10. Lặp lại quy 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 từ 4.18.05 về 4.17.09 hoặc 4.17.05, ngoài việc khôi phục các thành phần trên từng nút, bạn phải hoàn nguyên Postgres. Nếu khôi phục từ phiên bản 4.18.01, bạn không cần khôi phục Postgres vì quá trình nâng cấp không bao gồm nội dung cập nhật của Postgres.

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 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 đó:

  1. 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.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

    Xin lưu ý rằng bạn chỉ xác định tên thành phần khi cài đặt, chứ không phải phiên bản.

  3. Lặp lại quy 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 từ 4.18.05 về 4.17.09 hoặc 4.17.05, ngoài việc khôi phục các thành phần trên từng nút, bạn phải hoàn nguyên Postgres. Nếu khôi phục từ phiên bản 4.18.01, bạn không cần khôi phục Postgres vì quá trình nâng cấp không bao gồm nội dung cập nhật của Postgres.

Khôi phục bản cập nhật Postgres 9.6

Nếu đã nâng cấp từ phiên bản 4.17.05 hoặc 4.17.09 lên 4.18.05, thì ngoài các thành phần Edge, bạn phải hoàn nguyên 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:

  • 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ũ.

  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:

    /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 này:

    /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. Quảng bá nút chế độ chờ mới làm nút chính Postgres:
    1. Chuyển nút chế độ chờ mới thành trang 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", theo mặc định là "postgres".

    2. 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 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
    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 bạn đã dùng để cài đặt phiên bản Edge hiện tại để chỉ định các 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
    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ế độ chờ của trang cái 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 chương trình này không chạy, hãy khởi động:

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  6. Xác minh 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.
  7. 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 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 name trong 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. Bạn sẽ thấy kết quả dưới 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 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"
  9. 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.
  10. Xoá nút chính và nút chờ 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-001consumer-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 tuân theo thứ tự như chúng 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 giá trị này là standbyUUID,masterUUID.

    Hiện tại, thuộc tính datastores cho consumer-groups phải trống.

  11. 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=masterUUID,standbyUUID&type=postgres-server" -v

    Thuộc tính postgres-server trong uuids hiện phải trống.

  12. Đăng ký nút chính và nút chờ PG mới với các nhóm 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
  13. 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ế độ 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 máy chủ quản lý Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  15. Khởi động lại tất 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ả 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 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 thực rằng đó là 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 các nút đang được đồng bộ hoá.
  19. Hãy gỡ bỏ ứng dụng chính Postgres cũ bằng quy trình trong 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 trang 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ỡ cài đặt nút chính cũ.

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

Cách gỡ cài đặt Qpid khỏi bản chính cũ và cài đặt trên bản chính mới:

  1. Chặn quyền truy cập vào cổng Qpid 5672 trên trang chủ cũ để Bộ xử lý thông báo không truy cập được 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
  2. Đả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 hiển thị một bảng chứa số lượng của msg, msgIn, and msgOut. Tất cả thư sẽ được xử lý khi msg=0msgIn=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 để xem sau trong quy trình:
    curl -u sysAdminEmail:password http://node_IP::8083/v1/servers/self
  4. Dừng Qpid trên trang chủ 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. Xoá máy chủ Qpid cũ khỏi các nhóm 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 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:
    curl -u sysAdminEmail:password
      http://node_IP::8083/v1/servers/self
  10. Đăng ký máy chủ Qpid mới với các nhóm số liệu 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ả Bộ 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 các hàng đợi đã được tạo hay chưa:
    qpid-stat -q

    Đảm bảo rằng bạn thấy msg, msgInmsgOut đang được cập nhật khi máy chủ Qpid xử lý thông báo.

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