Thêm trung tâm dữ liệu

Edge cho Private Cloud phiên bản 4.17.05

Tài liệu này mô tả cách thêm một trung tâm dữ liệu (còn được gọi là một khu vực) vào một dữ liệu hiện có giữa chiến dịch.

Những điều cần cân nhắc trước khi thêm trung tâm dữ liệu

Trước khi cài đặt, thêm trung tâm dữ liệu, bạn phải hiểu cách định cấu hình OpenLDAP, Các máy chủ ZooKeeper, Cassandra và Postgres trên các trung tâm dữ liệu. Bạn cũng phải đảm bảo rằng các cổng cần thiết đang được mở giữa các nút trong hai trung tâm dữ liệu.

  • OpenLDAP
    Mỗi trung tâm dữ liệu có máy chủ OpenLDAP riêng được định cấu hình có bật tính năng sao chép. Khi cài đặt trung tâm dữ liệu mới, bạn phải định cấu hình OpenLDAP để sử dụng sao chép và bạn phải định cấu hình lại máy chủ OpenLDAP trong trung tâm dữ liệu hiện có để sử dụng tính năng sao chép.
  • ZooKeeper
    Đối với thuộc tính ZK_HOSTS cho cả hai trung tâm dữ liệu, hãy chỉ định địa chỉ IP hoặc tên DNS của tất cả các nút ZooKeeper từ cả hai dữ liệu căn giữa, theo cùng thứ tự và đánh dấu mọi nút bằng đối tượng sửa đổi ":observer". Các nút không có đối tượng sửa đổi ":observer" được gọi là "voters". Bạn phải có một số lẻ số "người bỏ phiếu" trong cấu hình của bạn.

    Trong cấu trúc liên kết này, máy chủ lưu trữ ZooKeeper trên máy chủ 9 là trình quan sát:



    Trong tệp cấu hình mẫu được hiển thị bên dưới, nút 9 được gắn thẻ với Đối tượng sửa đổi ":observer" để bạn có 5 cử tri: Nút 1, 2, 3, 7 và 8.

    Dành cho ZK_CLIENT_HOSTS cho mỗi trung tâm dữ liệu, hãy chỉ định địa chỉ IP hoặc tên DNS của chỉ ZooKeeper các nút trong trung tâm dữ liệu, theo cùng thứ tự, cho tất cả các nút ZooKeeper trong dữ liệu giữa chiến dịch.
  • Cassandra
    Tất cả các trung tâm dữ liệu phải có cùng số nút Cassandra.

    Đối với CASS_HOSTS đối với từng dữ liệu hãy đảm bảo rằng bạn chỉ định tất cả địa chỉ IP Cassandra (không phải tên DNS) cho cả hai dữ liệu trung tâm. Đối với trung tâm dữ liệu 1, trước tiên, hãy liệt kê các nút Cassandra trong trung tâm dữ liệu đó. Dành cho trung tâm dữ liệu 2, liệt kê các nút Cassandra trong trung tâm dữ liệu đó trước. Liệt kê các nút Cassandra trong cùng cho tất cả các nút Cassandra trong trung tâm dữ liệu.

    Tất cả các nút Cassandra phải có hậu tố ':<d>,<r>', ví dụ: '<ip>:1,1 = trung tâm dữ liệu 1 và giá đỡ/khu vực hoạt động 1 và '<ip>:2,1 = trung tâm dữ liệu 2 và giá/khu vực tình trạng còn hàng 1.
    Ví dụ: "192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.124.205:2,1 192.168.124.206:2,1"

    Nút đầu tiên trong giá/khu vực tình trạng còn hàng 1 của mỗi trung tâm dữ liệu sẽ được dùng làm nút gốc máy chủ. Trong mô hình triển khai này, cách thiết lập Cassandra sẽ có dạng như sau:


  • Postgres
    Theo mặc định, Edge cài đặt tất cả các nút Postgres ở chế độ chính. Tuy nhiên, khi có nhiều trung tâm dữ liệu, bạn định cấu hình các nút Postgres để sử dụng sao chép chế độ chờ chính để nếu nút chính bị lỗi, nút chờ có thể tiếp tục phân phát lưu lượng truy cập. Thông thường, bạn định cấu hình máy chủ Postgres chính trong một trung tâm dữ liệu và máy chủ dự phòng trong dữ liệu thứ hai giữa chiến dịch.

    Nếu trung tâm dữ liệu hiện có đã được định cấu hình để có 2 nút Postgres chạy trong chế độ chính/chế độ chờ, thì trong quy trình này, hãy huỷ đăng ký nút chế độ chờ hiện có và thay thế nó bằng một nút chờ trong trung tâm dữ liệu mới.

    Bảng sau đây trình bày cấu hình trước và sau của Postgres cho cả hai trường hợp:

    Trước

    Sau

    Nút Postgres chính duy nhất trong dc-1

    Nút Postgres chính trong dc-1

    Nút Postgres ở chế độ chờ trong dc-2

    Nút Postgres chính trong dc-1

    Nút Postgres ở chế độ chờ trong dc-1

    Nút Postgres chính trong dc-1

    Nút Postgres ở chế độ chờ trong dc-2

    Huỷ đăng ký nút cũ Postgres trong dc-1

  • Yêu cầu về cổng
    Bạn phải đảm bảo rằng các cổng cần thiết đang mở giữa các nút trong hai trung tâm dữ liệu. Để xem sơ đồ cổng, hãy xem phần Cài đặt Các yêu cầu.

