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

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

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

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

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

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

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

ก่อนจะเริ่ม

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

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

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

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

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

  • ตรวจสอบว่า 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. Message Processor (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. Cassandra (apigee-cassandra)

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

UI ของ Edge

หากต้องการหยุดและถอนการติดตั้งคอมโพเนนต์ UI ของ Edge ใน 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

Open LDAP

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

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

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

  1. สำรองข้อมูลโหนด OpenLDAP dc-1 โดยทำตามขั้นตอนในหัวข้อวิธีสำรองข้อมูล
  2. หยุดการทําสําเนาข้อมูลระหว่างศูนย์ข้อมูล 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 อีกต่อไปโดยการสร้างรายการใน LDAP ของ dc-2 และตรวจสอบว่ารายการดังกล่าวไม่แสดงใน 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 ทั้ง 2 รายการไม่ได้ทำ репликข้อมูลอีกต่อไป
      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&region=dc-1&pod=gateway-1&uuid=UUID&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 โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับการนําตัวประมวลผลข้อความออกที่หัวข้อ นําเซิร์ฟเวอร์ออก

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

  1. รับ UUID ของตัวประมวลผลข้อความตามที่อธิบายไว้ในหัวข้อรับ UUID
  2. หยุด Message Processor โดยทำดังนี้
    apigee-service edge-message-processor stop
  3. ยกเลิกการลงทะเบียนประเภทของเซิร์ฟเวอร์โดยทำดังนี้
    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"
  4. ยกเลิกการเชื่อมโยงสภาพแวดล้อมกับโปรแกรมประมวลผลข้อความ
    curl -H "Content-Type:application/x-www-form-urlencoded" <AdminEmailID>:'<AdminPassword>’  \
    -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 คุณจึงต้องทำตามขั้นตอนต่อไปนี้สำหรับทั้ง 2 โหนด

  1. รับ UUID สำหรับ Qpidd ตามที่อธิบายไว้ในรับ 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 ออกจากกลุ่มข้อมูลวิเคราะห์
    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 master หรือ Postgres standby ส่วนต่อไปนี้จะอธิบายวิธีเลิกใช้งาน

การเลิกใช้งานต้นทาง Postgres

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

วิธีเลิกใช้งานต้นทาง Postgres

  1. สำรองข้อมูลโหนดหลัก Postgres ของ dc-1 โดยทำตามวิธีการในลิงก์ต่อไปนี้
  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 โหนดเป็นต้นทาง กำหนดค่าโหนดสแตนด์บายที่เหลือด้วยขั้นตอนต่อไปนี้

    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 master อย่างถูกต้องแล้วโดยป้อนคําสั่งต่อไปนี้ใน dc-2
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
    6. นําเซิร์ฟเวอร์ Postgresql ออกจากกลุ่มข้อมูลวิเคราะห์และกลุ่มผู้บริโภค แล้วเพิ่มกลับเข้าไป
      1. นําเซิร์ฟเวอร์ Postgres เก่าออกจากกลุ่มข้อมูลวิเคราะห์โดยทําตามวิธีการในหัวข้อ นําเซิร์ฟเวอร์ Postgres ออกจากกลุ่มข้อมูลวิเคราะห์
      2. เพิ่มเซิร์ฟเวอร์ Postgres ใหม่ลงในกลุ่มข้อมูลวิเคราะห์โดยทําตามวิธีการในหัวข้อ เพิ่มเซิร์ฟเวอร์ Postgres ที่มีอยู่ลงในกลุ่มข้อมูลวิเคราะห์
    7. ยกเลิกการลงทะเบียนเซิร์ฟเวอร์ postgres เดิมจาก dc-1
      curl -u <AdminEmailID>:<AdminPassword> -X POST http://{MS_IP}:8080/v1/servers \
      -d "type=postgres-server®ion=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. ตอนนี้คุณสามารถเลิกใช้งาน PostgreSQL หลักตัวเก่าได้อย่างปลอดภัยแล้ว ถอนการติดตั้ง 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 นอตแสดงโหนด postgresql dc-1 เป็นโหนดหลัก แต่ในส่วนนี้เราจะถือว่าโหนด postgresql dc-1 เป็นโหนดสแตนด์บายและโหนด postgresql dc-2 เป็นโหนดหลักเพื่อความสะดวก

    หากต้องการเลิกใช้งาน 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 ออกจากกลุ่มข้อมูลวิเคราะห์และกลุ่มผู้บริโภค
      1. นําเซิร์ฟเวอร์ Postgres เก่าออกจากกลุ่มข้อมูลวิเคราะห์โดยทําตามวิธีการในหัวข้อ นําเซิร์ฟเวอร์ Postgres ออกจากกลุ่มข้อมูลวิเคราะห์
      2. เพิ่มเซิร์ฟเวอร์ Postgres ใหม่ลงในกลุ่มข้อมูลวิเคราะห์โดยทําตามวิธีการในหัวข้อ เพิ่มเซิร์ฟเวอร์ Postgres ที่มีอยู่ลงในกลุ่มข้อมูลวิเคราะห์
    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. ตอนนี้คุณสามารถเลิกใช้งาน PostgreSQL หลักตัวเก่าได้อย่างปลอดภัยแล้ว ถอนการติดตั้ง 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 แห่ง

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

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

    วิธีเลิกใช้งานเซิร์ฟเวอร์ ZooKeeper และ Cassandra

    1. สำรองข้อมูลโหนด Cassandra และ ZooKeeper ของ dc-1 โดยทำตามวิธีการในลิงก์ต่อไปนี้
    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

      ตัวอย่างเช่น สมมติว่าคุณมี IP $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 ในโหนดเราเตอร์และโหนดโปรแกรมประมวลผลข้อความทั้งหมด โดยทําดังนี้
      • หากกำหนดค่า 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

        สำหรับ Message Processor

        /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

    คุณได้เลิกใช้งาน 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

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

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

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

    1. เรียกใช้คําสั่งต่อไปนี้จากเซิร์ฟเวอร์การจัดการในทุกภูมิภาค
      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
    2. เรียกใช้คําสั่งต่อไปนี้ในคอมโพเนนต์ทั้งหมดเพื่อตรวจสอบข้อกําหนดของพอร์ตสําหรับพอร์ตการจัดการทั้งหมด
      curl -v http://MS_IP:8080/v1/servers/self
    3. ตรวจสอบกลุ่มข้อมูลวิเคราะห์
      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
    4. โหนด Cassandra/ZooKeeper

      1. ในโหนด Cassandra ทั้งหมด ให้ป้อนข้อมูลต่อไปนี้
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift

        ซึ่งจะแสดงสถานะ running หรือ not running สำหรับโหนดนั้นๆ

      2. ในโหนดหนึ่ง ให้ป้อนข้อมูลต่อไปนี้
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
        /opt/apigee/apigee-cassandra/bin/nodetool -h <host> status

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

      3. ในโหนด ZooKeeper ให้ป้อนข้อมูลต่อไปนี้ก่อน
        echo ruok | nc <host> 2181
        

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

        ถัดไป ให้ป้อนข้อมูลต่อไปนี้

        echo stat | nc <host> 2181 | grep Mode
        

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

      4. ในโหนด ZooKeeper 1 โหนด ให้เรียกใช้คำสั่งต่อไปนี้
        /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
      5. ในโหนดหลักของ Postgres ให้เรียกใช้คำสั่งต่อไปนี้
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master

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

      6. ในโหนดสแตนด์บาย ให้เรียกใช้คำสั่งต่อไปนี้
        /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby

        ตรวจสอบว่าคำตอบยืนยันว่าโหนดเป็นโหนดสแตนด์บาย

      7. เข้าสู่ระบบฐานข้อมูล PostgreSQL โดยใช้คําสั่งต่อไปนี้
        psql -h localhost -d apigee -U postgres

        เมื่อได้รับข้อความแจ้ง ให้ป้อนรหัสผ่านของผู้ใช้ postgres (ค่าเริ่มต้น: postgres)

        จากนั้นเรียกใช้การค้นหาต่อไปนี้เพื่อตรวจสอบ client_received_start_timestamp สูงสุด

        SELECT max(client_received_start_timestamp) FROM "analytics"."$org.$env.fact" LIMIT 1;

      บันทึก

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