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

Nếu gặp lỗi trong quá trình cập nhật lên Edge 4.51.00, bạn có thể quay lại 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 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 việc 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.51.00 thành 4.50.00.
  2. 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 thành 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 việc 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 chạy dưới quyền root.

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 với tư cách là nhiều người dùng. Ví dụ: nếu Trình đị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 Trình đị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 dưới vai trò là một người dùng và một thành phần khác dưới vai trò 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 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ý 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 đã cài đặt Máy chủ quản lý, Trình định tuyến và Trình 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.

Quay lại Bản phát hành tính năng trước đó

Để quay lại 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 mà bạn muốn quay lại:

    • Để quay lại phiên bản 4.50.00, hãy tải bootstrap_4.50.00.sh xuố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.sh xuống:
      curl https://software.apigee.com/bootstrap_4.19.01.sh -o /tmp/bootstrap_4.19.01.sh 
  2. Dừng thành phần để quay lại:
    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 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
    2. Để khôi phục bất kỳ thành phần khác nào trên nút, hãy chỉ dừng thành phần đó:
      • /opt/apigee/apigee-service/bin/apigee-service component stop
  3. Nếu bạn đang quay 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ả 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
  4. Gỡ cài đặt thành phần để khôi phục 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ư trong ví dụ sau:
      /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, hãy 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 Trình định tuyến cạnh, 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.51.00 của apigee-setup:
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. Cài đặt phiên bản 4.19.06 hoặc 4.50.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 cài đặt phiên bản 4.50.00 của apigee-service:
    sudo bash /tmp/bootstrap_4.50.00.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 giá trị này.

    Nếu bạn gặp lỗi, hãy đảm bảo bạn đã 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ũ 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 của bạn 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 từng nút lưu trữ thành phần mà bạn đang khôi phục.

Quay lại 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 phát hành cụ thể, 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.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
  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ỉ chỉ đị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 từng nút lưu trữ thành phần mà bạn đang khôi phục.

Huỷ bỏ 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, 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ính-chờ:

  • Chuyển nút dự phòng mới lên làm máy chủ chính Postgres. Máy chủ Postgres mới sẽ có phiên bản giống với phiên bản cài đặt Edge trước đó.
  • Định cấu hình nút dự phòng cũ thành nút dự phòng của nút chính mới. Nút dự phòng cũ sẽ có phiên bản giống với phiên bản cài đặt Edge trước đó.
  • Đăng ký 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, bạn sẽ không cần đến nút chính cũ nữa. Sau đó, bạn có thể ngừng sử dụng nút chính cũ.

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

  3. 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
  4. Nâng cấp nút dự phòng mới làm máy chủ Postgres chính:
    1. Nâng cấp nút dự phòng mới lên làm 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 người dùng "apigee", 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ữ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
    3. Định cấu hình tệp gốc mới:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. Nếu đã nâng cấp nút dự phòng cũ lên phiên bản mới hơn, 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ó phiên bản cũ trên nút chờ cũ, bạn có thể bỏ qua bước này và tiếp tục với bước 6.
    1. Dừng Postgres trên nút chờ cũ:
      apigee-service apigee-postgresql stop
      apigee-service edge-postgres-server stop
    2. Gỡ cài đặt Postgres khỏi nút dự phòng cũ:
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
    3. 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 *
    4. Tải xuống và chạy trình khởi động phiên bản cũ (cho phiên bản Apigee mà bạn đang chuyển về) 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 phương thức cài đặt dựa trên Internet hay 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ũ.
    5. 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
    6. 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
  6. Tạo lại nút 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ữ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
    2. Xoá thư mục dữ liệu trên nút dự phòng cũ:
      cd /opt/apigee/data/apigee-postgresql/pgdata > rm -rf *
    3. Định cấu hình lại nút dự phòng cũ thành 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
    4. Đả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
  7. Xác minh rằng bạn đã thêm nút dự phòng mới bằng cách xem tệp /opt/apigee/apigee-postgresql/conf/pg_hba.conf trên máy chủ chính mới.
  8. Xem thông tin phân tích và nhóm người dùng 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 dùng trong trường name trong consumer-groups. Hàm này cũng trả về UUID của nút chính và nút dự phòng 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" : {
      }
    }

  9. Lấy địa chỉ UUID của máy chủ cũ bằng cách chạy lệnh curl sau trên nút máy chủ 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ả, ở dạng:

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  10. 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.
  11. 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-001consumer-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 theo thứ tự giống như 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 lớp này là standbyUUID,masterUUID.

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

  12. Xoá 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-server trong uuids hiện sẽ trống.

  13. Đăng ký nút chính và nút dự phòng PG mới với các nhóm phân tích và 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
  14. Xác thực nhóm 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.

  15. Khởi động lại Máy chủ quản lý Edge:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  16. Khởi động lại tất cả máy chủ Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  17. Khởi động lại tất cả máy chủ Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. 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 quá trình sao chép thành công:

    Trên trang chủ mới, hãy chạy:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

    Xác minh rằng đó là tệp gốc. Trên nút chờ cũ:

    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

    Xác minh rằng đó là chế độ chờ.

  19. 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 đồng bộ.
  20. Ngưng sử dụng máy chủ chính Postgres cũ bằng cách sử dụ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 máy chủ 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 sử dụng 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ủ lưu trữ:

  1. Dừng Apigee:
    apigee-all stop
  2. Dừng mTLS:
    apigee-service apigee-mtls uninstall
  3. Cài đặt lại mTLS:
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf