การเลิกใช้งานศูนย์ข้อมูล

บางครั้งคุณอาจต้องยกเลิกการใช้งานศูนย์ข้อมูล ตัวอย่างเช่น หากคุณกำลังอัปเกรดระบบปฏิบัติการ คุณต้องมี เพื่อติดตั้งระบบปฏิบัติการใหม่ในศูนย์ข้อมูลใหม่ จากนั้นจึงเลิกใช้ศูนย์ข้อมูลเก่า ส่วนต่อไปนี้นำเสนอตัวอย่างของการเลิกใช้งานศูนย์ข้อมูลที่ มีศูนย์ข้อมูล 2 แห่ง ได้แก่ dc-1 และ dc-2 บน 12 โหนด การติดตั้งแบบคลัสเตอร์:

  • dc-1 คือศูนย์ข้อมูลที่จะยกเลิกการทำงานของ
  • dc-2 เป็นศูนย์ข้อมูลที่ 2 ซึ่งใช้ในขั้นตอนการเลิกใช้งาน

หากคุณกำลังอัปเกรด ระบบปฏิบัติการของคุณ dc-2 อาจเป็นศูนย์ข้อมูลที่คุณได้ติดตั้งไว้ ระบบปฏิบัติการ (OS) เวอร์ชันใหม่ อย่างไรก็ตาม คุณไม่จำเป็นต้องติดตั้งระบบปฏิบัติการใหม่ ที่จะเลิกใช้ศูนย์ข้อมูล

ข้อควรพิจารณาก่อนยกเลิกการใช้งานศูนย์ข้อมูล

โปรดคำนึงถึงข้อควรพิจารณาต่อไปนี้เมื่อยกเลิกการใช้งานศูนย์ข้อมูล

  • บล็อกการรับส่งข้อมูลด้านรันไทม์และการจัดการทั้งหมดไปยังศูนย์ข้อมูลที่กำลังเลิกใช้งานและเปลี่ยนเส้นทาง ไปยังศูนย์ข้อมูลอื่นๆ
  • หลังจากยกเลิกการใช้งานศูนย์ข้อมูล คุณจะใช้ความจุในคลัสเตอร์ Apigee ลดลง เพื่อชดเชย ลองเพิ่มความจุในศูนย์ข้อมูลที่เหลือหรือเพิ่ม ศูนย์ข้อมูลหลังหยุดให้บริการ
  • ในระหว่างขั้นตอนการเลิกใช้งาน ข้อมูลวิเคราะห์อาจหายไป ขึ้นอยู่กับ คอมโพเนนต์การวิเคราะห์ใดที่ติดตั้งในศูนย์ข้อมูลที่จะหยุดให้บริการ คุณดู ดูรายละเอียดเพิ่มเติมในเพิ่มหรือนำ Qpid ออก
  • ก่อนที่จะเลิกใช้ศูนย์ข้อมูล คุณควรทำความเข้าใจว่าองค์ประกอบทั้งหมด จะได้รับการกำหนดค่าในทุกศูนย์ข้อมูล โดยเฉพาะ OpenLDAP, ZooKeeper, Cassandra และ Postgres นอกจากนี้ คุณควรสำรองข้อมูลคอมโพเนนต์ทั้งหมดและการกำหนดค่าของคอมโพเนนต์ด้วย

ก่อนจะเริ่ม

  • เซิร์ฟเวอร์การจัดการ: ขั้นตอนการเลิกใช้งานทั้งหมดจะขึ้นอยู่กับเซิร์ฟเวอร์การจัดการ หากคุณมีเพียงรายการเดียว เซิร์ฟเวอร์การจัดการพร้อมใช้งาน เราขอแนะนำให้คุณติดตั้งแอป คอมโพเนนต์เซิร์ฟเวอร์การจัดการในศูนย์ข้อมูลที่ไม่ใช่ dc-1 ก่อนยกเลิกการทำงานของการจัดการ เซิร์ฟเวอร์บน dc-1 และตรวจสอบว่า หนึ่งในเซิร์ฟเวอร์การจัดการที่พร้อมใช้งานเสมอ
  • เราเตอร์: ก่อนเลิกใช้เราเตอร์ ให้ปิดใช้ความสามารถในการเข้าถึงของเราเตอร์ โดยบล็อกพอร์ต 15999 ตรวจสอบว่าไม่มีรันไทม์ ระบบจะนำการรับส่งข้อมูลไปยังเราเตอร์ที่กำลังเลิกใช้
  • Cassandra และ ZooKeeper: ส่วนด้านล่างอธิบายวิธีเลิกใช้งาน dc-1 ในการตั้งค่าศูนย์ข้อมูล 2 แห่ง หากคุณมี ศูนย์ข้อมูล อย่าลืมนำการอ้างอิงถึงโหนดที่ถูกยกเลิกการใช้งานออกทั้งหมด (dc-1 ในกรณีนี้) จากไฟล์การกำหนดค่าที่ผู้ใช้ไม่ต้องดำเนินการทั้งหมดในศูนย์ข้อมูลที่เหลือทั้งหมด สำหรับโหนด Cassandra ที่จะเลิกใช้งาน ให้ทิ้งโฮสต์เหล่านั้นจาก CASS_HOSTS โหนด Cassandra ที่เหลือควรอยู่ในลำดับเดิมของ CASS_HOSTS

  • Postgres: หากคุณเลิกใช้ต้นแบบ Postgres อย่าลืมโปรโมตรายการใดรายการหนึ่ง โหนดสแตนด์บายที่พร้อมใช้งานเป็นโหนดหลัก Postgres ใหม่ ในขณะที่เซิร์ฟเวอร์ QPID เก็บบัฟเฟอร์ไว้ใน หากต้นแบบ Postgres ใช้งานไม่ได้เป็นเวลานาน คุณก็มีโอกาสที่จะสูญเสียข้อมูลการวิเคราะห์

