Ngừng hoạt động của một trung tâm dữ liệu

Đôi khi, bạn có thể cần phải gỡ bỏ trung tâm dữ liệu. Ví dụ: nếu đang nâng cấp hệ điều hành, bạn cần để cài đặt hệ điều hành mới trong trung tâm dữ liệu mới, sau đó gỡ bỏ trung tâm dữ liệu cũ. Các phần sau đây trình bày một ví dụ về việc gỡ bỏ trung tâm dữ liệu, trong đó có hai trung tâm dữ liệu, dc-1 và dc-2, trên một 12 nút cài đặt theo cụm:

  • dc-1 là trung tâm dữ liệu sẽ ngừng hoạt động.
  • dc-2 là trung tâm dữ liệu thứ hai, được sử dụng trong quy trình gỡ bỏ.

Nếu bạn đang nâng cấp hệ điều hành của bạn, dc-2 có thể là trung tâm dữ liệu mà bạn đã cài đặt phiên bản hệ điều hành (OS) mới. Tuy nhiên, bạn không bắt buộc phải cài đặt hệ điều hành mới để gỡ bỏ trung tâm dữ liệu.

Những điều cần cân nhắc trước khi ngừng hoạt động của trung tâm dữ liệu

Khi bạn gỡ bỏ trung tâm dữ liệu, hãy ghi nhớ những điều sau:

  • Chặn tất cả lưu lượng truy cập thời gian chạy và lưu lượng quản lý đến trung tâm dữ liệu đang ngừng hoạt động và chuyển hướng chúng sang các trung tâm dữ liệu khác.
  • Sau khi ngừng hoạt động của trung tâm dữ liệu, dung lượng của bạn trong cụm Apigee sẽ bị giảm. Để bù đắp, hãy cân nhắc việc tăng dung lượng trong các trung tâm dữ liệu còn lại hoặc thêm trung tâm dữ liệu sau khi ngừng hoạt động.
  • Trong quá trình gỡ bỏ, dữ liệu phân tích có thể bị mất, tuỳ thuộc vào những thành phần phân tích nào được cài đặt trong trung tâm dữ liệu sẽ ngừng hoạt động. Bạn có thể tìm thấy chi tiết khác trong Thêm hoặc xoá Qpid nút.
  • Trước khi gỡ cài đặt một trung tâm dữ liệu, bạn nên hiểu cách thức tất cả các thành phần được định cấu hình trên tất cả các trung tâm dữ liệu, đặc biệt là OpenLDAP, ZooKeeper, Cassandra, và Postgres. Bạn cũng nên sao lưu tất cả các thành phần và cấu hình của các thành phần đó.

Trước khi bắt đầu

  • Máy chủ quản lý: Tất cả các bước gỡ bỏ đều phụ thuộc nhiều vào Máy chủ quản lý. Nếu bạn chỉ có một tài khoản Máy chủ quản lý có sẵn, bạn nên cài đặt một phiên bản Thành phần Máy chủ quản lý trên trung tâm dữ liệu không phải dc-1 trước khi ngừng hoạt động của phần Quản lý Máy chủ trên dc-1 và đảm bảo rằng một trong các Máy chủ quản lý luôn khả dụng.
  • Bộ định tuyến: Trước khi ngừng hoạt động Bộ định tuyến, hãy tắt khả năng kết nối của Bộ định tuyến bằng cách chặn cổng 15999. Đảm bảo không có thời gian chạy lưu lượng truy cập đang hướng vào Bộ định tuyến đang ngừng hoạt động.
  • Cassandra và ZooKeeper: Các phần dưới đây mô tả cách gỡ bỏ dc-1 trong quá trình thiết lập hai trung tâm dữ liệu. Nếu bạn có nhiều hơn hai trung tâm dữ liệu, hãy nhớ xóa mọi thông tin tham chiếu đến nút bị ngừng hoạt động (dc-1 trong trường hợp này) khỏi mọi tệp cấu hình im lặng trên tất cả các trung tâm dữ liệu còn lại. Đối với các nút Cassandra sẽ ngừng hoạt động, hãy xoá các máy chủ đó khỏi CASS_HOSTS. Các nút Cassandra còn lại phải giữ nguyên thứ tự ban đầu là CASS_HOSTS.

  • Postgres: Nếu bạn giải phóng bậc thầy Postgres, hãy nhớ quảng bá bất kỳ các nút chờ hiện có làm một bản chính mới của postgres. Trong khi máy chủ QPID lưu giữ vùng đệm trong hàng đợi, nếu trang cái chính Postgres không sử dụng được trong thời gian dài, bạn sẽ có nguy cơ mất dữ liệu phân tích.