Cập nhật trung tâm dữ liệu hiện có

Để thêm một trung tâm dữ liệu, bạn cần thực hiện các bước để cài đặt và định cấu hình dữ liệu mới các nút trung tâm, nhưng cũng yêu cầu bạn cập nhật các nút trong trung tâm dữ liệu gốc. Các bạn cần sửa đổi vì bạn sẽ thêm các nút Cassandra và ZooKeeper mới trong trung tâm dữ liệu mà trung tâm dữ liệu hiện tại phải truy cập, và bạn phải định cấu hình lại OpenLDAP để sử dụng tính năng sao chép.

Tạo tệp cấu hình

Dưới đây là các tệp cấu hình im lặng cho hai trung tâm dữ liệu, trong đó mỗi dữ liệu tâm có 6 nút như minh hoạ trong phần Cài đặt Rất xin lỗi bạn. Lưu ý rằng tệp cấu hình cho dc-1 thêm các chế độ cài đặt bổ sung cho:

  • Định cấu hình OpenLDAP có chức năng sao chép qua 2 nút OpenLDAP.
  • Thêm các nút Cassandra và ZooKeeper mới từ dc-2 vào tệp cấu hình cho dc-1.
# Datacenter 1
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP1
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=1
LDAP_PEER=$IP7
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-1
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"
# Datacenter 2
IP1=IPorDNSnameOfNode1
IP2=IPorDNSnameOfNode2
IP3=IPorDNSnameOfNode3
IP7=IPorDNSnameOfNode7
IP8=IPorDNSnameOfNode8
IP9=IPorDNSnameOfNode9 
HOSTIP=$(hostname -i)
MSIP=$IP7
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=2
LDAP_SID=2
LDAP_PEER=$IP1
APIGEE_LDAPPW=secret
BIND_ON_ALL_INTERFACES=y
MP_POD=gateway-2
REGION=dc-2
ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer"
ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com 
SMTPPASSWORD=smtppwd   
SMTPSSL=n
SMTPPORT=25
SMTPMAILFROM="My Company <myco@company.com>"

Quy trình thêm trung tâm dữ liệu mới