ข้อกำหนดเบื้องต้น

  • ก่อนที่จะยกเลิกการใช้งานคอมโพเนนต์ เราขอแนะนำให้คุณสำรองข้อมูลทั้งหมด โปรดใช้ขั้นตอนสำหรับ Edge เวอร์ชันปัจจุบันเพื่อดำเนินการต่อไปนี้ การสำรองข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับการสำรองข้อมูลได้ที่ การสำรองและกู้คืนข้อมูล

    หมายเหตุ: หากคุณมีโหนด Cassandra หรือ ZooKeeper หลายรายการ ให้สำรองข้อมูลทีละรายการ เนื่องจากขั้นตอนการสำรองข้อมูลจะปิด Zoo Keeper ชั่วคราว

  • ตรวจสอบว่า Edge ทำงานอยู่ก่อนที่จะเลิกใช้งาน โดยใช้คำสั่งต่อไปนี้
    /opt/apigee/apigee-service/bin/apigee-all status
  • ตรวจสอบว่าขณะนี้ไม่มีการรับส่งข้อมูลรันไทม์มาถึงศูนย์ข้อมูลที่คุณอยู่ การเลิกใช้งาน

ลำดับของชิ้นส่วนที่เลิกใช้

หากคุณติดตั้ง Edge สำหรับ Private Cloud บนโหนดหลายรายการ คุณควรเลิกใช้งาน คอมโพเนนต์ Edge บนโหนดเหล่านั้นตามลำดับต่อไปนี้

  1. Edge UI (EDGE-UI)
  2. เซิร์ฟเวอร์การจัดการ (edge-management-server)
  3. OpenLDAP (apigee-openLDAP)
  4. เราเตอร์ (EDGE-Router)
  5. ตัวประมวลผลข้อความ (edge-message-processor)
  6. Qpid Server และ Qpidd (edge-qpid-server และ apigee-qpidd)
  7. ฐานข้อมูล Postgres และ PostgreSQL (edge-postgres-server และ apigee-postgresql)
  8. ZooKeeper (apigee-zookeeper)
  9. คาสซานดรา (apigee-cassandra)

ส่วนต่อไปนี้จะอธิบายถึงวิธียกเลิกการใช้งานคอมโพเนนต์แต่ละอย่าง

UI ของ Edge

หากต้องการหยุดและถอนการติดตั้งคอมโพเนนต์ Edge UI ของ dc-1 ให้ป้อนคำสั่งต่อไปนี้

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

เซิร์ฟเวอร์การจัดการ

หากต้องการยกเลิกการทำงานของเซิร์ฟเวอร์การจัดการบน dc-1 ให้ทำตามขั้นตอนต่อไปนี้:

  1. หยุดเซิร์ฟเวอร์การจัดการบน dc-1:
    apigee-service edge-management-server stop
  2. ค้นหา UUID ของเซิร์ฟเวอร์การจัดการที่ลงทะเบียนใน dc-1:
    curl -u <AdminEmailID>:'<AdminPassword>' \
    -X GET “http://{MS_IP}:8080/v1/servers?pod=central&region=dc-1&type=management-server”
  3. ยกเลิกการลงทะเบียนประเภทของเซิร์ฟเวอร์
    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. ลบเซิร์ฟเวอร์ หมายเหตุ: หากมีการติดตั้งคอมโพเนนต์อื่นๆ ในเซิร์ฟเวอร์นี้ด้วย โปรดยกเลิกการลงทะเบียนทุกรายการก่อนที่จะลบ UUID
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
  5. ถอนการติดตั้งคอมโพเนนต์เซิร์ฟเวอร์การจัดการใน dc-1:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall

เปิด LDAP

ส่วนนี้จะอธิบายวิธีเลิกใช้ OpenLDAP บน dc-1

หมายเหตุ: หากคุณมีศูนย์ข้อมูลมากกว่า 2 แห่ง โปรดดู การตั้งค่าที่มีศูนย์ข้อมูลมากกว่า 2 แห่งที่ด้านล่าง

หากต้องการยกเลิกการทำงานของ OpenLDAP บน dc-1 ให้ทำตามขั้นตอนต่อไปนี้

  1. สำรองข้อมูลโหนด dc-1 OpenLDAP โดยทำตามขั้นตอนใน วิธีสำรองข้อมูล
  2. แยกการจำลองข้อมูลระหว่างศูนย์ข้อมูลทั้งสองแห่ง คือ dc-1 และ dc-2 ด้วย ดำเนินการตามขั้นตอนต่อไปนี้ในศูนย์ข้อมูลทั้ง 2 แห่ง

    1. ตรวจสอบสถานะปัจจุบัน
      ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl

      ผลลัพธ์ควรมีลักษณะดังต่อไปนี้

      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. สร้างไฟล์ break_repl.ldif ที่มีคำสั่งต่อไปนี้ วันที่
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcSyncRepl
      
      dn: olcDatabase={2}bdb,cn=config
      changetype: modify
      delete: olcMirrorMode
    3. เรียกใช้คำสั่ง ldapmodify วันที่
      ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif

      ผลลัพธ์ควรมีลักษณะดังต่อไปนี้

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

  3. คุณสามารถยืนยันว่า dc-2 ไม่ได้จำลองเป็น dc-1 อีกต่อไปแล้วด้วยการสร้างรายการใน dc-2 LDAP แล้วตรวจสอบว่าค่าไม่ปรากฏใน LDAP ของ dc-1

    หรือคุณจะทำตามขั้นตอนด้านล่าง ซึ่งจะสร้างผู้ใช้แบบอ่านอย่างเดียวใน dc-2 ก็ได้ โหนด OpenLDAP แล้วตรวจสอบว่ามีการจำลองผู้ใช้หรือไม่ หลังจากนั้นผู้ใช้ ลบแล้ว

    1. สร้างไฟล์ readonly-user.ldif ใน dc-2 ที่มีเนื้อหาต่อไปนี้ วันที่
      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. เพิ่มผู้ใช้ด้วยคำสั่ง "LDAPadd" ใน dc-2:
      ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif

      ผลลัพธ์ที่ได้จะมีลักษณะคล้ายกับ

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

    3. ค้นหาผู้ใช้ใน dc-1 เพื่อให้แน่ใจว่าไม่มีการจำลองผู้ใช้ หากผู้ใช้ ไม่มีใน dc-1 คุณจะต้องตรวจสอบว่า LDAP ทั้งสองไม่มีการจำลองอีกต่อไป:
      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

      ผลลัพธ์ควรมีลักษณะดังต่อไปนี้

      No such object (32)
      Matched DN: ou=users,ou=global,dc=apigee,dc=com
    4. ลบผู้ใช้แบบอ่านอย่างเดียวที่คุณเพิ่มไว้ก่อนหน้านี้ออก:
      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. หยุด OpenLDAP ใน dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
  5. ถอนการติดตั้งคอมโพเนนต์ OpenLDAP ใน dc-1:
    /opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall

เราเตอร์

ส่วนนี้จะอธิบายวิธีเลิกใช้งานเราเตอร์ โปรดดู นำเซิร์ฟเวอร์ออกเพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับการนำเราเตอร์ออก

ขั้นตอนต่อไปนี้จะยกเลิกการทำงานของเราเตอร์จาก dc-1 หากมีการกำหนดค่าโหนดเราเตอร์หลายรายการใน dc-1 ให้ทำตามขั้นตอนในโหนดเราเตอร์ทั้งหมด ทีละรายการ

หมายเหตุ: ที่นี่จะถือว่าเป็นการกำหนดค่าพอร์ตการตรวจสอบประสิทธิภาพการทำงานของเราเตอร์ 15999 ในการโหลด บาลานซ์ และพอร์ตที่บล็อก 15999 จะทำให้เข้าถึงเราเตอร์ไม่ได้ คุณอาจต้องมีสิทธิ์เข้าถึงรูท เพื่อบล็อกพอร์ต