Điều kiện tiên quyết

  • Trước khi gỡ bỏ bất kỳ thành phần nào, bạn nên sao lưu toàn bộ tất cả nút. Sử dụng quy trình dành cho phiên bản Edge hiện tại của bạn để thực hiện sao lưu. Để biết thêm thông tin về tính năng sao lưu, hãy xem Sao lưu và khôi phục.

    Lưu ý: Nếu bạn có nhiều nút Cassandra hoặc ZooKeeper, hãy sao lưu lần lượt từng nút. vì quá trình sao lưu sẽ tạm thời tắt ZooKeeper.

  • Đảm bảo rằng Edge đang hoạt động trước khi ngừng hoạt động bằng lệnh:
    /opt/apigee/apigee-service/bin/apigee-all status
  • Đảm bảo rằng hiện không có lưu lượng truy cập trong thời gian chạy đến trung tâm dữ liệu bạn đang truy cập đang ngừng hoạt động.

Thứ tự các thành phần ngừng hoạt động

Nếu cài đặt Edge cho Cloud riêng tư trên nhiều nút, bạn nên ngừng hoạt động Các thành phần cạnh trên các nút đó theo thứ tự sau:

  1. Giao diện người dùng Edge (Edge UI)
  2. Máy chủ quản lý (máy chủ quản lý cạnh)
  3. OpenLDAP (apigee-openldap)
  4. Bộ định tuyến (bộ định tuyến cạnh)
  5. Bộ xử lý tin nhắn (Ed-message-xử lý)
  6. Máy chủ Qpid và Qpidd (edge-qpid-server và apigee-qpidd)
  7. Postgres và Cơ sở dữ liệu PostgreSQL (edge-postgres-server và apigee-postgresql)
  8. Người giữ thú cưng (apigee-zookeeper)
  9. Cassandra (apigee-cassandra)

Các phần sau đây giải thích cách huỷ bỏ từng thành phần.

Giao diện người dùng Edge

Để dừng và gỡ cài đặt thành phần giao diện người dùng Edge của dc-1, hãy nhập các lệnh sau:

/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall

Máy chủ quản lý

Để ngừng hoạt động Máy chủ quản lý trên dc-1, hãy thực hiện các bước sau:

  1. Dừng Máy chủ quản lý trên dc-1:
    apigee-service edge-management-server stop
  2. Tìm UUID của Máy chủ quản lý đã đăng ký trong dc-1:
    curl -u <AdminEmailID>:'<AdminPassword>' \
    -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. Huỷ đăng ký loại máy chủ:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=management-server&region=dc-1&pod=central&uuid=UUID&action=remove"
  4. Xoá máy chủ. Lưu ý: Nếu các thành phần khác cũng được cài đặt trên máy chủ này, trước tiên, hãy huỷ đăng ký tất cả các mã đó rồi mới xoá mã nhận dạng duy nhất (UUID).
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. Gỡ cài đặt thành phần Máy chủ quản lý trên dc-1:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

Mở Giao thức truy cập thư mục hạng nhẹ (LDAP)

Phần này giải thích cách huỷ bỏ OpenLDAP trên dc-1.

Lưu ý: Nếu bạn có nhiều hơn hai trung tâm dữ liệu, hãy xem Thiết lập với nhiều trung tâm dữ liệu bên dưới.

