บางครั้งคุณอาจต้องเลิกใช้งานศูนย์ข้อมูล ตัวอย่างเช่น หากคุณอัปเกรดระบบปฏิบัติการ คุณต้องติดตั้งระบบปฏิบัติการใหม่ในศูนย์ข้อมูลใหม่ แล้วจึงเลิกใช้ศูนย์ข้อมูลเก่า ส่วนต่อไปนี้แสดงตัวอย่างการเลิกใช้งานศูนย์ข้อมูล ซึ่งมีศูนย์ข้อมูล 2 แห่ง ได้แก่ dc-1 และ dc-2 ในการติดตั้งแบบคลัสเตอร์ 12 โหนด
- dc-1 คือศูนย์ข้อมูลที่จะเลิกใช้งาน
- dc-2 คือศูนย์ข้อมูลแห่งที่ 2 ซึ่งใช้ในขั้นตอนการเลิกใช้งาน
หากคุณกำลังอัปเกรดระบบปฏิบัติการ dc-2 อาจเป็นศูนย์ข้อมูลที่คุณติดตั้งระบบปฏิบัติการ (OS) เวอร์ชันใหม่ อย่างไรก็ตาม การติดตั้งระบบปฏิบัติการใหม่ไม่จำเป็นสำหรับการเลิกใช้งานศูนย์ข้อมูล
ข้อควรพิจารณาก่อนเลิกใช้งานศูนย์ข้อมูล
โปรดคำนึงถึงข้อควรพิจารณาต่อไปนี้เมื่อเลิกใช้งานศูนย์ข้อมูล
- บล็อกการเข้าชมรันไทม์และการจัดการทั้งหมดไปยังศูนย์ข้อมูลที่เลิกใช้งานแล้ว และเปลี่ยนเส้นทางไปยังศูนย์ข้อมูลอื่นๆ
- หลังจากเลิกใช้งานศูนย์ข้อมูลแล้ว คุณจะมีประสิทธิภาพการทำงานลดลงในคลัสเตอร์ Apigee เพื่อชดเชยการสูญเสียนี้ ให้พิจารณาเพิ่มความจุในศูนย์ข้อมูลที่เหลือหรือเพิ่มศูนย์ข้อมูลหลังจากเลิกใช้งาน
- ในระหว่างกระบวนการเลิกใช้งาน อาจมีการสูญเสียข้อมูลวิเคราะห์ ทั้งนี้ขึ้นอยู่กับคอมโพเนนต์การวิเคราะห์ที่ติดตั้งในศูนย์ข้อมูลที่เลิกใช้งาน ดูรายละเอียดเพิ่มเติมได้ที่หัวข้อเพิ่มหรือนำโหนด Qpid ออก
- ก่อนที่จะเลิกใช้งานศูนย์ข้อมูล คุณควรทำความเข้าใจวิธีกำหนดค่าคอมโพเนนต์ทั้งหมดในศูนย์ข้อมูลทั้งหมด โดยเฉพาะเซิร์ฟเวอร์ OpenLDAP, ZooKeeper, Cassandra และ Postgres นอกจากนี้ คุณควรสำรองข้อมูลคอมโพเนนต์ทั้งหมดและการกำหนดค่าของคอมโพเนนต์ด้วย
ก่อนจะเริ่มต้น
- เซิร์ฟเวอร์การจัดการ: ขั้นตอนการเลิกใช้งานทั้งหมดขึ้นอยู่กับเซิร์ฟเวอร์การจัดการเป็นอย่างมาก หากคุณมี Management Server เพียงเครื่องเดียว เราขอแนะนำให้ติดตั้งคอมโพเนนต์ Management Server ใหม่ในศูนย์ข้อมูลอื่นที่ไม่ใช่ dc-1 ก่อนที่จะเลิกใช้งาน Management Server ใน dc-1 และตรวจสอบว่ามี Management Server เครื่องใดเครื่องหนึ่งพร้อมใช้งานอยู่เสมอ
- เราเตอร์: ก่อนที่จะเลิกใช้งานเราเตอร์ ให้ปิดใช้ความสามารถในการเข้าถึงของเราเตอร์ โดยการบล็อกพอร์ต 15999 ตรวจสอบว่าไม่มีการรับส่งข้อมูลรันไทม์ไปยังเราเตอร์ที่เลิกใช้งานแล้ว
Cassandra และ ZooKeeper: ส่วนด้านล่างจะอธิบายวิธีเลิกใช้งาน dc-1 ในการตั้งค่าศูนย์ข้อมูล 2 แห่ง หากคุณมีศูนย์ข้อมูลมากกว่า 2 แห่ง โปรดตรวจสอบว่าได้นำการอ้างอิงทั้งหมดไปยังโหนดที่เลิกใช้งาน (dc-1 ในกรณีนี้) ออกจากไฟล์การกำหนดค่าแบบไม่มีการโต้ตอบทั้งหมดในศูนย์ข้อมูลที่เหลือทั้งหมด สำหรับโหนด Cassandra ที่จะเลิกใช้งาน ให้ลบโฮสต์เหล่านั้นออกจาก
CASS_HOSTSโหนด Cassandra ที่เหลือควรยังคงอยู่ในลำดับเดิมของCASS_HOSTSPostgres: หากคุณเลิกใช้งาน Postgres Master ให้ตรวจสอบว่าได้โปรโมตโหนดสแตนด์บายที่พร้อมใช้งานโหนดใดโหนดหนึ่งเป็น Postgres Master ใหม่ แม้ว่าเซิร์ฟเวอร์ QPID จะเก็บข้อมูลบัฟเฟอร์ไว้ในคิว แต่หาก Postgres หลักไม่พร้อมใช้งานเป็นเวลานาน คุณอาจเสี่ยงต่อการสูญเสียข้อมูลวิเคราะห์
ข้อกำหนดเบื้องต้น
ก่อนที่จะเลิกใช้งานคอมโพเนนต์ใดๆ เราขอแนะนำให้คุณสำรองข้อมูลโหนดทั้งหมดให้เสร็จสมบูรณ์ ใช้ขั้นตอนสำหรับ Edge เวอร์ชันปัจจุบันเพื่อสำรองข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับการสำรองข้อมูลได้ที่หัวข้อการสำรองและกู้คืนข้อมูล
หมายเหตุ: หากคุณมีโหนด Cassandra หรือ ZooKeeper หลายโหนด ให้สำรองข้อมูลทีละโหนด เนื่องจากกระบวนการสำรองข้อมูลจะปิด ZooKeeper ชั่วคราว
- ตรวจสอบว่า Edge ทำงานอยู่ก่อนที่จะเลิกใช้งาน โดยใช้คำสั่งต่อไปนี้
/opt/apigee/apigee-service/bin/apigee-all status
- ตรวจสอบว่าไม่มีการเข้าชมรันไทม์ที่กำลังมาถึงศูนย์ข้อมูลที่คุณกำลังเลิกใช้งาน
ลำดับการเลิกใช้งานคอมโพเนนต์
หากติดตั้ง Edge สำหรับ Private Cloud ในหลายโหนด คุณควรเลิกใช้งานคอมโพเนนต์ Edge ในโหนดเหล่านั้นตามลำดับต่อไปนี้
- Edge UI (edge-ui)
- Management Server (edge-management-server)
- OpenLDAP (apigee-openldap)
- เราเตอร์ (Edge Router)
- Message Processor (edge-message-processor)
- เซิร์ฟเวอร์ Qpid และ Qpidd (edge-qpid-server และ apigee-qpidd)
- ฐานข้อมูล Postgres และ PostgreSQL (edge-postgres-server และ apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- Cassandra (apigee-cassandra)
ส่วนต่อไปนี้จะอธิบายวิธีเลิกใช้งานคอมโพเนนต์แต่ละรายการ
Edge UI
หากต้องการหยุดและถอนการติดตั้งคอมโพเนนต์ 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 ให้ทำตามขั้นตอนต่อไปนี้
- หยุดเซิร์ฟเวอร์การจัดการใน dc-1 โดยทำดังนี้
apigee-service edge-management-server stop
- ค้นหา UUID ของเซิร์ฟเวอร์การจัดการที่ลงทะเบียนใน dc-1 โดยทำดังนี้
curl -u <AdminEmailID>:'<AdminPassword>' \ -X GET “http://{MS_IP}:8080/v1/servers?pod=central®ion=dc-1&type=management-server” - ประเภทของเซิร์ฟเวอร์ที่ยกเลิกการลงทะเบียน:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=management-server®ion=dc-1&pod=central&uuid=UUID&action=remove" - ลบเซิร์ฟเวอร์ หมายเหตุ: หากมีการติดตั้งคอมโพเนนต์อื่นๆ ในเซิร์ฟเวอร์นี้ด้วย ให้ยกเลิกการลงทะเบียนคอมโพเนนต์ทั้งหมดก่อนที่จะลบ UUID
curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID} - ถอนการติดตั้งคอมโพเนนต์ Management Server ใน dc-1:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
Open LDAP
ส่วนนี้จะอธิบายวิธีเลิกใช้งาน OpenLDAP ใน dc-1
หมายเหตุ: หากคุณมีศูนย์ข้อมูลมากกว่า 2 แห่ง โปรดดูหัวข้อการตั้งค่าที่มีศูนย์ข้อมูลมากกว่า 2 แห่งด้านล่าง
หากต้องการเลิกใช้ OpenLDAP ใน dc-1 ให้ทำตามขั้นตอนต่อไปนี้
- สำรองข้อมูลโหนด OpenLDAP dc-1 โดยทำตามขั้นตอนในหัวข้อวิธีสำรองข้อมูล
หยุดการจำลองข้อมูลระหว่างศูนย์ข้อมูล 2 แห่ง ได้แก่ dc-1 และ dc-2 โดยทำตามขั้นตอนต่อไปนี้ในศูนย์ข้อมูลทั้ง 2 แห่ง
- ตรวจสอบสถานะปัจจุบัน ดังนี้
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 - สร้างไฟล์
break_repl.ldifที่มีคำสั่งต่อไปนี้dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcMirrorMode - เรียกใช้คำสั่ง
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"
- ตรวจสอบสถานะปัจจุบัน ดังนี้
คุณสามารถยืนยันว่า dc-2 ไม่ได้จำลองไปยัง dc-1 อีกต่อไปโดยสร้างรายการใน LDAP ของ dc-2 และตรวจสอบว่ารายการดังกล่าวไม่ปรากฏใน LDAP ของ dc-1
หรือจะทำตามขั้นตอนด้านล่างก็ได้ ซึ่งจะสร้างผู้ใช้ที่มีสิทธิ์อ่านอย่างเดียวในโหนด OpenLDAP dc-2 แล้วตรวจสอบว่ามีการจำลองผู้ใช้หรือไม่ จากนั้นระบบจะลบผู้ใช้
- สร้างไฟล์
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} - เพิ่มผู้ใช้ด้วยคำสั่ง `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"
- ค้นหาผู้ใช้ใน 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
- นำผู้ใช้ที่มีสิทธิ์อ่านอย่างเดียวที่คุณเพิ่มไว้ก่อนหน้านี้ออก โดยทำดังนี้
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"
- สร้างไฟล์
- หยุด OpenLDAP ใน dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- ถอนการติดตั้งคอมโพเนนต์ OpenLDAP ใน dc-1 โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
เราเตอร์
ส่วนนี้จะอธิบายวิธีเลิกใช้งานเราเตอร์ ดูรายละเอียดเพิ่มเติมเกี่ยวกับการนำเราเตอร์ออกได้ที่ นำเซิร์ฟเวอร์ออก
ขั้นตอนต่อไปนี้จะเลิกใช้งานเราเตอร์จาก dc-1 หากมีโหนดเราเตอร์หลายโหนดที่กำหนดค่าใน dc-1 ให้ทำตามขั้นตอนในโหนดเราเตอร์ทั้งหมดทีละโหนด
หมายเหตุ: ในที่นี้ถือว่ามีการกำหนดค่าพอร์ตการตรวจสอบประสิทธิภาพ 15999 ของเราเตอร์ในตัวจัดสรรภาระงาน และการบล็อกพอร์ต 15999 จะทำให้เราเตอร์เข้าถึงไม่ได้ คุณอาจต้องมีสิทธิ์เข้าถึงระดับรูทเพื่อบล็อกพอร์ต
หากต้องการเลิกใช้งานเราเตอร์ ให้ทำตามขั้นตอนต่อไปนี้
ปิดใช้ความสามารถในการเข้าถึงของเราเตอร์โดยบล็อกพอร์ต 15999 ซึ่งเป็นพอร์ตการตรวจสอบประสิทธิภาพการทำงาน ตรวจสอบว่าการรับส่งข้อมูลรันไทม์ถูกบล็อกในศูนย์ข้อมูลนี้:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
ตรวจสอบว่าเราเตอร์เข้าถึงได้โดยทำดังนี้
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
- รับ UUID ของเราเตอร์ตามที่อธิบายไว้ในรับ UUID
- หยุดเราเตอร์:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- แสดงรายการพ็อดเกตเวย์ที่พร้อมใช้งานในองค์กรโดยใช้คำสั่งต่อไปนี้
curl -u <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods" - ยกเลิกการลงทะเบียนประเภทของเซิร์ฟเวอร์โดยทำดังนี้
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" - ลบเซิร์ฟเวอร์:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID - ถอนการติดตั้ง
edge-router: โปรดดูหัวข้อ นำเซิร์ฟเวอร์ออก/opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
- ล้างกฎ
iptablesเพื่อเปิดใช้พอร์ต 15999 ที่ถูกบล็อกiptables -F
Message Processor
ส่วนนี้จะอธิบายวิธีเลิกใช้งาน Message Processor จาก dc-1 ดูรายละเอียดเพิ่มเติมเกี่ยวกับการนำ Message Processor ออกได้ที่ นำเซิร์ฟเวอร์ออก
เนื่องจากเราสมมติว่า dc-1 มีการติดตั้งแบบคลัสเตอร์ 12 โหนด จึงมีการกำหนดค่าโหนด Message Processor 2 โหนดใน dc-1 เรียกใช้คำสั่งต่อไปนี้ในทั้ง 2 โหนด
- รับ UUID ของ Message Processor ตามที่อธิบายไว้ในรับ UUID
- หยุด Message Processor โดยทำดังนี้
apigee-service edge-message-processor stop
- ยกเลิกการลงทะเบียนประเภทของเซิร์ฟเวอร์โดยทำดังนี้
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"/pre> - 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" - ยกเลิกการลงทะเบียนประเภทของเซิร์ฟเวอร์โดยทำดังนี้
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- ถอนการติดตั้ง Message Processor โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- ยกเลิกการลงทะเบียนเซิร์ฟเวอร์โดยทำดังนี้
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 โหนด
- รับ UUID สำหรับ Qpidd ตามที่อธิบายไว้ในรับ UUID
- หยุด
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 - ดูรายการกลุ่ม Analytics และกลุ่มผู้บริโภค
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax - นำ 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}" - นำ 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" - ยกเลิกการลงทะเบียนเซิร์ฟเวอร์ Qpid จากการติดตั้ง Edge โดยทำดังนี้
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=qpid-server®ion=dc-1&pod=central&uuid={QPID_UUID}&action=remove" - นำเซิร์ฟเวอร์ Qpid ออกจากการติดตั้ง Edge โดยทำดังนี้
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID - รีสตาร์ทคอมโพเนนต์ 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
- ถอนการติดตั้ง 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 Master
หมายเหตุ: หากคุณเลิกใช้งาน Postgres Master ให้ตรวจสอบว่าได้โปรโมตโหนดสแตนด์บายที่พร้อมใช้งานโหนดใดโหนดหนึ่งเป็น Postgres Master ใหม่ แม้ว่าคิว QPID จะบัฟเฟอร์ข้อมูล แต่หาก Postgres Master ไม่พร้อมใช้งานเป็นเวลานาน คุณอาจเสี่ยงต่อการสูญเสียข้อมูลวิเคราะห์
วิธีเลิกใช้งาน Postgres Master
- สำรองข้อมูลโหนดหลัก Postgres ของ dc-1 โดยทำตามวิธีการในลิงก์ต่อไปนี้
- รับ UUID ของเซิร์ฟเวอร์ Postgres ตามที่อธิบายไว้ในรับ UUID
- ใน 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 - ในโหนดสแตนด์บายบน dc-2 ให้ป้อนคำสั่งต่อไปนี้เพื่อทำให้เป็นโหนดหลัก
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>
หมายเหตุ: หากคุณมีโหนด Postgres สำรองมากกว่า 1 โหนด คุณต้องเพิ่มรายการโฮสต์ในมาสเตอร์ใหม่และอัปเดตการตั้งค่าการจำลองสำหรับโหนด Postgres สำรองที่ใช้ได้ทั้งหมด
หากต้องการเพิ่มรายการโฮสต์ไปยัง Postgres Master ใหม่ ให้ทำตามขั้นตอนในส่วนที่เหมาะสมด้านล่าง
หากเหลือโหนดสแตนด์บายเพียงโหนดเดียว
ตัวอย่างเช่น สมมติว่าก่อนการเลิกใช้งาน มีการกำหนดค่าโหนด Postgres ไว้ 3 โหนด คุณเลิกใช้งานมาสเตอร์ที่มีอยู่และเลื่อนระดับโหนดสแตนด์บาย Postgres ที่เหลืออยู่โหนดหนึ่งให้เป็นมาสเตอร์ กำหนดค่าโหนดสแตนด์บายที่เหลือโดยทำตามขั้นตอนต่อไปนี้
- ในมาสเตอร์ใหม่ ให้แก้ไขไฟล์การกำหนดค่าเพื่อตั้งค่าต่อไปนี้
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- เปิดใช้การจำลองในมาสเตอร์ใหม่โดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
หากมีโหนดสแตนด์บายเหลืออยู่มากกว่า 1 โหนด
- เพิ่มการกำหนดค่าต่อไปนี้ใน
/opt/apigee/customer/application/postgresql.propertiesconf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
- ตรวจสอบว่าไฟล์ /opt/apigee/customer/application/postgresql.properties เป็นของผู้ใช้ apigee:
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties - รีสตาร์ท
apigee-postgresql:apigee-service apigee-postgresql restart
- แก้ไขไฟล์การกำหนดค่า
/opt/silent.confและอัปเดตช่องPG_MASTERด้วยที่อยู่ IP ของ Postgres Master ใหม่ - นำข้อมูล Postgres เก่าออกด้วยคำสั่งต่อไปนี้
rm -rf /opt/apigee/data/apigee-postgresql/
- ตั้งค่าการจำลองในโหนดสแตนด์บายโดยทำดังนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- ยืนยันว่าตั้งค่า Postgres Master อย่างถูกต้องแล้วโดยป้อนคำสั่งต่อไปนี้ใน dc-2
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- นำเซิร์ฟเวอร์ Postgresql ออกและเพิ่มเซิร์ฟเวอร์ Postgresql จากกลุ่ม Analytics และกลุ่มผู้ใช้
- นำเซิร์ฟเวอร์ Postgres เก่าออกจากกลุ่มการวิเคราะห์โดยทำตามวิธีการในหัวข้อ นำเซิร์ฟเวอร์ Postgres ออกจากกลุ่มการวิเคราะห์
- เพิ่มเซิร์ฟเวอร์ Postgres ใหม่ลงในกลุ่ม Analytics โดยทำตามวิธีการในหัวข้อ เพิ่มเซิร์ฟเวอร์ Postgres ที่มีอยู่ลงในกลุ่ม Analytics
- ยกเลิกการลงทะเบียนเซิร์ฟเวอร์ 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"< - ลบเซิร์ฟเวอร์ postgres เก่าออกจาก dc-1 โดยทำดังนี้
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID - ตอนนี้คุณสามารถเลิกใช้งาน Postgres Master เก่าได้อย่างปลอดภัยแล้ว ถอนการติดตั้ง
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 Standby ให้ทำตามขั้นตอนต่อไปนี้
- รับ UUID ของเซิร์ฟเวอร์ Postgres โดยทำตามวิธีการในหัวข้อรับ UUID
- หยุด
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 - นำเซิร์ฟเวอร์ Postgresql ออกและเพิ่มเซิร์ฟเวอร์ Postgresql จากกลุ่ม Analytics และกลุ่มผู้ใช้
- นำเซิร์ฟเวอร์ Postgres เก่าออกจากกลุ่มการวิเคราะห์โดยทำตามวิธีการในหัวข้อ นำเซิร์ฟเวอร์ Postgres ออกจากกลุ่มการวิเคราะห์
- เพิ่มเซิร์ฟเวอร์ Postgres ใหม่ลงในกลุ่ม Analytics โดยทำตามวิธีการในหัวข้อ เพิ่มเซิร์ฟเวอร์ Postgres ที่มีอยู่ลงในกลุ่ม Analytics
- ยกเลิกการลงทะเบียนเซิร์ฟเวอร์ 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"< - ลบเซิร์ฟเวอร์ postgres เก่าออกจาก dc-1 โดยทำดังนี้
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID - ตอนนี้คุณสามารถเลิกใช้งาน Postgres Master เก่าได้อย่างปลอดภัยแล้ว ถอนการติดตั้ง
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
- สำรองข้อมูลโหนด Cassandra และ ZooKeeper ของ dc-1 โดยทำตามวิธีการในลิงก์ต่อไปนี้
แสดงรายการ UUID ของเซิร์ฟเวอร์ ZooKeeper และ Cassandra ในศูนย์ข้อมูลที่โหนด Cassandra กำลังจะเลิกใช้งาน
apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
- ยกเลิกการลงทะเบียนประเภทของเซิร์ฟเวอร์โดยทำดังนี้
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®ion=dc-1&pod=central&uuid=UUID&action=remove"
- ยกเลิกการลงทะเบียนเซิร์ฟเวอร์โดยทำดังนี้
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- อัปเดตไฟล์การกำหนดค่าด้วย 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"
- รายการไฟล์การกำหนดค่าที่มีอยู่:
- อัปเดตไฟล์การกำหนดค่าแบบไม่มีการโต้ตอบ (แก้ไขในขั้นตอน e) ด้วย IP ของโหนดที่เลิกใช้งานซึ่งถูกนำออกแล้ว และเรียกใช้โปรไฟล์เซิร์ฟเวอร์การจัดการในโหนดทั้งหมดที่โฮสต์เซิร์ฟเวอร์การจัดการ โดยทำดังนี้
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- อัปเดตไฟล์การกำหนดค่าด้วย IP ของโหนดที่เลิกใช้งานซึ่งถูกนำออกแล้ว และเรียกใช้โปรไฟล์ MP/RMP ในโหนดเราเตอร์และ 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
สำหรับ Message Processor ให้ทำดังนี้
/opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
- หากกำหนดค่า Edge Router และ Message Processor ในโหนดเดียวกัน ให้ป้อนค่าต่อไปนี้
- กำหนดค่าโหนด Qpid ทั้งหมดใหม่ โดยนำ IP ของโหนดที่เลิกใช้งานออกจากไฟล์คำตอบ ดังนี้
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- กำหนดค่าโหนด Postgres ทั้งหมดใหม่ โดยนำ IP ของโหนดที่เลิกใช้งานออกจากไฟล์คำตอบ ดังนี้
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
- แก้ไขคีย์สเปซ
system_authหากคุณเปิดใช้การตรวจสอบสิทธิ์ Cassandra ในโหนด Cassandra ที่มีอยู่ ให้อัปเดตปัจจัยการจำลองของคีย์สเปซsystem_authโดยเรียกใช้คำสั่งต่อไปนี้ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};คำสั่งนี้จะตั้งค่าปัจจัยการจำลองเป็น
'3'ซึ่งหมายถึงโหนด Cassandra 3 โหนดในคลัสเตอร์ แก้ไขค่านี้ตามความจำเป็นหลังจากทำขั้นตอนนี้เสร็จแล้ว โทโพโลยี Cassandra ไม่ควรมี
dc-1ในคีย์สเปซใดๆ - เลิกใช้งานโหนด Cassandra ใน dc-1 ทีละโหนด
หากต้องการเลิกใช้งานโหนด Cassandra ให้ป้อนคำสั่งต่อไปนี้
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- ตรวจสอบการเชื่อมต่อของโหนด Cassandra จาก dc-1 โดยใช้คำสั่งใดคำสั่งหนึ่งต่อไปนี้
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
หรือคำสั่งการยืนยันรองที่จะเรียกใช้ในโหนดที่เลิกใช้งานแล้ว ดังนี้
/opt/apigee/apigee-cassandra/bin/nodetool netstats
คำสั่งข้างต้นควรแสดงผลดังนี้
Mode: DECOMMISSIONED
- เรียกใช้โปรไฟล์ DS สำหรับโหนด Cassandra และ ZooKeeper ทั้งหมดใน dc-2 โดยทำดังนี้
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- หยุด
apigee-cassandraและapigee-zookeeperใน dc-1:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop - ถอนการติดตั้ง
apigee-cassandraและapigee-zookeeperใน dc-1:apigee-service apigee-cassandra uninstall
apigee-service apigee-zookeeper uninstall
ลบการเชื่อมโยงออกจาก dc-1
หากต้องการลบการเชื่อมโยงจาก dc-1 ให้ทำตามขั้นตอนต่อไปนี้
- ลบการเชื่อมโยงออกจาก dc-1
- แสดงรายการพ็อดทั้งหมดที่มีในองค์กร
curl -v -u <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- หากต้องการตรวจสอบว่าได้นำการเชื่อมโยงทั้งหมดออกแล้วหรือไม่ ให้รับ UUID ของเซิร์ฟเวอร์ที่เชื่อมโยงกับพ็อดโดยทำดังนี้
curl -v -u <AdminEmailID>:<AdminPassword> \ -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"
หากคำสั่งนี้ไม่แสดงผล UUID ใดๆ แสดงว่าขั้นตอนก่อนหน้านี้ได้นำการเชื่อมโยงทั้งหมดออกแล้ว และคุณสามารถข้ามขั้นตอนถัดไปได้ หรือทำตามขั้นตอนถัดไป
- นำการเชื่อมโยงเซิร์ฟเวอร์ทั้งหมดสำหรับ UUID ที่ได้ในขั้นตอนก่อนหน้าออก โดยทำดังนี้
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- ยกเลิกการเชื่อมโยงองค์กรจากพ็อด:
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove®ion=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
- แสดงรายการพ็อดทั้งหมดที่มีในองค์กร
- ลบพ็อดโดยทำดังนี้
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- ลบภูมิภาค
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
หมายเหตุ: หากคุณข้ามขั้นตอนใดขั้นตอนหนึ่งในการลบเซิร์ฟเวอร์ ขั้นตอนข้างต้นจะแสดงข้อความแสดงข้อผิดพลาดว่าเซิร์ฟเวอร์บางเครื่องในพ็อดยังคงอยู่ ดังนั้น ให้ลบออกโดยทำตามขั้นตอนการแก้ปัญหาด้านล่างขณะปรับแต่งประเภทในคำสั่ง
curlถึงตอนนี้ คุณได้เลิกใช้งาน dc-1 เสร็จสมบูรณ์แล้ว
ภาคผนวก
การแก้ปัญหา
หากทำตามขั้นตอนก่อนหน้าแล้ว แต่ยังมีเซิร์ฟเวอร์อยู่ในพ็อดบางพ็อด ให้ทำตามขั้นตอนต่อไปนี้เพื่อยกเลิกการลงทะเบียนและลบเซิร์ฟเวอร์ หมายเหตุ: เปลี่ยนประเภทและพ็อดตามความจำเป็น
- รับ UUID โดยใช้คำสั่งต่อไปนี้
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- ประเภทของเซิร์ฟเวอร์ที่ยกเลิกการลงทะเบียน:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
- ลบเซิร์ฟเวอร์ทีละรายการ โดยทำดังนี้
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®ion=dc-1 curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1 curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics®ion=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สำหรับโหนดนั้นๆในโหนดเดียว ให้ป้อนดังนี้
/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;บันทึก
ตรวจสอบบันทึกในคอมโพเนนต์เพื่อให้แน่ใจว่าไม่มีข้อผิดพลาด
- ในมาสเตอร์ใหม่ ให้แก้ไขไฟล์การกำหนดค่าเพื่อตั้งค่าต่อไปนี้