หากต้องการเลิกใช้เราเตอร์ ให้ทำตามขั้นตอนต่อไปนี้

  1. ปิดใช้ความสามารถในการเข้าถึงของเราเตอร์โดยการบล็อกพอร์ต 15999 ซึ่งเป็นพอร์ตตรวจสอบประสิทธิภาพการทำงาน ตรวจสอบว่าได้บล็อกการรับส่งข้อมูลรันไทม์ในศูนย์ข้อมูลนี้

    iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
  2. ตรวจสอบว่าเราเตอร์เชื่อมต่อได้โดยทำดังนี้

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

    ผลลัพธ์ควรมีลักษณะดังต่อไปนี้

    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. รับ UUID ของเราเตอร์ตามที่อธิบายไว้ใน รับ UUID
  4. หยุดเราเตอร์โดยทำดังนี้
    /opt/apigee/apigee-service/bin/apigee-service edge-router stop
  5. แสดงรายการพ็อดเกตเวย์ที่ใช้ได้ในองค์กรด้วยคำสั่งต่อไปนี้
    curl -u  <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"

    โปรดดู เกี่ยวกับพ็อด

  6. ยกเลิกการลงทะเบียนประเภทของเซิร์ฟเวอร์ดังนี้
    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. วิธีลบเซิร์ฟเวอร์
    curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. ถอนการติดตั้ง edge-router: วันที่
    /opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
    โปรดดู นำเซิร์ฟเวอร์ออก
  9. ล้างกฎ iptables เพื่อเปิดใช้พอร์ต 15999 ที่ถูกบล็อก: วันที่
    iptables -F

Message Processor

ส่วนนี้จะอธิบายวิธียกเลิกการทำงานของ Message Processor จาก dc-1 โปรดดู นำเซิร์ฟเวอร์ออกเพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับการนำ Message Processor ออก

เนื่องจากเราสมมติว่า dc-1 มี 12 โหนด การติดตั้งแบบคลัสเตอร์ จะมีโหนด Message Processor 2 โหนดที่กำหนดค่าไว้ใน dc-1 ดำเนินการตามคำสั่ง ต่อไปนี้ในโหนดทั้งสอง

  1. รับ UUID ของโปรแกรมประมวลผลข้อความ ตามที่อธิบายไว้ใน รับ UUID
  2. หยุดโปรแกรมประมวลผลข้อความ โดยทำดังนี้
    apigee-service edge-message-processor stop
  3. ยกเลิกการลงทะเบียนประเภทของเซิร์ฟเวอร์ดังนี้
    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. ยกเลิกการลงทะเบียนประเภทของเซิร์ฟเวอร์ดังนี้
    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. ถอนการติดตั้งโปรแกรมประมวลผลข้อความ
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
  7. ยกเลิกการลงทะเบียนเซิร์ฟเวอร์โดยทำดังนี้
    curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID

เซิร์ฟเวอร์ Qpid และ Qpidd

ส่วนนี้อธิบายวิธียกเลิกการทำงานของเซิร์ฟเวอร์ Qpid (edge-qpid-server) และ Qpidd (apigee-qpidd) มีการกำหนดค่าโหนด Qpid 2 รายการใน dc-1 คุณจึงต้องทำตามขั้นตอนต่อไปนี้สำหรับทั้ง dc-1 โหนด:

  1. รับ UUID สำหรับ Qpidd ตามที่อธิบายไว้ใน Get UUID
  2. หยุด edge-qpid-server และ apigee-qpidd:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
  3. ดูรายการ Analytics และกลุ่มผู้บริโภคดังนี้
    curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
  4. นำ Qpid ออกจากกลุ่มผู้บริโภค:
    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. นำ Qpid ออกจากกลุ่ม Analytics โดยทำดังนี้
    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. ยกเลิกการลงทะเบียนเซิร์ฟเวอร์ Qpid จากการติดตั้ง 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. นำเซิร์ฟเวอร์ Qpid ออกจากการติดตั้ง Edge:
    curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
  8. รีสตาร์ทคอมโพเนนต์ edge-qpid-server ทั้งหมดบนโหนดทั้งหมด เพื่อให้แน่ใจว่าระบบยอมรับการเปลี่ยนแปลงแล้ว ตามองค์ประกอบเหล่านั้น
    $ /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. ถอนการติดตั้ง edge-qpid-server และ apigee-qpidd
    $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall
    $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall

Postgres และ Postgresql

ศูนย์ข้อมูลที่คุณกำลังเลิกใช้อาจมีต้นแบบ Postgres หรือสแตนด์บาย Postgres ส่วนต่อไปนี้จะอธิบายถึงวิธีการเลิกใช้งาน

กำลังเลิกใช้ต้นแบบ Postgres

หมายเหตุ: หากคุณเลิกใช้ต้นแบบ Postgres อย่าลืมโปรโมตรายการใดรายการหนึ่ง โหนดสแตนด์บายที่พร้อมใช้งานเป็นโหนดหลัก Postgres ใหม่ แม้ว่าคิวPID จะบัฟเฟอร์ข้อมูล หากต้นแบบ Postgres ใช้งานไม่ได้เป็นเวลานาน คุณก็เสี่ยงต่อการสูญเสียข้อมูล Analytics