Để huỷ bỏ OpenLDAP trên dc-1, hãy làm theo các bước sau:

  1. Sao lưu nút dc-1 OpenLDAP bằng cách làm theo các bước trong Cách sao lưu.
  2. Huỷ sao chép dữ liệu giữa hai trung tâm dữ liệu, dc-1 và dc-2, bằng cách thực hiện các bước sau trong cả hai trung tâm dữ liệu.

    1. Kiểm tra trạng thái hiện tại:
      ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

      Kết quả sẽ tương tự như kết quả sau:

      olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1

    2. Tạo một tệp break_repl.ldif chứa các lệnh sau:
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. Chạy lệnh ldapmodify:
      ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif

      Kết quả sẽ tương tự như kết quả sau:

      modifying entry "olcDatabase={2}bdb,cn=config"
      modifying entry "olcDatabase={2}bdb,cn=config"

  3. Bạn có thể xác minh rằng dc-2 không còn sao chép sang dc-1 bằng cách tạo một mục trong dc-2 LDAP và đảm bảo URL đó không xuất hiện trong LDAP của dc-1.

    Nếu muốn, bạn có thể làm theo các bước bên dưới để tạo người dùng chỉ đọc trong dc-2 Nút OpenLDAP, rồi kiểm tra xem người dùng có được sao chép hay không. Sau đó, người dùng này sẽ được đã bị xoá.

    1. Tạo tệp readonly-user.ldif trong dc-2 với những nội dung sau:
      dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com
      objectClass: organizationalPerson
      objectClass: person
      objectClass: inetOrgPerson
      objectClass: top
      cn: readonly-user
      sn: readonly-user
      userPassword: {testPassword}
    2. Thêm người dùng bằng lệnh "ldapadd" trong dc-2:
      ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif

      Kết quả sẽ tương tự như:

      adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"

    3. Tìm kiếm người dùng trong dc-1 để đảm bảo người dùng đó không được sao chép. Nếu người dùng không có trong dc-1, bạn sẽ chắc chắn rằng cả hai LDAP đều không còn được sao chép:
      ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL

      Kết quả sẽ tương tự như kết quả sau:

      No such object (32)
      Matched DN: ou=users,ou=global,dc=apigee,dc=com
    4. Xoá người dùng chỉ có quyền đọc mà bạn đã thêm trước đó:
      ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
  4. Dừng OpenLDAP trong dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. Gỡ cài đặt thành phần OpenLDAP trên dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

Bộ định tuyến

Phần này giải thích cách tháo rời Bộ định tuyến. Xem Xoá máy chủ để biết thêm thông tin chi tiết về việc xoá Bộ định tuyến.

Các bước sau đây ngừng hoạt động Bộ định tuyến khỏi dc-1. Nếu có nhiều nút Bộ định tuyến được định cấu hình trong dc-1, hãy thực hiện các bước trong tất cả các nút Bộ định tuyến từng mục một

Lưu ý: Ở đây, giả định rằng cổng kiểm tra tình trạng của bộ định tuyến 15999 đã được định cấu hình trong tải của bạn và việc chặn cổng 15999 sẽ khiến bộ định tuyến không truy cập được. Bạn có thể cần quyền truy cập thư mục gốc chặn cổng.