Trong quy trình này, các trung tâm dữ liệu được đặt tên là:

  • dc-1: trung tâm dữ liệu hiện có
  • dc-2: trung tâm dữ liệu mới
  1. Trên dc-1, hãy chạy lại setup.sh trên các nút Cassandra ban đầu với dc-1 mới tệp confiig bao gồm các nút Cassandra từ dc-2:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
  2. Trên dc-1, hãy chạy lại setup.sh trên nút Management Server (Máy chủ quản lý):
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
  3. Trên dc-2, hãy cài đặt apigee-setup trên tất cả các nút. Xem bài viết Cài đặt tiện ích thiết lập apigee của Edge để biết thêm thông tin của bạn.
  4. Trên dc-2, hãy cài đặt Cassandra và ZooKeeper trên các nút thích hợp:
    /opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
  5. Trên dc-2, hãy chạy lệnh tạo lại trên tất cả các nút Cassandra, chỉ định tên khu vực của dc-1:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassIP đã tạo lại dc-1
  6. Trên dc-2, hãy cài đặt Management Server trên nút thích hợp:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
  7. Trên nút Máy chủ quản lý trong dc-2, cài đặt apigee-provision, ứng dụng này sẽ cài đặt phần mềm tiện ích apigee-adminapi.sh:
    &gt; /opt/apigee/apigee-service/bin/apigee-service apigee- đãi cài đặt
  8. Trên dc-2, hãy cài đặt Tuyến và Bộ xử lý thư trên nút:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
  9. Trên dc-2, hãy cài đặt Qpid trên các nút thích hợp:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
  10. Trên dc-2, hãy cài đặt Postgres trên nút thích hợp:
    &gt; /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
  11. Thiết lập chế độ chính/chế độ chờ của Postgres cho các nút Postgres. Nút Postgres trong dc-1 là và nút Postgres trong dc-2 là máy chủ dự phòng.

    Lưu ý: Nếu dc-1 đã được định cấu hình để có hai Postgres các nút chạy ở chế độ chính/chế độ chờ, thì trong quy trình này, hãy sử dụng nút Postgres chính hiện có trong dc-1 làm nút chính và Nút Postgres trong dc-2 làm máy chủ dự phòng. Ở phần sau của quy trình này, bạn sẽ huỷ đăng ký máy chủ dự phòng Postgres hiện có trong dc-1.
    1. Trên nút chính trong dc-1, hãy chỉnh sửa tệp cấu hình để đặt:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    2. Bật tính năng sao chép trên trang cái mới:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql thiết lập-replations-on-master – configFIle
    3. Trên nút chế độ chờ trong dc-2, hãy chỉnh sửa tệp cấu hình để thiết lập:
      PG_MASTER=IPorDNSofDC1Master
      PG_STANDBY=IPorDNSofDC2Standby
    4. Trên nút ở chế độ chờ trong dc-2, hãy dừng máy chủ rồi xoá mọi dữ liệu Postgres hiện có:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql dừng
      &gt; rm -rf /opt/apigee/data/apigee-postgresql/

      Lưu ý: Nếu cần, bạn có thể sao lưu dữ liệu này trước khi xoá.
    5. Định cấu hình nút chế độ chờ trong dc-2:
      &gt; /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql thiết lập-repl phiên bản-trên-chế độ chờ -f configFile
  12. Trên dc-1, hãy cập nhật cấu hình Analytics và định cấu hình các tổ chức.
    1. Trên nút Máy chủ quản lý của dc-1, hãy lấy UUID của Postgres nút:
      &gt; máy chủ apigee-adminapi.sh danh sách -r dc-1 -p analytics -t postgres-server --admin adminEmail --pwd adminPword --host localhost

      Mã nhận dạng duy nhất (UUID) xuất hiện ở cuối dữ liệu được trả về. Lưu giá trị đó.

      Lưu ý: Nếu dc-1 được định cấu hình để có hai nút Postgres chạy trong chế độ chính/chế độ chờ, bạn sẽ thấy hai địa chỉ IP và mã nhận dạng duy nhất (UUID) trong dữ liệu đầu ra. Lưu cả hai mã nhận dạng duy nhất (UUID). Từ các IP, bạn sẽ có thể xác định UUID nào dành cho chính và UUID nào dành cho nút chế độ chờ.
    2. Trên nút Máy chủ quản lý của dc-2, hãy lấy UUID của Postgres như được minh hoạ ở bước trước. Lưu giá trị đó.
    3. Trên nút Máy chủ quản lý của dc-1, xác định tên của Analytics và nhóm người tiêu dùng. Nhiều lệnh dưới đây yêu cầu thông tin đó.
      Theo mặc định, tên của nhóm phân tích là axgroup-001 và tên của người tiêu dùng là nhóm người tiêu dùng-001. Trong tệp cấu hình im lặng cho một khu vực, bạn có thể đặt tên của nhóm số liệu phân tích bằng cách sử dụng thuộc tính AXGROUP.

      Nếu bạn không chắc chắn về tên của số liệu phân tích và nhóm người tiêu dùng, hãy sử dụng để hiển thị chúng:
      &gt; số liệu phân tích apigee-adminapi.sh danh sách nhóm --quản trị adminEmail --pwd adminPword --máy chủ localhost

      Lệnh này trả về tên nhóm phân tích trong trường tên và nhóm người tiêu dùng tên trong trường nhóm người tiêu dùng.
    4. Trên nút Máy chủ quản lý của dc-1, hãy xoá Postgres hiện có khỏi nhóm Analytics:
      1. Xoá nút Postgres khỏi nhóm người tiêu dùng:
        &gt; apigee-adminapi.sh analytics groups users_groups datastores loại bỏ -g axgroup-001 -c consumer-group-001 -u mã nhận dạng duy nhất (UUID) -Y --quản trị viên adminEmail --pwd adminPword --host cục bộ

        Nếu dc-1 được định cấu hình để có 2 nút Postgres chạy trong chế độ chính/chế độ chờ, xoá cả hai:
        &gt; apigee-adminapi.sh analytics groups users_groups datastores loại bỏ -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" -Y --admin adminEmail --pwd adminPword --host localhost
      2. Xoá nút Postgres khỏi nhóm số liệu phân tích:
        &gt; apigee-adminapi.sh analytics groups postgres_server xoá -g axgroup-001 -u UUID -Y --quản trị viên adminEmail --pwd adminPword --máy chủ localhost

        Nếu dc-1 được định cấu hình để có hai nút Postgres chạy ở chế độ chính/chế độ chờ, hãy xoá cả hai:
        &gt; apigee-adminapi.sh analytics groups postgres_server xoá -g axgroup-001 -u UUID1,UUID2 –Y --quản trị viên adminEmail --pwd adminPword --host cục bộ
    5. Trên nút Máy chủ quản lý của dc-1, thêm chế độ chính/chế độ chờ mới Đăng máy chủ vào nhóm phân tích:
      1. Thêm cả hai máy chủ Postgres vào nhóm phân tích:
        &gt; apigee-adminapi.sh các nhóm phân tích postgres_server thêm -g axgroup-001 -u "UUID_1,UUID_2" --quản trị viên adminEmail --pwd adminPword --máy chủ localhost

        trong đó UUID_1 tương ứng với nút Postgres chính trong dc-1UUID_2 tương ứng với Postgres ở chế độ chờ nút trong dc-2.
      2. Thêm máy chủ PG vào nhóm người tiêu dùng dưới dạng chính/chế độ chờ:
        &gt; apigee-adminapi.sh các nhóm phân tích user_groups datastores thêm -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --quản trị viên adminEmail --pwd adminPword --host cục bộ
    6. Thêm máy chủ Qpid từ dc-2 vào nhóm phân tích:
      1. Trên nút Máy chủ quản lý của dc-1, hãy lấy các mã nhận dạng duy nhất (UUID) của Qpid các nút trong dc-2:
        &gt; apigee-adminapi.sh danh sách máy chủ -r dc-2 -p tập trung -t qpid-server --admin adminEmail --pwd adminPword --host localhost

        Các mã nhận dạng duy nhất (UUID) xuất hiện ở cuối dữ liệu được trả về. Lưu các giá trị đó.
      2. Trên nút Máy chủ quản lý của dc-1, thêm các nút Qpid vào nhóm số liệu phân tích:
        &gt;apigee-adminapi.sh các nhóm phân tích qpid_server thêm -g axgroup-001 -u "UUID_1 UUID_2" --quản trị viên adminEmail --pwd adminPword --host localhost
      3. Trên nút Máy chủ quản lý của dc-1, thêm các nút Qpid vào nhóm người tiêu dùng:
        &gt; apigee-adminapi.sh các nhóm analytics thế giới người tiêu dùng thêm -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --quản trị viên adminEmail --pwd adminPword --host localhost
    7. Huỷ đăng ký và xoá máy chủ dự phòng Postgres cũ khỏi dc-1:
      1. Huỷ đăng ký máy chủ dự phòng dc-1 Postgres hiện có:
        &gt; apigee-adminapi.sh máy chủ huỷ đăng ký -u UUID -r dc-1 -p analytics -t postgres-server -Y --quản trị adminEmail --pwd adminPword --host localhost

        trong đó UUID là chế độ chờ cũ Nút Postgres trong dc-1.
      2. Xoá máy chủ dự phòng dc-1 Postgres hiện có:
        Lưu ý: Lệnh này không gỡ cài đặt nút máy chủ Postgres. Nó chỉ xoá nút này khỏi danh sách các nút Edge. Sau đó, bạn có thể gỡ cài đặt Postgres từ nút, nếu cần.
        &gt; apigee-adminapi.sh máy chủ xoá -u UUID --quản trị viên adminEmail --pwd adminPword --host cục bộ
  13. Cập nhật không gian khoá Cassandra bằng hệ số sao chép chính xác cho 2 trung tâm dữ liệu. Bạn chỉ phải chạy bước này một lần trên máy chủ Cassandra bất kỳ ở một trong hai trung tâm dữ liệu:

    Lưu ý: Các lệnh bên dưới đều đặt hệ số nhân bản thành "3", cho biết rằng ba nút Cassandra trong cụm. Sửa đổi giá trị này nếu cần cho quá trình cài đặt của bạn.
    1. Khởi động tiện ích Cassandra cqlsh:
      &gt; /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
    2. Thực thi các lệnh CQL sau đây tại "cqlsh>" lời nhắc thiết lập bản sao cho không gian phím Cassandra:
      1. cqlsh&gt; Hàm ALTER KEYSPACE "identityzone" WITH sao chép = { 'class': 'NetworkTopologyStrategy', "dc-1": "3", "dc-2": "3" };
      2. cqlsh&gt; Hàm ALTER KEYSPACE "system_traces" CÓ tính năng sao chép = { 'class': 'NetworkTopologyStrategy', 'dc-1': "3", "dc-2": "3" };
      3. Xem các không gian phím bằng cách dùng lệnh:
        cqlsh&gt; chọn * từ system.schema_keyspaces;
      4. Thoát khỏi CQ1:
        cqlsh&gt; thoát
  14. Chạy lệnh buttontool sau đây trên tất cả các nút Cassandra trong dc-1 để giải phóng bộ nhớ:
    &gt; /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP dọn dẹp
  15. Đối với mỗi tổ chức và cho từng môi trường mà bạn muốn hỗ trợ trên dữ liệu giữa:
    1. Trên nút Máy chủ quản lý của dc-1, hãy thêm MP_POD mới vào Tổ chức:
      &gt; nhóm tổ chức apigee-adminapi.sh add -o orgName -r dc-2 -p gateway-2 --admin adminEmail --pwd adminPword --host localhost

      trong đó gateway-2 là tên của nhóm cổng vào do MP_POD xác định trong tệp cấu hình dc-2.
    2. Thêm Trình xử lý tin nhắn mới vào tổ chức và môi trường:
      1. Trên nút Máy chủ quản lý của dc-2, hãy lấy UUID của Nút Trình xử lý thông báo trong dc-2:
        &gt; apigee-adminapi.sh danh sách máy chủ -r dc-2 -p gateway-2 -t message-processor --quản trị viên adminEmail --pwd adminPword --host localhost

        Các mã nhận dạng duy nhất (UUID) xuất hiện ở cuối dữ liệu được trả về. Lưu các giá trị đó.
      2. Trên nút Máy chủ quản lý của dc-1, cho mỗi Bộ xử lý thư trong dc-2, thêm Trình xử lý thư vào một môi trường cho tổ chức:
        &gt; Các tổ chức apigee-adminapi.sh máy chủ envs thêm -o orgName -e envName -u UUID --quản trị viên adminEmail --pwd adminPword --host localhost
    3. Trên nút Máy chủ quản lý của dc-1, hãy kiểm tra tổ chức:
      &gt; apigee-adminapi.sh tổ chức apis triển khai -o orgName -a apiProxyName --admin adminEmail --pwd adminPword --host localhost

      trong đó apiProxyName là tên của một proxy API được triển khai trong tổ chức.