หากต้องการเลิกใช้ต้นแบบ Postgres ให้ทำดังนี้

  1. สำรองข้อมูลโหนดหลัก dc-1 Postgres โดยทำตามคำแนะนำในลิงก์ต่อไปนี้
  2. รับ UUID ของเซิร์ฟเวอร์ Postgres ตามที่อธิบายไว้ใน รับ UUID
  3. ที่ dc-1 ให้หยุด edge-postgres-server และ apigee-postgresql ในต้นฉบับปัจจุบัน:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  4. ในโหนดสแตนด์บายบน dc-2 ให้ป้อนคำสั่งต่อไปนี้เพื่อทำให้เป็นโหนดหลัก:
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>

    หมายเหตุ: หากคุณมีโหนด Postgres สแตนด์บายมากกว่า 1 โหนด คุณต้องเพิ่มรายการโฮสต์ใน ต้นแบบใหม่และอัปเดตการตั้งค่าการจำลองสำหรับโหนดสแตนด์บาย Postgres ที่มีอยู่ทั้งหมด

    หากต้องการเพิ่มรายการโฮสต์ไปยังต้นแบบ Postgres ใหม่ ให้ทำตามขั้นตอนในส่วนที่เหมาะสม ด้านล่าง

    หากมีโหนดสแตนด์บายเหลืออยู่เพียงโหนดเดียว

    ตัวอย่างเช่น สมมติว่าก่อนการเลิกใช้งาน มีการกำหนดค่าโหนด Postgres 3 รายการ คุณเลิกใช้ต้นแบบที่มีอยู่และเลื่อนระดับหนึ่งในสแตนด์บาย Postgres ที่เหลืออยู่ โหนดให้มาสเตอร์ กำหนดค่าโหนดสแตนด์บายที่เหลือโดยทำตามขั้นตอนต่อไปนี้

    1. ในรายการหลักใหม่ ให้แก้ไขการกำหนดค่า ไฟล์ที่จะตั้งค่า:
      PG_MASTER=IP_or_DNS_of_new_PG_MASTER
      PG_STANDBY=IP_or_DNS_of_PG_STANDBY
    2. เปิดใช้การจำลองบนต้นแบบใหม่:
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle

    หากมีโหนดสแตนด์บายเหลืออยู่มากกว่า 1 โหนด

    1. เพิ่มการกำหนดค่าต่อไปนี้ใน /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. ตรวจสอบว่าไฟล์ /opt/apigee/customer/application/postgresql.properties เป็นของ ผู้ใช้ Apigee:
            chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
    3. รีสตาร์ท apigee-postgresql: วันที่
      apigee-service apigee-postgresql restart
    4. วิธีอัปเดตการตั้งค่าการจำลองในโหนดสแตนด์บาย

      1. แก้ไขไฟล์การกำหนดค่า /opt/silent.conf และอัปเดต ฟิลด์ PG_MASTER ด้วยที่อยู่ IP ของต้นแบบ Postgres ใหม่
      2. นำข้อมูล Postgres เก่าออกด้วยคำสั่งต่อไปนี้
        rm -rf /opt/apigee/data/apigee-postgresql/
      3. ตั้งค่าการจำลองในโหนดสแตนด์บาย:
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    5. ยืนยันว่าตั้งค่าต้นแบบ Postgres อย่างถูกต้อง โดยป้อนคำสั่งต่อไปนี้ใน dc-2
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. นำเซิร์ฟเวอร์ Postgresql ออกและเพิ่มเซิร์ฟเวอร์ Postgresql จากกลุ่ม Analytics และกลุ่มผู้ใช้ทั่วไป
      1. นำเซิร์ฟเวอร์ Postgres เก่าออกจากกลุ่ม Analytics ทำตามวิธีการใน นำเซิร์ฟเวอร์ Postgres ออกจากกลุ่ม Analytics
      2. เพิ่มเซิร์ฟเวอร์ Postgres ใหม่ลงในกลุ่ม Analytics โดยทำตามวิธีการใน เพิ่มเซิร์ฟเวอร์ Postgres ที่มีอยู่ลงในกลุ่ม Analytics
    7. ยกเลิกการลงทะเบียนเซิร์ฟเวอร์ Postgres เก่าจาก 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. ลบเซิร์ฟเวอร์ Postgres เก่าจาก dc-1:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    9. ตอนนี้ต้นแบบเดิมของ Postgres สามารถเลิกใช้งานได้อย่างปลอดภัยแล้ว ถอนการติดตั้ง edge-postgres-server และ apigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    การเลิกใช้งานโหมดสแตนด์บายของ Postgres

    หมายเหตุ: เอกสารสำหรับ 12 โหนด การติดตั้งคลัสเตอร์จะแสดงโหนด dc-1 postgresql เป็นโหนดหลัก แต่เพื่อความสะดวก ในส่วนนี้จะถือว่าโหนด dc-1 postgresql อยู่ในโหมดสแตนด์บาย และโหนด dc-2 postgresql เป็นโหนดหลัก

    หากต้องการเลิกใช้โหมดสแตนด์บาย Postgres ให้ทำตามขั้นตอนต่อไปนี้

    1. รับ UUID ของเซิร์ฟเวอร์ Postgres โดยทำตามวิธีการใน รับ UUID
    2. หยุด apigee-postgresql บนโหนดสแตนด์บายปัจจุบันใน dc-1: วันที่
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
    3. นำเซิร์ฟเวอร์ Postgresql ออกและเพิ่มเซิร์ฟเวอร์ Postgresql จากกลุ่ม Analytics และกลุ่มผู้ใช้ทั่วไป
      1. นำเซิร์ฟเวอร์ Postgres เก่าออกจากกลุ่ม Analytics ทำตามวิธีการใน นำเซิร์ฟเวอร์ Postgres ออกจากกลุ่ม Analytics
      2. เพิ่มเซิร์ฟเวอร์ Postgres ใหม่ลงในกลุ่ม Analytics โดยทำตามวิธีการใน เพิ่มเซิร์ฟเวอร์ Postgres ที่มีอยู่ลงในกลุ่ม Analytics
    4. ยกเลิกการลงทะเบียนเซิร์ฟเวอร์ Postgres เก่าจาก 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. ลบเซิร์ฟเวอร์ Postgres เก่าจาก dc-1:
      curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
    6. ตอนนี้ต้นแบบเดิมของ Postgres สามารถเลิกใช้งานได้อย่างปลอดภัยแล้ว ถอนการติดตั้ง edge-postgres-server และ apigee-postgresql:
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall

    สวนสัตว์ Zookeeper และ Cassandra

    ส่วนนี้อธิบายวิธียกเลิกการทำงานของเซิร์ฟเวอร์ ZooKeeper และ Cassandra ในการตั้งค่าศูนย์ข้อมูล 2 แห่ง

    หากคุณมี ศูนย์ข้อมูล อย่าลืมนำการอ้างอิงถึงโหนดที่ถูกยกเลิกการใช้งานออกทั้งหมด (dc-1 ในกรณีนี้) จากไฟล์การกำหนดค่าที่ผู้ใช้ไม่ต้องดำเนินการทั้งหมดในศูนย์ข้อมูลที่เหลือทั้งหมด สำหรับโหนด Cassandra ที่จะเลิกใช้งาน ให้ทิ้งโฮสต์เหล่านั้นจาก CASS_HOSTS โหนด Cassandra ที่เหลือควรอยู่ในลำดับเดิมของ CASS_HOSTS

    หมายเหตุเกี่ยวกับ ZooKeeper: คุณต้องรักษาองค์การของผู้มีสิทธิ์เลือกตั้งไว้ในขณะที่แก้ไข พร็อพเพอร์ตี้ ZK_HOST ในไฟล์การกำหนดค่า เพื่อให้แน่ใจว่าชุดของ ZooKeeper จะใช้งานได้ต่อไป คุณต้องมีเลขคี่ ของโหนดของผู้มีสิทธิเลือกตั้งในการกำหนดค่าของคุณ สำหรับข้อมูลเพิ่มเติม โปรดดู การบำรุงรักษา Apache ZooKeeper Tasks

    วิธียกเลิกการทำงานของเซิร์ฟเวอร์ ZooKeeper และ Cassandra

    1. สำรองข้อมูลโหนด dc-1 Cassandra และ ZooKeeper โดยทำตามวิธีการในลิงก์ต่อไปนี้
    2. แสดงรายการ UUID ของ ZooKeeper และ Cassandra เซิร์ฟเวอร์ในศูนย์ข้อมูลที่เกี่ยวข้องกับโหนด Cassandra จะเลิกใช้งาน

      apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
    3. ยกเลิกการลงทะเบียนประเภทของเซิร์ฟเวอร์ดังนี้
      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. ยกเลิกการลงทะเบียนเซิร์ฟเวอร์โดยทำดังนี้
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
    5. อัปเดตไฟล์การกำหนดค่าโดยนำ IP ของโหนดที่เลิกใช้แล้วออกจาก ZK_HOSTS และ CASS_HOSTS

      ตัวอย่าง: สมมติว่าคุณมี IPs $IP1 $IP2 $IP3 ใน dc-1 และ $IP4 $IP5 $IP6 ใน dc-2 และคุณ กำลังเลิกใช้งาน dc-1 คุณควรนำ IP $IP1 $IP2 $IP3 ออกจาก ใหม่

      • รายการไฟล์การกำหนดค่าที่มีอยู่:
        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”
      • รายการไฟล์การกำหนดค่าใหม่:
        ZK_HOSTS="$IP4 $IP5 $IP6"
        CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
    6. อัปเดตไฟล์การกำหนดค่าที่ผู้ใช้ไม่ต้องดำเนินการ (แก้ไขในขั้นตอนที่ e) ด้วย IP ของรายการที่ถูกนำออก โหนดที่เลิกใช้งานแล้วและเรียกใช้การจัดการ โปรไฟล์เซิร์ฟเวอร์บนเซิร์ฟเวอร์การจัดการที่โฮสต์โหนดทั้งหมด:
      /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
    7. อัปเดตไฟล์การกำหนดค่าด้วย IP ของโหนดที่เลิกใช้งานซึ่งนำออกไปแล้ว และเรียกใช้โปรไฟล์ MP/RMP ในโหนด Router และ Message Processor ทั้งหมด
      • หากมีการกำหนดค่า Edge Router และ Message Processor ในโหนดเดียวกัน ให้ป้อน
        /opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
      • หากมีการกำหนดค่า Edge Router และ Message Processor ในโหนดแยกกัน ให้ป้อนข้อมูลต่อไปนี้

        สำหรับเราเตอร์

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

        สำหรับโปรแกรมประมวลผลข้อความ:

        /opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
    8. กำหนดค่าโหนด Qpid ทั้งหมดอีกครั้ง โดยนำ IP ของโหนดที่เลิกใช้แล้วออกจากไฟล์การตอบกลับ:
      /opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
    9. กำหนดค่าโหนด Postgres ทั้งหมดอีกครั้ง โดยนำ IP ของโหนดที่เลิกใช้แล้วออกจากไฟล์การตอบกลับ:
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
    10. เปลี่ยนคีย์สเปซ system_auth หากคุณเปิดใช้การตรวจสอบสิทธิ์ Cassandra โหนด Cassandra อัปเดตปัจจัยการจำลองของพื้นที่ปุ่ม system_auth โดยเรียกใช้ คำสั่งต่อไปนี้ วันที่
      ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};

      คำสั่งนี้ตั้งค่าปัจจัยการจำลองเป็น '3' ซึ่งแสดงถึงโหนด Cassandra 3 โหนด ในคลัสเตอร์ แก้ไขค่านี้ตามความจำเป็น

      หลังจากทำขั้นตอนนี้เสร็จแล้ว โทโพโลยีแบบ Cassandra ควร ไม่มี dc-1 ในช่องว่างใดๆ ก็ตาม

    11. ปิดใช้งานโหนด Cassandra บน dc-1 ทีละรายการ

      หากต้องการยกเลิกการทำงานของโหนด Cassandra ให้ป้อนคำสั่งต่อไปนี้

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

    12. ตรวจสอบการเชื่อมต่อของโหนด Cassandra จาก dc-1 โดยใช้คำสั่งใดคำสั่งหนึ่งต่อไปนี้
      /opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'

      หรือคำสั่งการยืนยันรองที่จะเรียกใช้ในโหนดที่เลิกใช้:

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

      คำสั่งข้างต้นควรแสดงผลเป็น

      Mode: DECOMMISSIONED

    13. เรียกใช้โปรไฟล์ DS สำหรับโหนด Cassandra และ ZooKeeper ทั้งหมดใน dc-2 โดยทำดังนี้
      /opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
    14. หยุด apigee-cassandra และ apigee-zookeeper ใน dc-1:
      apigee-service apigee-cassandra stop
      apigee-service apigee-zookeeper stop
    15. ถอนการติดตั้ง apigee-cassandra และ apigee-zookeeper ใน dc-1:
      apigee-service apigee-cassandra uninstall
      apigee-service apigee-zookeeper uninstall

    ลบการเชื่อมโยงจาก dc-1

    หากต้องการลบการเชื่อมโยงจาก dc-1 ให้ทำตามขั้นตอนต่อไปนี้

    1. ลบการเชื่อมโยงจาก dc-1
      1. แสดงรายการพ็อดทั้งหมดที่พร้อมใช้งานภายใต้องค์กร:
        curl -v -u  <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
      2. หากต้องการตรวจสอบว่าการเชื่อมโยงทั้งหมดถูกนำออกแล้วหรือไม่ ให้เรียกใช้ UUID ของเซิร์ฟเวอร์ที่เชื่อมโยงกับพ็อด:
        curl -v -u  <AdminEmailID>:<AdminPassword> \
        -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"

        หากคำสั่งนี้ไม่แสดงผล UUID แสดงว่าขั้นตอนก่อนหน้านี้ได้นำการเชื่อมโยงทั้งหมดออก และคุณก็ข้ามขั้นตอนถัดไปได้ หรือดำเนินการตามขั้นตอนถัดไป

      3. นำการเชื่อมโยงเซิร์ฟเวอร์ทั้งหมดสำหรับ UUID ที่ได้จากขั้นตอนก่อนหน้าออก
        curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
      4. ยกเลิกการเชื่อมโยงองค์กรจากพ็อด:
        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. ลบพ็อด:
      curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
    3. ลบภูมิภาค
      curl -v -u <AdminEmailID>:<AdminPassword>  "http://MS_IP:8080/v1/regions/dc-1" -X DELETE

    หมายเหตุ: หากคุณข้ามขั้นตอนใดขั้นตอนหนึ่งในการลบเซิร์ฟเวอร์ โปรดทำตามขั้นตอนข้างต้น จะแสดงข้อความแสดงข้อผิดพลาดว่า ยังมีเซิร์ฟเวอร์ในพ็อดอยู่ ลบออกโดยทำตามขั้นตอนการแก้ปัญหา ด้านล่าง ขณะปรับแต่งประเภทในคำสั่ง curl

    ณ จุดนี้ คุณได้เลิกใช้งาน dc-1 เรียบร้อยแล้ว

    ภาคผนวก

    การแก้ปัญหา

    หากหลังจากทำตามขั้นตอนก่อนหน้านี้แล้ว แต่ยังมีเซิร์ฟเวอร์อยู่ในบางพ็อดอยู่ ให้ทำตามขั้นตอนต่อไปนี้ เพื่อยกเลิกการลงทะเบียนและลบเซิร์ฟเวอร์ หมายเหตุ: เปลี่ยนประเภทและพ็อดตามที่จำเป็น

    1. รับ UUID โดยใช้คำสั่งต่อไปนี้
      apigee-adminapi.sh servers list -r dc-1 -p POD -t  --admin <AdminEmailID> --pwd  '<AdminPassword>’ --host localhost
    2. ยกเลิกการลงทะเบียนประเภทของเซิร์ฟเวอร์
      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. วิธีลบเซิร์ฟเวอร์ทีละรายการ
      curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID

    การตรวจสอบความถูกต้อง

    คุณตรวจสอบการเลิกใช้งานได้โดยใช้คำสั่งต่อไปนี้

    เซิร์ฟเวอร์การจัดการ

    เรียกใช้คำสั่งต่อไปนี้จากเซิร์ฟเวอร์การจัดการในทุกภูมิภาค

    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

    เรียกใช้คำสั่งต่อไปนี้บนทุกคอมโพเนนต์เพื่อตรวจสอบข้อกำหนดของพอร์ตสำหรับการจัดการทั้งหมด พอร์ต

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

    ตรวจสอบกลุ่ม Analytics

    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

    โหนด Cassandra/ZooKeeper

    ในโหนด Cassandra ทั้งหมด ให้ป้อน

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

    การดำเนินการนี้จะแสดงสถานะ running หรือ not running สำหรับรายการนั้น

    ใน 1 โหนด ให้ป้อน

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

    คำสั่งข้างต้นจะแสดงผลข้อมูลศูนย์ข้อมูลที่ใช้งานอยู่

    ในโหนด Zookeeper ให้ป้อนคำสั่งต่อไปนี้ก่อน

    echo ruok | nc <host> 2181

    คำสั่งนี้จะแสดง imok

    จากนั้นป้อน

    echo stat | nc <host> 2181 | grep Mode

    ค่าของ Mode ที่แสดงผลโดยคำสั่งด้านบนจะเป็นค่าใดค่าหนึ่งต่อไปนี้ observer, leader หรือ follower

    ในโหนด ZooKeeper 1 โหนด

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

    ในโหนดหลักของ Postgres ให้เรียกใช้คำสั่งต่อไปนี้

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

    ตรวจสอบว่าการตอบกลับระบุว่าโหนดเป็นโหนดหลัก

    ในโหนดสแตนด์บาย ให้ทำดังนี้

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

    ตรวจสอบว่าการตอบกลับระบุว่าโหนดคือสแตนด์บาย

    เข้าสู่ระบบฐานข้อมูล PostgreSQL โดยใช้คำสั่ง

    psql -h localhost -d apigee -U postgres

    เมื่อได้รับแจ้ง ให้ป้อน "Postgres" รหัสผ่านของผู้ใช้เป็น 'postgres' เลือก max(client_received_start_timestamp) จากข้อมูลวิเคราะห์

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

    บันทึก

    ตรวจสอบบันทึกบนคอมโพเนนต์เพื่อให้แน่ใจว่าไม่มีข้อผิดพลาด