Để ngừng hoạt động Bộ định tuyến, hãy làm theo các bước sau:

  1. Tắt khả năng kết nối của bộ định tuyến bằng cách chặn cổng 15999, cổng kiểm tra tình trạng. Đảm bảo rằng lưu lượng truy cập thời gian chạy bị chặn trên trung tâm dữ liệu này:

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. Xác minh rằng bộ định tuyến có thể truy cập được:

    curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable

    Kết quả sẽ tương tự như kết quả sau:

    About to connect() to 10.126.0.160 port 15999 (#0)
    Trying 10.126.0.160...
    Connection refused
    Failed connect to 10.126.0.160:15999; Connection refused
    Closing connection 0
    curl: (7) Failed connect to 10.126.0.160:15999; Connection refused

  3. Lấy mã nhận dạng duy nhất (UUID) của Bộ định tuyến, như mô tả trong Nhận mã nhận dạng duy nhất (UUID).
  4. Dừng bộ định tuyến:
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. Liệt kê các nhóm cổng vào hiện có trong tổ chức bằng lệnh sau:
    curl -u  <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"

    Xem Giới thiệu về Nhóm.

  6. Huỷ đăng ký loại máy chủ:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=router&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"
  7. Xoá máy chủ:
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Gỡ cài đặt edge-router:
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    Xem Xoá máy chủ.
  9. Xoá các quy tắc iptables để bật cổng bị chặn 15999:
    iptables -F

Trình xử lý tin nhắn

Phần này mô tả cách gỡ bỏ Trình xử lý thư khỏi dc-1. Xem Xoá máy chủ để biết thêm chi tiết về cách xoá Trình xử lý thư.

Vì chúng ta giả định rằng dc-1 có 12 nút cài đặt theo cụm, có hai nút Trình xử lý thông báo được định cấu hình trong dc-1. Thực hiện các lệnh sau trong cả hai nút.

  1. Lấy mã nhận dạng duy nhất (UUID) của Bộ xử lý thư, như mô tả trong Nhận mã nhận dạng duy nhất (UUID).
  2. Dừng Trình xử lý thư:
    apigee-service edge-message-processor stop
  3. Huỷ đăng ký loại máy chủ:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers  \
    -d "type=message-processor&amp;region=dc-1&amp;pod=gateway-1&amp;uuid=UUID&amp;action=remove"/pre>
  4. Disassociate an environment from the Message Processor.

    Note: You need to remove the bindings on each org/env that associates the Message Processor UUID.

    curl -H "Content-Type:application/x-www-form-urlencoded" -u <AdminEmailID>:''  \
    -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \
    -d "action=remove&uuid=UUID"
  5. Huỷ đăng ký loại máy chủ:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
  6. Gỡ cài đặt Trình xử lý thông báo:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. Huỷ đăng ký máy chủ:
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID

Máy chủ Qpid và Qpidd

Phần này giải thích cách ngừng hoạt động của Máy chủ Qpid (edge-qpid-server) và Qpidd (apigee-qpidd). Có hai nút Qpid được định cấu hình trong dc-1, vì vậy bạn phải thực hiện các bước sau đây cho cả hai nút nút:

  1. Lấy mã nhận dạng duy nhất (UUID) cho Qpidd, như mô tả trong phần Lấy mã nhận dạng duy nhất (UUID).
  2. Dừng edge-qpid-serverapigee-qpidd:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. Xem danh sách Analytics và nhóm người tiêu dùng:
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. Xóa Qpid khỏi nhóm người tiêu dùng:
    curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json"  -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
  5. Xoá Qpid khỏi nhóm số liệu phân tích:
    curl -v -u <AdminEmailID>:'<AdminPassword>' \
    -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
  6. Huỷ đăng ký máy chủ Qpid từ quá trình cài đặt Edge:
    curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
    -d "type=qpid-server&region=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
  7. Xoá máy chủ Qpid khỏi quá trình cài đặt Edge:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. Khởi động lại tất cả các thành phần Edge-qpid-server trên tất cả các nút để đảm bảo nhận được thay đổi theo các thành phần đó:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
  9. Gỡ cài đặt Edge-qpid-server và apigee-qpidd:
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall

Postgres và Postgresql

Trung tâm dữ liệu mà bạn đang gỡ bỏ có thể có trang chính Postgres hoặc chế độ chờ Postgres. Các phần sau đây giải thích cách huỷ bỏ phí hoa hồng:

Bậc thầy đang gỡ cài đặt Postgres

Lưu ý: Nếu bạn hạ cấp bậc thầy Postgres, hãy nhớ quảng bá bất kỳ các nút chờ hiện có làm bản chính mới của postgres. Trong khi QPID xếp hàng dữ liệu vùng đệm, nếu trang chính Postgres không hoạt động trong thời gian dài, bạn sẽ có nguy cơ mất dữ liệu phân tích.

Cách gỡ bỏ máy chủ Postgres:

  1. Sao lưu nút chính dc-1 Postgres bằng cách làm theo hướng dẫn trong các đường liên kết sau:
  2. Lấy các mã nhận dạng duy nhất (UUID) của máy chủ Postgres như mô tả trong Nhận mã nhận dạng duy nhất (UUID).
  3. Trên dc-1, hãy dừng edge-postgres-serverapigee-postgresql trên trang cái hiện tại:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  4. Trên nút chờ trên dc-2, nhập lệnh sau để đặt nút này làm nút chính:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>

    Lưu ý: Nếu có nhiều nút Postgres ở chế độ chờ, thì bạn phải thêm các mục nhập của máy chủ lưu trữ trên bản chính mới và cập nhật cài đặt sao chép cho tất cả các nút chế độ chờ postgres hiện có.

    Để thêm mục nhập máy chủ lưu trữ vào trang cái Postgres mới: hãy làm theo các bước trong phần thích hợp bên dưới:

    Nếu chỉ còn một nút dự phòng

    Ví dụ: giả sử trước khi ngừng hoạt động, có 3 nút Postgres được định cấu hình. Bạn đã ngừng hoạt động máy chủ hiện tại và thăng cấp một trong những trạm chờ còn lại nút để điều khiển. Định cấu hình nút chờ còn lại theo các bước sau:

    1. Trên trang cái mới, chỉnh sửa cấu hình tệp cần đặt:
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
    2. Bật tính năng sao chép trên trang cái mới:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle

    Nếu còn nhiều nút chờ

    1. Thêm cấu hình sau trong /opt/apigee/customer/application/postgresql.properties:
      conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
    2. Đảm bảo rằng tệp /opt/apigee/customer/application/postgresql.properties thuộc sở hữu của người dùng apigee:
            chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. Khởi động lại apigee-postgresql:
      apigee-service apigee-postgresql restart
    4. Cách cập nhật chế độ cài đặt sao chép trên nút chờ:

      1. Sửa đổi tệp cấu hình /opt/silent.conf rồi cập nhật trường PG_MASTER bằng địa chỉ IP của trang cái Postgres mới.
      2. Xoá mọi dữ liệu Postgres cũ bằng lệnh sau:
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. Thiết lập tính năng sao chép trên nút chế độ chờ:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. Xác minh rằng quảng cáo chính Postgres được thiết lập chính xác bằng cách nhập lệnh sau trong dc-2:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. Xoá và thêm máy chủ Postgresql khỏi nhóm Analytics và nhóm người tiêu dùng.
      1. Xoá máy chủ Postgres cũ khỏi nhóm Analytics bằng cách làm theo hướng dẫn trong Xoá máy chủ Postgres khỏi nhóm số liệu phân tích.
      2. Thêm máy chủ postgres mới vào nhóm Analytics bằng cách làm theo hướng dẫn trong Thêm một máy chủ Postgres hiện có vào một nhóm số liệu phân tích.
    7. Huỷ đăng ký máy chủ postgres cũ khỏi dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    8. Xóa máy chủ postgres cũ khỏi dc-1:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. Bản chính Postgres cũ hiện đã an toàn để ngừng hoạt động. Gỡ cài đặt edge-postgres-serverapigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    Đang ngừng hoạt động ở chế độ chờ Postgres

    Lưu ý: Tài liệu về 12 nút cài đặt theo cụm hiển thị nút dc-1 postgresql là nút chính, nhưng để thuận tiện, trong phần này, người ta giả định rằng nút dc-1 postgresql là chế độ chờ và nút dc-2 postgresql là bản chính.

    Để gỡ bỏ chế độ chờ Postgres, hãy làm theo các bước sau:

    1. Lấy mã nhận dạng duy nhất (UUID) của máy chủ Postgres bằng cách làm theo hướng dẫn trong Nhận mã nhận dạng duy nhất (UUID).
    2. Dừng apigee-postgresql trên nút chế độ chờ hiện tại trong dc-1:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. Xoá và thêm máy chủ Postgresql khỏi nhóm Analytics và nhóm người tiêu dùng.
      1. Xoá máy chủ Postgres cũ khỏi nhóm Analytics bằng cách làm theo hướng dẫn trong Xoá máy chủ Postgres khỏi nhóm số liệu phân tích.
      2. Thêm máy chủ postgres mới vào nhóm Analytics bằng cách làm theo hướng dẫn trong Thêm một máy chủ Postgres hiện có vào một nhóm số liệu phân tích.
    4. Huỷ đăng ký máy chủ postgres cũ khỏi dc-1:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server&region=dc-1&pod=analytics&uuid=UUID&action=remove"<
    5. Xóa máy chủ postgres cũ khỏi dc-1:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. Bản chính Postgres cũ hiện đã an toàn để ngừng hoạt động. Gỡ cài đặt edge-postgres-serverapigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    Vườn thú và Cassandra

    Phần này giải thích cách huỷ kích hoạt máy chủ ZooKeeper và Cassandra trong thiết lập hai trung tâm dữ liệu.

    Nếu bạn có nhiều hơn hai trung tâm dữ liệu, hãy nhớ xóa mọi thông tin tham chiếu đến nút bị ngừng hoạt động (dc-1 trong trường hợp này) khỏi mọi tệp cấu hình im lặng trên tất cả các trung tâm dữ liệu còn lại. Đối với các nút Cassandra sẽ ngừng hoạt động, hãy xoá các máy chủ đó khỏi CASS_HOSTS. Các nút Cassandra còn lại phải giữ nguyên theo thứ tự ban đầu là CASS_HOSTS.

    Lưu ý trên ZooKeeper: Bạn phải duy trì đại biểu của các nút cử tri trong khi sửa đổi Thuộc tính ZK_HOST trong tệp cấu hình, để đảm bảo rằng tổ hợp ZooKeeper vẫn hoạt động. Bạn phải có số lẻ nút cử tri trong cấu hình của bạn. Để biết thêm thông tin, hãy xem Bảo trì ZooKeeper của Apache nhiệm vụ.

    Để gỡ bỏ máy chủ ZooKeeper và Cassandra, hãy làm như sau:

    1. Sao lưu các nút Cassandra và ZooKeeper dc-1 bằng cách làm theo hướng dẫn trong các đường liên kết sau:
    2. Liệt kê các UUID của ZooKeeper và Cassandra máy chủ ở trung tâm dữ liệu nơi có các nút Cassandra ngừng hoạt động.

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. Huỷ đăng ký loại máy chủ:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore&region=dc-1&pod=central&uuid=UUID&action=remove"
    4. Huỷ đăng ký máy chủ:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. Cập nhật tệp cấu hình chứa IP của các nút đã ngừng hoạt động bị xoá khỏi ZK_HOSTSCASS_HOSTS.

      Ví dụ: Giả sử bạn có các IP $IP1 $IP2 $IP3 trong dc-1 và $IP4 $IP5 $IP6 trong dc-2 và bạn đang ngừng chạy dc-1. Sau đó, bạn nên xoá các IP $IP1 $IP2 $IP3 khỏi tệp cấu hình.

      • Các mục nhập tệp cấu hình hiện có:
        ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6"
        CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
      • Các mục nhập tệp cấu hình mới:
        ZK_HOSTS="$IP4 $IP5 $IP6"
        CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
    6. Cập nhật tệp cấu hình im lặng (được sửa đổi ở bước e) bằng IP của các tệp đã bị xóa các nút ngừng hoạt động và chạy quy trình Quản lý hồ sơ máy chủ trên tất cả các nút lưu trữ Máy chủ quản lý:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. Cập nhật tệp cấu hình bằng IP của các nút đã ngừng hoạt động đã bị xoá và chạy cấu hình MP/RMP trên tất cả các nút Bộ định tuyến và Bộ xử lý thư:
      • Nếu Bộ định tuyến cạnh và Trình xử lý thư được định cấu hình trên cùng một nút, hãy nhập:
        /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
      • Nếu Bộ định tuyến cạnh và Trình xử lý thư được định cấu hình trên các nút riêng biệt, hãy nhập thông tin sau:

        Đối với Bộ định tuyến:

        /opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file

        Đối với Bộ xử lý thư:

        /opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
    8. Định cấu hình lại tất cả các nút Qpid, trong đó IP của các nút đã ngừng hoạt động sẽ bị xoá khỏi Tệp phản hồi:
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. Định cấu hình lại tất cả các nút Postgres, trong đó IP của các nút đã ngừng hoạt động sẽ bị xoá khỏi Tệp phản hồi:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. Thay đổi không gian phím system_auth. Nếu bạn đã bật tính năng xác thực Cassandra trên Nút Cassandra, hãy cập nhật hệ số sao chép của không gian phím system_auth bằng cách chạy lệnh sau:
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      Lệnh này thiết lập hệ số nhân bản thành '3', cho biết 3 nút Cassandra trong cụm. Sửa đổi giá trị này nếu cần.

      Sau khi hoàn tất bước này, cấu trúc liên kết Cassandra không có dc-1 trong bất kỳ không gian khoá nào.

    11. Tháo từng nút Cassandra trên dc-1.

      Để gỡ bỏ các nút Cassandra, hãy nhập lệnh sau:

      /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission

    12. Kiểm tra kết nối của các nút Cassandra từ dc-1 bằng một trong các lệnh sau:
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      Hoặc lệnh xác minh phụ sẽ chạy trên nút đã ngừng hoạt động:

      /opt/apigee/apigee-cassandra/bin/nodetool netstats

      Lệnh trên sẽ trả về:

      Mode: DECOMMISSIONED

    13. Chạy hồ sơ DS cho tất cả các nút Cassandra và ZooKeeper trong dc-2:
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
    14. Dừng apigee-cassandraapigee-zookeeper trong dc-1:
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. Gỡ cài đặt apigee-cassandraapigee-zookeeper trong dc-1:
      apigee-service apigee-cassandra uninstall
      apigee-service apigee-zookeeper uninstall

    Xoá các liên kết khỏi dc-1

    Để xoá các liên kết khỏi dc-1, hãy làm theo các bước sau:

    1. Xoá các liên kết khỏi dc-1.
      1. Liệt kê tất cả các nhóm hiện có trong tổ chức:
        curl -v -u  <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
      2. Để kiểm tra xem tất cả các liên kết đã bị xóa hay chưa, hãy lấy phương thức Mã nhận dạng duy nhất (UUID) của máy chủ liên kết với các nhóm:
        curl -v -u  <AdminEmailID>:<AdminPassword> \
        -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"

        Nếu lệnh này không trả về bất kỳ mã nhận dạng duy nhất (UUID) nào, thì các bước trước đó đã xoá tất cả các liên kết, và bạn có thể bỏ qua bước tiếp theo. Nếu không, hãy thực hiện bước tiếp theo.

      3. Xoá tất cả các liên kết máy chủ cho các mã nhận dạng duy nhất (UUID) thu được ở bước trước:
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. Huỷ liên kết tổ chức khỏi nhóm:
        curl -v -u  <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove&region=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
    2. Xoá các nhóm:
      curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. Xoá khu vực.
      curl -v -u <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/regions/dc-1" -X DELETE

    Lưu ý: Nếu bạn bỏ lỡ một trong các bước xoá máy chủ, thì bước trên sẽ trả về một thông báo lỗi máy chủ cụ thể trong nhóm vẫn tồn tại. Vì vậy, hãy xoá chúng bằng cách làm theo các bước khắc phục sự cố bên dưới, trong khi tuỳ chỉnh các loại trong lệnh curl.

    Lúc này, bạn đã hoàn tất việc gỡ bỏ dc-1.

    Phụ lục

    Khắc phục sự cố

    Nếu sau khi bạn thực hiện các bước trước đó mà vẫn còn máy chủ trong một số nhóm, hãy làm theo các bước sau để huỷ đăng ký và xoá máy chủ. Lưu ý: Hãy thay đổi loại và nhóm nếu cần.

    1. Lấy mã nhận dạng duy nhất (UUID) bằng lệnh sau:
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. Huỷ đăng ký loại máy chủ:
      curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
    3. Xoá từng máy chủ:
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID

    Xác thực

    Bạn có thể xác thực quá trình ngừng hoạt động bằng các lệnh sau.

    Máy chủ quản lý

    Chạy các lệnh sau từ Máy chủ quản lý trên tất cả khu vực.

    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central&region=dc-1
    curl -v  -u  <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway&region=dc-1
    curl -v -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/servers?pod=analytics&region=dc-1

    Chạy lệnh sau trên tất cả các thành phần để kiểm tra các yêu cầu về cổng cho tất cả chế độ quản lý cổng.

    curl -v http://MS_IP:8080/v1/servers/self

    Kiểm tra nhóm số liệu phân tích.

    curl  -v  -u  <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080}/v1/o/ORG/e/ENV/provisioning/axstatus"
    curl -v  -u  <AdminEmailID>:'<AdminPassword>'  http://MS_IP:8080/v1/analytics/groups/ax

    Nút Cassandra/ZooKeeper

    Trên tất cả các nút Cassandra, hãy nhập:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

    Thao tác này sẽ trả về trạng thái running hoặc not running cho cụ thể đó nút.

    Trên một nút, hãy nhập:

    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
    /opt/apigee/apigee-cassandra/bin/nodetool -h <host> status

    Các lệnh trên sẽ trả về thông tin của trung tâm dữ liệu đang hoạt động.

    Trên nút ZooKeeper, trước tiên, hãy nhập:

    echo ruok | nc <host> 2181

    Lệnh này sẽ trả về imok.

    Sau đó nhập:

    echo stat | nc <host> 2181 | grep Mode

    Giá trị của Mode mà lệnh trên trả về sẽ là một trong những giá trị sau: observer, leader hoặc follower.

    Trong một nút ZooKeeper:

    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt

    Trên nút chính Postgres, chạy:

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

    Xác thực rằng phản hồi cho biết nút này là nút chính.

    Trên nút chế độ chờ:

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

    Xác thực rằng phản hồi cho biết nút là chế độ chờ.

    Đăng nhập vào cơ sở dữ liệu PostgreSQL bằng lệnh

    psql -h localhost -d apigee -U postgres

    Khi được nhắc, hãy nhập 'postgres' mật khẩu của người dùng là 'postgres'. Chọn max(client_received_start_timestamp) từ số liệu phân tích.

    ”$org.$env.fact” limit 1;

    Nhật ký

    Hãy kiểm tra nhật ký trên các thành phần để đảm bảo không có lỗi.