ย้อนกลับ Apigee Edge 4.53.01

หากพบข้อผิดพลาดระหว่างการอัปเดตเป็น Edge 4.53.01 คุณสามารถย้อนกลับคอมโพเนนต์ที่ทำให้เกิดข้อผิดพลาด แล้วลองอัปเดตอีกครั้ง

คุณสามารถย้อนกลับ Edge 4.53.01 ไปยังเวอร์ชันการเปิดตัวหลักต่อไปนี้ได้

  • เวอร์ชัน 4.53.00
  • เวอร์ชัน 4.52.02

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

ย้อนกลับไปเป็นเวอร์ชัน ข้อควรพิจารณาเป็นพิเศษสำหรับซอฟต์แวร์
4.53.00 Zookeeper, Postgres, LDAP
4.52.02 Zookeeper, Cassandra, Postgres, LDAP

สถานการณ์ที่คุณอาจต้องทำการย้อนกลับมีดังนี้

ย้อนกลับไปเป็นรุ่นหลักหรือรุ่นย่อยก่อนหน้า เช่น จาก 4.53.01 เป็น 4.53.00

ดูข้อมูลเพิ่มเติมได้ที่กระบวนการเผยแพร่ Apigee Edge

ลำดับการย้อนกลับ

การย้อนกลับคอมโพเนนต์ควรทำในลำดับย้อนกลับของการอัปเกรด โดยยกเว้นเซิร์ฟเวอร์การจัดการที่ควรย้อนกลับหลังจาก Cassandra ลำดับการย้อนกลับทั่วไปสำหรับ Private Cloud 4.53.01 จะมีลักษณะดังนี้

  1. ย้อนกลับ Qpid, คอมโพเนนต์อื่นๆ ที่เกี่ยวข้องกับการวิเคราะห์ และ Postgres
  2. ย้อนกลับเราเตอร์และตัวประมวลผลข้อความ
  3. ย้อนกลับ Cassandra, Zookeeper
  4. เซิร์ฟเวอร์การจัดการการย้อนกลับ
  5. ย้อนกลับ LDAP

ตัวอย่างเช่น สมมติว่าคุณได้อัปเกรดคลัสเตอร์ Cassandra ทั้งหมด เซิร์ฟเวอร์การจัดการทั้งหมด และ RMP บางรายการเป็นเวอร์ชัน 4.53.01 จากเวอร์ชัน 4.52.02 และต้องการย้อนกลับ ในกรณีนี้ คุณจะต้องดำเนินการดังนี้

  • ย้อนกลับ RMP ทั้งหมดทีละรายการ
  • ย้อนกลับทั้งคลัสเตอร์ Cassandra โดยใช้ข้อมูลสำรอง
  • ย้อนกลับโหนดเซิร์ฟเวอร์การจัดการ Edge ทีละรายการ

ผู้ที่ทำการย้อนกลับได้

ผู้ใช้ที่ทำการย้อนกลับควรเป็นผู้ใช้รายเดียวกับที่อัปเดต Edge ในตอนแรก หรือเป็นผู้ใช้ที่เรียกใช้ในฐานะรูท

โดยค่าเริ่มต้น คอมโพเนนต์ Edge จะทํางานในฐานะผู้ใช้ "apigee" ในบางกรณี คุณอาจเรียกใช้คอมโพเนนต์ Edge ในฐานะผู้ใช้ที่แตกต่างกัน เช่น หากเราเตอร์ต้องเข้าถึงพอร์ตที่มีสิทธิ์ เช่น พอร์ตที่ต่ำกว่า 1000 คุณจะต้องเรียกใช้เราเตอร์ในฐานะรูทหรือผู้ใช้ที่มีสิทธิ์เข้าถึงพอร์ตเหล่านั้น หรืออาจเรียกใช้คอมโพเนนต์หนึ่งในฐานะผู้ใช้รายหนึ่ง และเรียกใช้คอมโพเนนต์อื่นในฐานะผู้ใช้รายอื่น

คอมโพเนนต์ที่มีโค้ดร่วมกัน

คอมโพเนนต์ Edge ต่อไปนี้ใช้โค้ดร่วมกัน ดังนั้น หากต้องการย้อนกลับคอมโพเนนต์ใดคอมโพเนนต์หนึ่ง ในโหนด คุณต้องย้อนกลับคอมโพเนนต์ทั้งหมดที่อยู่ในโหนดนั้น

  • edge-management-server (เซิร์ฟเวอร์การจัดการ)
  • edge-message-processor (Message Processor)
  • edge-router (เราเตอร์)
  • edge-postgres-server (เซิร์ฟเวอร์ Postgres)
  • edge-qpid-server (เซิร์ฟเวอร์ Qpid)

เช่น หากคุณติดตั้ง Management Server, Router และ Message Processor ไว้ในโหนด การย้อนกลับรายการใดรายการหนึ่งจะต้องย้อนกลับทั้ง 3 รายการ

การย้อนกลับของ Cassandra

เมื่อมีการอัปเกรด Cassandra ครั้งใหญ่ในโหนดหนึ่งๆ Cassandra จะแก้ไขสคีมาของข้อมูลที่จัดเก็บไว้ในโหนดนั้น ด้วยเหตุนี้ การย้อนกลับโดยตรงในที่จึงไม่สามารถทำได้

สถานการณ์การย้อนกลับ

Cassandra 4.0.X ซึ่งพร้อมใช้งานกับ Edge สำหรับ Private Cloud 4.53.01 จะใช้ได้กับคอมโพเนนต์อื่นๆ ของ Private Cloud 4.52.02

โปรดดูตารางด้านล่างเพื่อดูสรุปกลยุทธ์การย้อนกลับต่างๆ ที่คุณใช้ได้

สถานการณ์ กลยุทธ์การย้อนกลับ
DC เดียว อัปเกรดโหนด Cassandra บางรายการ ใช้ข้อมูลสำรอง
DC เดียว อัปเกรดโหนด Cassandra ทั้งหมดแล้ว ห้ามย้อนกลับ Cassandra คุณสามารถย้อนกลับคอมโพเนนต์อื่นๆ ได้
อัปเกรด DC เดียว โหนดทั้งหมด (Cassandra และอื่นๆ) ห้ามย้อนกลับ Cassandra คุณสามารถย้อนกลับคอมโพเนนต์อื่นๆ ได้
หลาย DC, อัปเกรดโหนดบางรายการใน DC หนึ่ง สร้างใหม่จาก DC ที่มีอยู่
DC หลายแห่ง, โหนด Cassandra ทั้งหมดใน DC บางแห่งได้รับการอัปเกรดแล้ว สร้างใหม่จาก DC ที่มีอยู่
โหนด DC, Cassandra หลายรายการของ DC สุดท้ายที่กำลังอัปเกรด โปรดลองอัปเกรดให้เสร็จสมบูรณ์ หากทำไม่ได้ ให้ย้อนกลับ 1 DC โดยใช้ข้อมูลสำรอง สร้าง DC ที่เหลือใหม่จาก DC ที่ย้อนกลับ
หลาย DC, อัปเกรดโหนด Cassandra ทั้งหมด ห้ามย้อนกลับ Cassandra คุณสามารถย้อนกลับคอมโพเนนต์อื่นๆ ได้
อัปเกรด DC หลายรายการและโหนดทั้งหมด (Cassandra และอื่นๆ) ห้ามย้อนกลับ Cassandra คุณสามารถย้อนกลับคอมโพเนนต์อื่นๆ ได้

ข้อควรพิจารณาทั่วไป

เมื่อพิจารณาที่จะย้อนกลับ โปรดคำนึงถึงสิ่งต่อไปนี้

  • การย้อนกลับคอมโพเนนต์รันไทม์หรือการจัดการ: หากต้องการย้อนกลับคอมโพเนนต์ เช่น edge-management-server, edge-message-processor หรือคอมโพเนนต์ที่ไม่ใช่ Cassandra เป็น Private Cloud เวอร์ชัน 4.52.02 เราขอแนะนำว่าอย่าย้อนกลับ Cassandra Cassandra ที่มาพร้อมกับ Private Cloud 4.53.00 จะเข้ากันได้กับคอมโพเนนต์ที่ไม่ใช่ Cassandra ทั้งหมดของ Edge สำหรับ Private Cloud 4.52.02 คุณสามารถย้อนกลับคอมโพเนนต์ที่ไม่ใช่ Cassandra ได้โดยใช้วิธีการที่ระบุไว้ที่นี่ในขณะที่ Cassandra ยังคงเป็นเวอร์ชัน 4.0.13
  • การย้อนกลับหลังจากอัปเกรดคลัสเตอร์ Cassandra ทั้งหมดเป็น 4.0.X: หากอัปเกรดคลัสเตอร์ Cassandra ทั้งหมดเป็นเวอร์ชัน 4.0.X ซึ่งเป็นส่วนหนึ่งของการอัปเกรดเป็น Private Cloud เวอร์ชัน 4.53.00 เราขอแนะนำให้คุณตั้งค่าคลัสเตอร์นี้ต่อไปและไม่ย้อนกลับ Cassandra คอมโพเนนต์ต่างๆ เช่น edge-management-server, edge-message-processor, edge-router ฯลฯ ของ Private Cloud เวอร์ชัน 4.52.02 จะใช้งานร่วมกับ Cassandra เวอร์ชัน 4.0.X ได้
  • การย้อนกลับ Cassandra ระหว่างการอัปเกรด Cassandra: หากพบปัญหาในระหว่างการอัปเกรด Cassandra คุณอาจต้องพิจารณาการย้อนกลับ คุณสามารถทำตามกลยุทธ์การย้อนกลับที่ระบุไว้ในบทความนี้ได้โดยอิงตามสถานะที่คุณอยู่ระหว่างกระบวนการอัปเกรด
  • การย้อนกลับโดยใช้ข้อมูลสำรอง: ข้อมูลสำรองที่นำมาจาก Cassandra 4.0.X จะใช้ร่วมกับข้อมูลสำรองของ Cassandra 3.11.X ไม่ได้ หากต้องการย้อนกลับ Cassandra โดยใช้การกู้คืนข้อมูลสำรอง คุณต้องสำรองข้อมูล Cassandra 3.11.X ก่อนที่จะพยายามอัปเกรด

ย้อนกลับ Cassandra โดยใช้การสร้างใหม่

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

  • คุณกำลังใช้งานคลัสเตอร์ Edge สำหรับ Private Cloud 4.52.02 ในศูนย์ข้อมูลหลายแห่ง
  • คุณกำลังอัปเกรด Cassandra จาก 3.11.X เป็น 4.0.X และพบปัญหาในระหว่างการอัปเกรด
  • คุณมีศูนย์ข้อมูลที่ทำงานได้อย่างสมบูรณ์อย่างน้อย 1 แห่งในคลัสเตอร์ที่ยังคงใช้ Cassandra เวอร์ชันเก่า (Cassandra 3.11.X)

ขั้นตอนนี้อาศัยการสตรีมข้อมูลจากศูนย์ข้อมูลที่มีอยู่ ซึ่งอาจใช้เวลานานพอสมควร ทั้งนี้ขึ้นอยู่กับปริมาณข้อมูลที่จัดเก็บไว้ใน Cassandra คุณควรเตรียมพร้อมที่จะเปลี่ยนเส้นทางการรับส่งข้อมูลรันไทม์ออกจากศูนย์ข้อมูลนี้ในขณะที่การย้อนกลับกำลังดำเนินการอยู่

ขั้นตอนระดับสูง

  1. เลือกศูนย์ข้อมูล 1 แห่ง (อัปเกรดบางส่วนหรือทั้งหมด) ที่ต้องการย้อนกลับ เปลี่ยนเส้นทางการรับส่งข้อมูลรันไทม์ไปยังศูนย์ข้อมูลอื่นที่ทำงานอยู่
  2. ระบุโหนดเริ่มต้นในศูนย์ข้อมูลและเริ่มต้นด้วยโหนดเริ่มต้นโหนดใดโหนดหนึ่ง
  3. หยุด ถอนการติดตั้ง และล้างข้อมูลโหนด Cassandra
  4. ติดตั้ง Cassandra เวอร์ชันเก่าในโหนดและกำหนดค่าตามต้องการ
  5. นำการกำหนดค่าเพิ่มเติมที่เพิ่มไว้ก่อนหน้านี้ออก
  6. ทำซ้ำขั้นตอนข้างต้นสำหรับโหนดเริ่มต้นทั้งหมดในศูนย์ข้อมูลทีละรายการ
  7. ทำซ้ำขั้นตอนข้างต้นกับโหนด Cassandra ที่เหลือทั้งหมดในศูนย์ข้อมูลทีละโหนด
  8. สร้างโหนดใหม่จากศูนย์ข้อมูลที่ใช้งานได้ที่มีอยู่ทีละโหนด
  9. รีสตาร์ทคอมโพเนนต์ edge-* ทั้งหมดในศูนย์ข้อมูลที่เชื่อมต่อกับ Cassandra
  10. ทดสอบและเปลี่ยนเส้นทางการเข้าชมกลับไปยังศูนย์ข้อมูลนี้
  11. ทำตามขั้นตอนสำหรับศูนย์ข้อมูลแต่ละแห่งทีละแห่ง

ขั้นตอนโดยละเอียด

  1. เลือกศูนย์ข้อมูล 1 แห่งที่จะอัปเกรดโหนด Cassandra ทั้งหมดหรือบางส่วน เปลี่ยนเส้นทางการรับส่งข้อมูลพร็อกซีรันไทม์และการรับส่งข้อมูลการจัดการทั้งหมดจากศูนย์ข้อมูลนี้ในขณะที่กำลังย้อนกลับโหนด Cassandra ในศูนย์ข้อมูลนี้ ตรวจสอบว่าโหนด Cassandra ทั้งหมดอยู่ในสถานะ UN (ใช้งานได้/ปกติ) เมื่อเรียกใช้คำสั่ง nodetool ring ในโหนด หากโหนดบางรายการหยุดทำงาน ให้แก้ปัญหาและนำโหนดเหล่านั้นกลับมาทำงานอีกครั้งก่อนดำเนินการต่อ

    ดูตัวอย่างด้านล่าง

    /opt/apigee/apigee-cassandra/bin/nodetool status
    Datacenter: dc-1
    ================
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address      Load       Tokens       Owns (effective)  Host ID                               Rack
    UN  DC1-1IP1  456.41 KiB  1            100.0%            78fc4ddd-2ed9-4a8c-98a2-63a38c2f1920  ra-1
    UN  DC1-1IP2  870.93 KiB  1            100.0%            160db01a-64ab-43a7-b9ea-3b7f8f66d52b  ra-1
    UN  DC1-1IP3  824.08 KiB  1            100.0%            21d61543-d59e-403a-bf5d-bfe7f664baa6  ra-1
    Datacenter: dc-2
    ================
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address      Load       Tokens       Owns (effective)  Host ID                               Rack
    UN  DC2-1IP1   802.08 KiB  1            100.0%            583e0576-336d-4ce7-9729-2ae74e0abde2  ra-1
    UN  DC2-1IP2   844.4 KiB   1            100.0%            fef794d5-f4c2-4a4e-bb05-9adaeb4aea4b  ra-1
    UN  DC2-1IP3   878.12 KiB  1            100.0%            3894b3d9-1f5a-444d-83db-7b1e338bbfc9  ra-1

    คุณเรียกใช้ nodetool describecluster ในโหนดเพื่อทำความเข้าใจสถานะปัจจุบันของคลัสเตอร์ทั้งหมดได้ ตัวอย่างเช่น ข้อมูลต่อไปนี้แสดงอินสแตนซ์ของคลัสเตอร์ 2 ศูนย์ข้อมูลที่โหนด DC-1 ทั้งหมดใช้ Cassandra เวอร์ชัน 4 ในขณะที่โหนด DC-2 ทั้งหมดใช้ Cassandra เวอร์ชัน 3

    # On nodes where Cassandra is upgraded
    /opt/apigee/apigee-cassandra/bin/nodetool describecluster
    Cluster Information:
        Name: Apigee
        Snitch: org.apache.cassandra.locator.PropertyFileSnitch
        DynamicEndPointSnitch: enabled
        Partitioner: org.apache.cassandra.dht.RandomPartitioner
        Schema versions:
            2eadcd74-0245-309a-9992-3625afa70038: [DC-1-IP1, DC-1-IP2, DC-1-IP3]
            129dc15e-198e-3c11-b64c-701044a3a1ad: [DC-2-IP1, DC-2-IP2, DC-2-IP3]
    
    Stats for all nodes:
        Live: 6
        Joining: 0
        Moving: 0
        Leaving: 0
        Unreachable: 0
    
    Data Centers:
        dc-1 #Nodes: 3 #Down: 0
        dc-2 #Nodes: 3 #Down: 0
    
    Database versions:
        4.0.13: [DC-1-IP1:7000, DC-1-IP2:7000, DC-1-IP3:7000]
        3.11.16: [DC-2-IP1:7000, DC-2-IP2:7000, DC-2-IP3:7000]
    
    Keyspaces:
        system_schema -> Replication class: LocalStrategy {}
        system -> Replication class: LocalStrategy {}
        auth -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        cache -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        devconnect -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        dek -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        user_settings -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        apprepo -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        kms -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        identityzone -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        audit -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        analytics -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        keyvaluemap -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        counter -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        apimodel_v2 -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        system_distributed -> Replication class: SimpleStrategy {replication_factor=3}
        system_traces -> Replication class: SimpleStrategy {replication_factor=2}
        system_auth -> Replication class: SimpleStrategy {replication_factor=1}
    
    # On nodes where Cassandra is not upgraded
    /opt/apigee/apigee-cassandra/bin/nodetool describecluster
    Cluster Information:
        Name: Apigee
        Snitch: org.apache.cassandra.locator.PropertyFileSnitch
        DynamicEndPointSnitch: enabled
        Partitioner: org.apache.cassandra.dht.RandomPartitioner
        Schema versions:
            2eadcd74-0245-309a-9992-3625afa70038: [DC-1-IP1, DC-1-IP2, DC-1-IP3]
            129dc15e-198e-3c11-b64c-701044a3a1ad: [DC-2-IP1, DC-2-IP2, DC-2-IP3]
            
  2. ระบุโหนดเริ่มต้นในศูนย์ข้อมูล: ดูส่วนวิธีระบุโหนดเริ่มต้นในภาคผนวก ทำตามขั้นตอนด้านล่างในโหนดเริ่มต้น
  3. หยุด ถอนการติดตั้ง และล้างข้อมูลจากโหนดของ Cassandra เลือกโหนดเริ่มต้นแรกใน Cassandra เวอร์ชัน 4 ในศูนย์ข้อมูลนี้ หยุด
    # Stop Cassandra service on the node
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    
    # Uninstall Cassandra software
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    
    # Wipe out Cassandra data
    rm -rf /opt/apigee/data/apigee-cassandra
            
  4. ติดตั้งซอฟต์แวร์ Cassandra เวอร์ชันเก่าในโหนดและตั้งค่าบางอย่าง เรียกใช้ไฟล์ Bootstrap ของ Edge สำหรับ Private Cloud 4.52.02
  5. # Download bootstrap of 4.52.02
    curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh -u uName:pWord
    
    # Execute bootstrap of 4.52.02
    sudo bash /tmp/bootstrap_4.52.02.sh apigeeuser=uName apigeepassword=pWord
        
  6. สร้างหรือแก้ไขไฟล์ /opt/apigee/customer/application/cassandra.properties
  7. เพิ่มเนื้อหาต่อไปนี้ลงในไฟล์ ipOfNode คือที่อยู่ IP ของโหนดที่ Cassandra ใช้สื่อสารกับโหนด Cassandra อื่นๆ
    conf_jvm_options_custom_settings=-Dcassandra.replace_address=ipOfNode -Dcassandra.allow_unsafe_replace=true
  8. ตรวจสอบว่าผู้ใช้ Apigee เป็นเจ้าของไฟล์และอ่านไฟล์ได้โดยทำดังนี้
    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  9. ติดตั้งและตั้งค่า Cassandra
  10. # Install cassandra version 3.11.X
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra install
    # Setup cassandra while passing standard configuration file
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f configFile
    # Ensure Cassandra version is correct and service is running
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra version
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra status
  11. ตรวจสอบว่าโหนดเริ่มทำงานแล้ว ตรวจสอบคำสั่งต่อไปนี้ในโหนดนี้และโหนดอื่นๆ ในคลัสเตอร์ โหนดควรรายงานว่าอยู่ในสถานะ "UN" (ใช้งานได้/ปกติ) ดังนี้
    /opt/apigee/apigee-cassandra/bin/nodetool status
  12. นำการกำหนดค่าเพิ่มเติมที่เพิ่มไว้ก่อนหน้านี้ออกจากไฟล์ /opt/apigee/customer/application/cassandra.properties
  13. ทำขั้นตอนที่ 3-10 ซ้ำในโหนดเริ่มต้นของ Cassandra ทั้งหมดในศูนย์ข้อมูลทีละรายการ
  14. ทำขั้นตอนที่ 3-10 ซ้ำในโหนด Cassandra ที่เหลือทั้งหมดในศูนย์ข้อมูลทีละโหนด
  15. สร้างโหนดทั้งหมดในศูนย์ข้อมูลใหม่จากศูนย์ข้อมูลที่ใช้ Cassandra เวอร์ชันเก่ากว่า ทำตามขั้นตอนนี้ทีละโหนด
    /opt/apigee/apigee-cassandra/bin/nodetool rebuild -dc <name of working DC>

    กระบวนการนี้อาจใช้เวลาสักครู่ คุณปรับ streamingthroughput ได้หากต้องการ ตรวจสอบ nodetool netstats เพื่อดูสถานะการดำเนินการที่เสร็จสมบูรณ์

  16. (ไม่บังคับ) เรียกใช้คำสั่งซ่อมในโหนด Cassandra หากระบบไม่ได้สร้างข้อมูลใหม่
    /opt/apigee/apigee-cassandra/bin/nodetool -h node-IP repair -pr
  17. รีสตาร์ทคอมโพเนนต์ edge-* ทั้งหมดในศูนย์ข้อมูลทีละรายการ
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. ตรวจสอบความถูกต้องและเปลี่ยนเส้นทางการเข้าชมกลับไปยังศูนย์ข้อมูลนี้ เรียกใช้การตรวจสอบบางอย่างสำหรับการรับส่งข้อมูลรันไทม์และ API การจัดการในศูนย์ข้อมูลนี้ แล้วเริ่มเปลี่ยนเส้นทางการรับส่งข้อมูลพร็อกซีและ API การจัดการกลับไปยังศูนย์ข้อมูลนี้
  19. ทำขั้นตอนข้างต้นซ้ำสำหรับศูนย์ข้อมูลแต่ละแห่งที่ต้องการย้อนกลับ

ย้อนกลับ Cassandra โดยใช้ข้อมูลสำรอง

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

  1. คุณกำลังอัปเกรด Cassandra จาก 3.11.X เป็น 4.0.X และพบปัญหาในระหว่างการอัปเกรด
  2. คุณมีข้อมูลสำรองสำหรับโหนดที่กำลังเปลี่ยนกลับ ระบบได้ทำการสำรองข้อมูลก่อนที่จะพยายามอัปเกรดจาก 3.11.X เป็น 4.0.X

ขั้นตอน

  1. เลือกโหนดที่ต้องการย้อนกลับ หากคุณย้อนกลับโหนดทั้งหมดในศูนย์ข้อมูลโดยใช้ข้อมูลสำรอง ให้เริ่มจากโหนดเริ่มต้นก่อน ดูส่วน "วิธีระบุโหนดเริ่มต้น" ในภาคผนวก

  2. หยุด ถอนการติดตั้ง และล้างข้อมูลโหนด Cassandra

    # Stop Cassandra service on the node
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    
    # Uninstall Cassandra software
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    
    # Wipe Cassandra data
    rm -rf /opt/apigee/data/apigee-cassandra
  3. ติดตั้งซอฟต์แวร์ Cassandra เวอร์ชันเก่าในโหนดและกำหนดค่าโดยทำดังนี้

    • เรียกใช้ไฟล์ Bootstrap สำหรับ Edge for Private Cloud 4.52.02 โดยทำดังนี้
    • # Download bootstrap for 4.52.02
      curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh -u uName:pWord
      
      # Execute bootstrap for 4.52.02
      sudo bash /tmp/bootstrap_4.52.02.sh apigeeuser=uName apigeepassword=pWord
    • สร้างหรือแก้ไขไฟล์ /opt/apigee/customer/application/cassandra.properties โดยทำดังนี้
    • conf_jvm_options_custom_settings=-Dcassandra.replace_address=ipOfNode -Dcassandra.allow_unsafe_replace=true
    • ตรวจสอบว่าไฟล์เป็นของผู้ใช้ Apigee และอ่านได้
    • chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    • ติดตั้งและตั้งค่า Cassandra
    • # Install Cassandra version 3.11.X
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra install
      
      # Set up Cassandra with the standard configuration file
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f configFile
      
      # Verify Cassandra version and check service status
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra version
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra status

    ตรวจสอบว่าโหนดเริ่มทำงานแล้ว ตรวจสอบคำสั่งต่อไปนี้ในโหนดนี้และโหนดอื่นๆ ในคลัสเตอร์ โหนดควรรายงานว่าโหนดนี้อยู่ในสถานะ "UN"

    /opt/apigee/apigee-cassandra/bin/nodetool status
  4. หยุดบริการ Cassandra และกู้คืนข้อมูลสำรอง ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบการสำรองและกู้คืนข้อมูล

    # Stop Cassandra service on the node
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    
    # Wipe the data directory in preparation for restore
    rm -rf /opt/apigee/data/apigee-cassandra/data
    
    # Restore the backup taken before the upgrade attempt
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backupFile
            
  5. เมื่อกู้คืนข้อมูลสำรองแล้ว ให้นำการกำหนดค่าเพิ่มเติมออกโดยทำดังนี้

    นำการกำหนดค่าที่เพิ่มไว้ก่อนหน้านี้ออกจากไฟล์ /opt/apigee/customer/application/cassandra.properties

  6. เริ่มบริการ Cassandra ในโหนด

    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
  7. ทำขั้นตอนซ้ำในแต่ละโหนด Cassandra ที่คุณต้องการย้อนกลับโดยใช้ข้อมูลสำรองทีละโหนด

  8. เมื่อกู้คืนโหนด Cassandra ทั้งหมดแล้ว ให้รีสตาร์ทคอมโพเนนต์ edge-* ทั้งหมดทีละรายการ

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
            

การเพิ่มประสิทธิภาพการสำรองข้อมูล (ตัวเลือกขั้นสูง)

คุณอาจลด (หรือกำจัด) การสูญเสียข้อมูลขณะกู้คืนข้อมูลสำรองได้หากมีรีพลิก้าที่มีข้อมูลล่าสุด หากมีรีพลิกา ให้เรียกใช้การซ่อมแซมในโหนดที่กู้คืนหลังจากกู้คืนข้อมูลสำรอง

ภาคผนวก

วิธีระบุโหนดเริ่มต้น

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

/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure -search conf_cassandra_seeds

คำสั่งจะแสดงผลหลายบรรทัด มองหาบรรทัดสุดท้ายของเอาต์พุต ที่อยู่ IP ที่แสดงในบรรทัดสุดท้ายคือโหนดเริ่มต้น ในตัวอย่างด้านล่าง DC-1-IP1, DC-1-IP2, DC-2-IP1 และ DC-2-IP2 คือ IP ของโหนดเริ่มต้น

Found key conf_cassandra_seeds, with value, "127.0.0.1", in /opt/apigee/apigee-cassandra/token/default.properties

Found key conf_cassandra_seeds, with value, 127.0.0.1, in /opt/apigee/apigee-cassandra/token/application/cassandra.properties

Found key conf_cassandra_seeds, with value, "DC-1-IP1, DC-1-IP2, DC-2-IP1, DC-2-IP2", in /opt/apigee/token/application/cassandra.properties
apigee-configutil: apigee-cassandra: # OK

ย้อนกลับการอัปเดต Zookeeper 3.8.4

ย้อนกลับ

ในกรณีที่ต้องย้อนกลับ ให้ทำดังนี้

  1. ทำตามขั้นตอนการย้อนกลับในผู้สังเกตการณ์และผู้ติดตามก่อน
  2. ดาวน์โหลดและเรียกใช้ Bootstrap ของเวอร์ชันที่คุณจะย้อนกลับไป ซึ่งก็คือ 4.52.02 หรือ 4.53.00 กระบวนการนี้อาจแตกต่างกันไป ขึ้นอยู่กับว่าโหนดมีการเชื่อมต่ออินเทอร์เน็ตภายนอก หรือคุณกำลังทำตามการติดตั้งแบบออฟไลน์
  3. หยุด Zookeeper หากกำลังทำงานอยู่ในโหนด
      /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper stop
  4. ถอนการติดตั้ง Zookeeper ที่มีอยู่
      /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper uninstall
  5. ติดตั้ง Zookeeper ตามปกติ
      /opt/apigee/apigee-setup/bin/setup.sh -p zk -f <silent-config-file>
  6. เมื่อย้อนกลับผู้ติดตามและผู้สังเกตการณ์ทั้งหมดแล้ว ให้ย้อนกลับโหนดผู้นำโดยทำตาม ขั้นตอนที่ 2 ถึง 5 ในโหนดผู้นำ
  7. หลังจากย้อนกลับโหนดทั้งหมดแล้ว ให้ตรวจสอบสถานะของคลัสเตอร์และตรวจสอบว่ามี โหนดลีดเดอร์ในคลัสเตอร์

คืนค่าข้อมูลสำรอง

โปรดดูหัวข้อกู้คืนจากข้อมูลสำรอง โปรดทราบว่าข้อมูลสำรองของ Zookeeper ที่นำมาจาก Edge for Private Cloud เวอร์ชันก่อนหน้า เช่น 4.52.02 หรือ 4.53.00 ควร เข้ากันได้กับ Zookeeper เวอร์ชันใน Edge for Private Cloud 4.53.01

เปลี่ยนกลับการอัปเดต Postgres 17

หากอัปเกรดเป็น 4.53.01 จากเวอร์ชัน 4.52.02 หรือ 4.53.00 คุณต้องย้อนกลับการอัปเดต Postgres นอกเหนือจากคอมโพเนนต์ Edge

หากต้องการเปลี่ยนกลับการอัปเดต Postgres เมื่ออัปเดต Postgres ในการกำหนดค่าแบบมาสเตอร์-สแตนด์บาย ให้ทำดังนี้

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

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

ก่อนเริ่มต้น

ก่อนที่จะย้อนกลับ Postgres 17 เป็น 14 ให้ทำตามขั้นตอนต่อไปนี้ทั้งในโฮสต์สแตนด์บายใหม่และสแตนด์บายเก่าเพื่ออัปเดตพร็อพเพอร์ตี้ max_locks_per_transaction ใน apigee-postgresql

  1. หากไม่มี ให้สร้างไฟล์ /opt/apigee/customer/application/postgresql.properties
  2. เปลี่ยนการเป็นเจ้าของไฟล์นี้เป็น apigee โดยทำดังนี้
    sudo chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
  3. เพิ่มพร็อพเพอร์ตี้ต่อไปนี้ลงในไฟล์
    conf/postgresql.conf+max_locks_per_transaction=30000
  4. กำหนดค่า apigee-postgresql ดังนี้
    apigee-service apigee-postgresql configure
  5. รีสตาร์ท apigee-postgresql
    apigee-service apigee-postgresql restart
  1. ตรวจสอบว่าโหนด Postgres สแตนด์บายใหม่ทำงานอยู่
    /opt/apigee/apigee-service/bin/apigee-all status

    หาก Postgres ไม่ได้ทำงาน ให้เริ่มทำงานโดยทำดังนี้

    /opt/apigee/apigee-service/bin/apigee-all start
  2. ตรวจสอบว่าหยุด Postgres ในโหนดมาสเตอร์เก่าและโหนดสแตนด์บายเก่าแล้ว
    /opt/apigee/apigee-service/bin/apigee-all status

    หาก Postgres ทำงานอยู่ ให้หยุดการทำงานโดยทำดังนี้

    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop  
    /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
  3. หากติดตั้งไว้ ให้เริ่ม Qpid ในโหนดสแตนด์บายเก่าโดยทำดังนี้
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server start
  4. เลื่อนระดับโหนดสแตนด์บายใหม่ให้เป็นมาสเตอร์ Postgres โดยทำดังนี้
    1. เลื่อนระดับโหนดสแตนด์บายใหม่ให้เป็นมาสเตอร์ใหม่
      apigee-service apigee-postgresql promote-standby-to-master old_master_IP

      หากได้รับแจ้ง ให้ป้อนรหัสผ่าน Postgres สำหรับผู้ใช้ "apigee" ซึ่งมีค่าเริ่มต้นเป็น "postgres"

    2. แก้ไขไฟล์การกำหนดค่าที่ใช้ติดตั้ง Edge เวอร์ชันปัจจุบันเพื่อระบุ ข้อมูลต่อไปนี้
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    3. กำหนดค่ามาสเตอร์ใหม่
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFile
  5. หากอัปเกรดโหนดสแตนด์บายเก่าเป็นเวอร์ชันใหม่แล้ว คุณต้อง ดาวน์เกรดซอฟต์แวร์ Apigee ในโหนดสแตนด์บายเก่าก่อน หากคุณยังคงมีเวอร์ชันเก่าในโหนดสแตนด์บายเก่า ให้ข้ามขั้นตอนนี้และทำตามขั้นตอนที่ 6 ต่อไป
    1. หยุด Postgres ในโหนดสแตนด์บายเก่า
      apigee-service apigee-postgresql stop
      apigee-service edge-postgres-server stop
    2. ถอนการติดตั้ง Postgres จากโหนดสแตนด์บายเก่า
      apigee-service apigee-postgresql uninstall
      apigee-service edge-postgres-server uninstall
    3. ลบไดเรกทอรีข้อมูล Postgres ออกจากโหนดสแตนด์บายเก่า
      cd /opt/apigee/data/apigee-postgresql/pgdata
      rm -rf *
    4. ดาวน์โหลดและเรียกใช้ Bootstrap เวอร์ชันเก่า (สำหรับ Apigee เวอร์ชันที่คุณกำลัง ย้อนกลับไป) ในโหนดสแตนด์บายเก่า ขั้นตอนที่แน่นอนอาจแตกต่างกันไปตามว่าคุณใช้การติดตั้งที่ ใช้อินเทอร์เน็ตหรือแบบออฟไลน์ การเรียกใช้ Apigee Bootstrap เวอร์ชันเก่าจะ ตั้งค่าที่เก็บ yum ด้วยข้อมูล Apigee เวอร์ชันเก่า
    5. ตั้งค่าคอมโพเนนต์ Postgres ในโหนดสแตนด์บายเก่า
      /opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile
    6. ตรวจสอบและยืนยันว่าคอมโพเนนต์ Postgres ในโหนดสแตนด์บายเก่า ได้รับการเปลี่ยนกลับเป็นเวอร์ชันเก่าแล้ว
      apigee-service apigee-postgresql version
      apigee-service edge-postgres-server version
  6. สร้างโหนดสแตนด์บายเก่าขึ้นมาใหม่
    1. แก้ไขไฟล์การกำหนดค่าที่ใช้ติดตั้ง Edge เวอร์ชันปัจจุบันเพื่อระบุ ข้อมูลต่อไปนี้
      # IP address of the new master:
      PG_MASTER=new_standby_IP
      # IP address of the old standby node
      PG_STANDBY=old_standby_IP
    2. นำไดเรกทอรีข้อมูลในโหนดสแตนด์บายเก่าออก
      cd /opt/apigee/data/apigee-postgresql/pgdata
      rm -rf *
    3. กำหนดค่าโหนดสแตนด์บายเก่าให้เป็นโหนดสแตนด์บายของมาสเตอร์ใหม่
      /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
    4. ตรวจสอบว่า Postgres ทำงานอยู่ในโหนดสแตนด์บายเก่าโดยทำดังนี้
      /opt/apigee/apigee-service/bin/apigee-all status

      หาก Postgres ไม่ได้ทำงาน ให้เริ่มทำงานโดยทำดังนี้

      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server start
  7. ยืนยันว่าได้เพิ่มโหนดสแตนด์บายใหม่แล้วโดยดูไฟล์ /opt/apigee/apigee-postgresql/conf/pg_hba.conf ในมาสเตอร์ใหม่
  8. ดูข้อมูลการวิเคราะห์และกลุ่มผู้บริโภคปัจจุบันได้โดยเรียกใช้คำสั่งต่อไปนี้ ในเซิร์ฟเวอร์การจัดการ
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    คำสั่งนี้จะแสดงชื่อกลุ่มการวิเคราะห์ในช่อง name และชื่อกลุ่มผู้บริโภคในช่อง name ภายใต้ consumer-groups นอกจากนี้ยังแสดง UUID ของโหนดมาสเตอร์และโหนดสแตนด์บาย Postgres เก่าในฟิลด์ postgres-server และในฟิลด์ datastores ด้วย คุณควรเห็นเอาต์พุตในรูปแบบต่อไปนี้

    {
      "name" : "axgroup-001",
      "properties" : {
      },
      "scopes" : [ "VALIDATE~test", "sgilson~prod" ],
      "uuids" : {
        "qpid-server" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "postgres-server" : [
          "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256"
        ]
      },
      "consumer-groups" : [ {
        "name" : "consumer-group-001",
        "consumers" : [ "8381a053-433f-4382-bd2a-100fd37a1592", "4b6856ec-ef05-498f-bac6-ef5f0d5f6521" ],
        "datastores" :
          [ "ab1158bd-1d59-4e2a-9c95-24cc2cfa6edc:27f90844-efab-4b32-8a23-8f85cdc9a256" ],
          "properties" : {     }
        }
      ],
      "data-processors" : {
      }
    }
  9. รับที่อยู่ UUID ของมาสเตอร์เก่าโดยเรียกใช้คำสั่ง curl ต่อไปนี้ใน โหนดมาสเตอร์เก่า
    curl -u sysAdminEmail:password http://node_IP:8084/v1/servers/self

    คุณควรเห็น UUID ของโหนดที่ท้ายเอาต์พุตในรูปแบบต่อไปนี้

    "type" : [ "postgres-server" ],
    "uUID" : "599e8ebf-5d69-4ae4-aa71-154970a8ec75"
  10. ทำซ้ำขั้นตอนก่อนหน้าเพื่อรับที่อยู่ IP ของโหนดสแตนด์บายเก่าและมาสเตอร์ใหม่
  11. นำโหนดหลักและโหนดสแตนด์บายเก่าออกจากกลุ่มผู้ใช้
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores/masterUUID,standbyUUID" -v

    โดยที่ axgroup-001 และ consumer-group-001 คือชื่อเริ่มต้นของกลุ่มวิเคราะห์และกลุ่มผู้บริโภค masterUUID,standbyUUID จะอยู่ในลำดับเดียวกันกับที่ ปรากฏด้านบนเมื่อคุณดูข้อมูลการวิเคราะห์และกลุ่มผู้บริโภคปัจจุบันด้านบน คุณ อาจต้องระบุเป็น standbyUUID,masterUUID

    ตอนนี้พร็อพเพอร์ตี้ datastores สำหรับ consumer-groups ควรว่างเปล่า แล้ว

  12. นำโหนดหลักและโหนดสแตนด์บายเก่าออกจากกลุ่มการวิเคราะห์
    curl -u sysAdminEmail:password -X DELETE \
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v

    ตอนนี้พร็อพเพอร์ตี้ postgres-server ภายใต้ uuids ควรว่างเปล่า

  13. ลงทะเบียนโหนดหลักและโหนดสแตนด์บาย PG ใหม่กับกลุ่มการวิเคราะห์และกลุ่มผู้บริโภค
    curl -u sysAdminEmail:password -X POST -H "Content-Type: application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/servers?uuid=masterUUID,standbyUUID&type=postgres-server" -v
    curl -u sysAdminEmail:password -X POST -H "Content-Type:application/json" -d ''
      "http://ms_IP:8080/v1/analytics/groups/ax/axgroup-001/consumer-groups/consumer-group-001/datastores?uuid=masterUUID,standbyUUID" -v
  14. ตรวจสอบกลุ่มข้อมูลวิเคราะห์
    curl -u sysAdminEmail:password http://ms_IP:8080/v1/analytics/groups/ax

    คุณควรเห็น UUID ของโหนดหลักและโหนดสแตนด์บายใหม่ที่แสดงอยู่ในกลุ่มการวิเคราะห์ และกลุ่มผู้ใช้

  15. รีสตาร์ท Edge Management Server โดยทำดังนี้
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
  16. รีสตาร์ทเซิร์ฟเวอร์ Qpid ทั้งหมด
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
  17. รีสตาร์ทเซิร์ฟเวอร์ Postgres ทั้งหมด
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  18. ตรวจสอบสถานะการจำลองโดยเรียกใช้สคริปต์ต่อไปนี้ในเซิร์ฟเวอร์ทั้ง 2 เครื่อง ระบบ ควรแสดงผลลัพธ์ที่เหมือนกันในทั้ง 2 เซิร์ฟเวอร์เพื่อให้การจำลองแบบสำเร็จ

    เรียกใช้คำสั่งต่อไปนี้ในมาสเตอร์ใหม่

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

    ตรวจสอบว่าพ็อดนี้เป็นพ็อดหลัก ในโหนดสแตนด์บายเก่า ให้ทำดังนี้

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

    ตรวจสอบว่าอุปกรณ์อยู่ในโหมดสแตนด์บาย

  19. ทำซ้ำขั้นตอนก่อนหน้าหลังจากส่งคำขอ API หลายรายการเพื่อให้แน่ใจว่าโหนดซิงค์กัน
  20. เลิกใช้งานมาสเตอร์ Postgres เก่าโดยใช้ขั้นตอนในการเลิกใช้งานโหนด Postgres

    หรือจะถอนการติดตั้ง Qpid จากมาสเตอร์เก่าและ ติดตั้ง Qpid ในโหนดมาสเตอร์ใหม่ก็ได้ หลังจากถอนการติดตั้ง Qpid แล้ว คุณสามารถเลิกใช้งาน โหนดหลักเก่าได้

ย้อนกลับการอัปเดต LDAP 2.6

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

เป้าหมายหลักคือการเปลี่ยนคลัสเตอร์ LDAP ทั้งหมดกลับไปเป็นสถานะที่สอดคล้องกันจากข้อมูลสำรองที่ทราบว่าใช้งานได้ดี กระบวนการนี้เหมือนกันสำหรับทุกสถานการณ์ ไม่ว่าจะเป็นเซิร์ฟเวอร์เดียว, ใช้งานอยู่-ใช้งานอยู่ และใช้งานอยู่-ไม่ได้ใช้งาน

สิ่งที่ต้องดำเนินการก่อนและข้อควรพิจารณา

  • การสำรองข้อมูลไม่เข้ากัน: ใช้การสำรองข้อมูลจาก LDAP เวอร์ชัน 2.4 เก่าที่คุณใช้กับ Edge สำหรับ Private Cloud 4.52.02 หรือ 4.53.00 การสำรองข้อมูลนี้ต้องดำเนินการก่อนที่จะพยายามอัปเกรด ข้อมูลสำรองที่สร้างขึ้นหลังการอัปเกรดจะใช้ร่วมกันไม่ได้และใช้ไม่ได้
  • การหยุดทำงานของ Management API: ในระหว่างการย้อนกลับ LDAP, Management API จะไม่พร้อมใช้งาน ซึ่งอาจส่งผลต่อการดูแลระบบ โปรดตรวจสอบว่าได้ปิดเซิร์ฟเวอร์การจัดการ Edge และ Edge UI ทั้งหมดก่อนที่จะดำเนินการย้อนกลับ LDAP ต่อ
  • ความเสี่ยงที่ข้อมูลจะสูญหาย: การดำเนินการต่อโดยไม่มีข้อมูลสำรองที่ถูกต้องและเข้ากันได้อาจทำให้ข้อมูลสูญหายอย่างถาวร
  • ข้อมูลสำรองที่ถูกต้อง: ต้องมีข้อมูลสำรอง LDAP ที่ถูกต้องก่อนการอัปเกรด

ขั้นตอนการย้อนกลับ

  1. โปรดตรวจสอบว่าได้ปิดเซิร์ฟเวอร์การจัดการ Edge และ Edge UI ทั้งหมดก่อนที่จะดำเนินการอัปเกรด LDAP ต่อไป
    apigee-service edge-management-server stop
    apigee-service edge-ui stop
  2. สำรองข้อมูล LDAP ที่มีอยู่ (ก่อนหยุด LDAP)

    รับจำนวนระเบียนทั้งหมดเพื่อใช้อ้างอิงจากเซิร์ฟเวอร์ LDAP ทั้งหมด (จำนวนระเบียนควรตรงกันในเซิร์ฟเวอร์ LDAP ทั้งหมด)

          # Note: Replace 'YOUR_PASSWORD' with your current LDAP manager password. 
    ldapsearch -o ldif-wrap=no -b "dc=apigee,dc=com" \ -D "cn=manager,dc=apigee,dc=com" -H ldap://:10389 -LLL -x -w 'YOUR_PASSWORD' | wc -l
  3. หยุดและถอนการติดตั้ง LDAP 2.6 ใหม่

    หยุดบริการ apigee-openldap และลบไดเรกทอรีการกำหนดค่าและข้อมูล การดำเนินการนี้ต้องทำในเซิร์ฟเวอร์ LDAP ทั้งหมด โดยทำทีละโหนดในคลัสเตอร์เพื่อให้มั่นใจถึงความสอดคล้องกัน

    apigee-service apigee-openldap stop
    apigee-service apigee-openldap uninstall
    rm -rf /opt/apigee/data/apigee-openldap/*
  4. ติดตั้ง LDAP เวอร์ชัน 2.4 รุ่นเก่า
    • ติดตั้ง LDAP เวอร์ชันเก่า
      /opt/apigee/apigee-setup/bin/setup.sh -p ld -f /opt/silent.conf
    • ตรวจสอบเวอร์ชัน LDAP:
      source ~/.bash_profile
      ldapsearch -VV
      
      #Expected output:
      ldapsearch: @(#) $OpenLDAP: ldapsearch 2.4.46
    • ทำซ้ำขั้นตอนข้างต้นในแต่ละโหนด LDAP ทีละโหนด
  5. ล้างข้อมูลที่เหลือ

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

    apigee-service apigee-openldap stop
    rm -rf /opt/apigee/data/apigee-openldap/*
  6. กู้คืนข้อมูล LDAP

    สำหรับการตั้งค่าเซิร์ฟเวอร์เดียว คุณสามารถไปยังขั้นตอนที่ 5b ได้โดยตรง สำหรับการตั้งค่าเซิร์ฟเวอร์หลายเครื่อง ให้ทำตามขั้นตอนที่ 5ก

    1. ระบุเซิร์ฟเวอร์ LDAP ที่ใช้งานอยู่

      ก่อนที่จะกู้คืนข้อมูล LDAP ให้ระบุเซิร์ฟเวอร์ที่ใช้งานอยู่ (ผู้ให้บริการ) โดยเรียกใช้คำสั่งนี้

      grep -i '^olcSyncrepl:' /opt/apigee/data/apigee-openldap/slapd.d/cn=config/olcDatabase*\ldif
      
      * **Note**:
      * If this command returns output, the server is a passive server. 
      * If it returns no output, the server is the active server.
    2. กู้คืนข้อมูล LDAP (ตรวจสอบว่าขั้นตอนที่ 4 เสร็จสมบูรณ์ในเซิร์ฟเวอร์ทั้งหมดก่อนที่จะกู้คืน)
      • ในเซิร์ฟเวอร์ LDAP ที่ใช้งานอยู่และมีเซิร์ฟเวอร์เดียว (กำหนดไว้ในขั้นตอนที่ 5ก) ให้กู้คืนข้อมูลสำรอง
        cd /opt/apigee/backup/openldap
        
        # To restore a specific backup, provide the timestamp as shown below:
        apigee-service apigee-openldap restore 2025.07.28,13.59.00
        # Note: If no timestamp is provided, the latest available backup will be restored by default.
        apigee-service apigee-openldap restore
        
        # It is recommended to specify the backup explicitly to avoid restoring an unintended version.
      • เริ่มบริการ apigee-openldap
        apigee-service apigee-openldap start
  7. เริ่มเซิร์ฟเวอร์ LDAP ที่เหลือ

    หากคุณมีการตั้งค่าแบบหลายเซิร์ฟเวอร์ ให้เริ่มบริการในเซิร์ฟเวอร์ LDAP แต่ละเครื่องโดยทำดังนี้

    apigee-service apigee-openldap start
  8. การตรวจสอบขั้นสุดท้าย
    • ขั้นตอนสุดท้ายคือการยืนยันว่าการย้อนกลับสำเร็จและข้อมูลสอดคล้องกันในคลัสเตอร์ LDAP ทั้งหมด
    • เรียกใช้คำสั่งการตรวจสอบในเซิร์ฟเวอร์ LDAP ทั้งหมด จำนวนระเบียนควรเหมือนกันในเซิร์ฟเวอร์ทั้งหมด และต้องตรงกับจำนวนที่คุณบันทึกไว้ในขั้นตอนที่ 1
      # Note: Replace 'YOUR_PASSWORD' with your current LDAP manager password.
      ldapsearch -o ldif-wrap=no -b "dc=apigee,dc=com" \ -D "cn=manager,dc=apigee,dc=com" -H ldap://:10389 -LLL -x -w 'YOUR_PASSWORD' | wc -l
    • เมื่อยืนยันแล้วว่าข้อมูลถูกต้องและสอดคล้องกัน การย้อนกลับ LDAP จะเสร็จสมบูรณ์ ตอนนี้คุณสามารถเริ่ม edge-management-server, edge-ui และคอมโพเนนต์อื่นๆ ที่ขึ้นอยู่กับคอมโพเนนต์เหล่านี้ได้ตามขั้นตอนการอัปเกรดมาตรฐานขององค์กร

ย้อนกลับไปเป็นรุ่นก่อนหน้า

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

  1. ดาวน์โหลดไฟล์ bootstrap.sh สำหรับเวอร์ชันที่คุณต้องการย้อนกลับ

    • หากต้องการย้อนกลับไปใช้เวอร์ชัน 4.52.02 ให้ดาวน์โหลด bootstrap_4.52.02.sh
  2. หยุดคอมโพเนนต์เพื่อย้อนกลับ โดยทำดังนี้
    1. หากต้องการย้อนกลับคอมโพเนนต์ที่มีโค้ดร่วมกันในโหนด คุณต้องหยุดคอมโพเนนต์ทั้งหมด ดังตัวอย่างต่อไปนี้
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. หากต้องการย้อนกลับคอมโพเนนต์อื่นๆ ในโหนด ให้หยุดคอมโพเนนต์นั้น
      /opt/apigee/apigee-service/bin/apigee-service component stop
  3. หากคุณจะย้อนกลับการสร้างรายได้ ให้ถอนการติดตั้งจากเซิร์ฟเวอร์การจัดการและโหนด Message Processor ทั้งหมด
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. ถอนการติดตั้งคอมโพเนนต์เพื่อย้อนกลับในโหนด โดยทำดังนี้
    1. หากต้องการย้อนกลับคอมโพเนนต์ที่มีโค้ดร่วมในโหนด คุณต้องถอนการติดตั้งทั้งหมดโดยการถอนการติดตั้งกลุ่มคอมโพเนนต์ edge-gateway และ apigee-cassandra-client ดังตัวอย่างต่อไปนี้
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra-client uninstall
    2. วิธีย้อนกลับ Nginx มีดังนี้
      ###Find the apigee-nginx RPM 
      rpm -qa | grep -i "apigee-nginx"
      
      ###Remove the apigee-nginx RPM
      dnf remove apigee-nginx-1.26.x
      
    3. หากต้องการย้อนกลับคอมโพเนนต์อื่นๆ ในโหนด ให้ถอนการติดตั้งเฉพาะคอมโพเนนต์นั้น ดังตัวอย่างต่อไปนี้
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      โดยที่ component คือชื่อคอมโพเนนต์

    4. หากต้องการย้อนกลับ Edge Router คุณต้องลบเนื้อหาของไฟล์ /opt/nginx/conf.d นอกเหนือจากการถอนการติดตั้งกลุ่มคอมโพเนนต์ edge-gateway
      cd /opt/nginx/conf.d
      rm -rf *
  5. ถอนการติดตั้ง apigee-setup เวอร์ชัน 4.53.01 โดยทำดังนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. ติดตั้งยูทิลิตี apigee-service เวอร์ชัน 4.52.02 และทรัพยากร Dependency ตัวอย่างต่อไปนี้จะติดตั้ง apigee-service เวอร์ชัน 4.52.02
    sudo bash /tmp/bootstrap_4.52.02.sh apigeeuser=uName apigeepassword=pWord

    โดยที่ uName และ pWord คือชื่อผู้ใช้และรหัสผ่านที่คุณได้รับ จาก Apigee หากคุณละเว้น pWord ระบบจะแจ้งให้คุณป้อน

    หากพบข้อผิดพลาด โปรดตรวจสอบว่าคุณได้ดาวน์โหลดไฟล์ bootstrap.sh ในขั้นตอนที่ 1

  7. ติดตั้ง apigee-setup
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. ติดตั้งคอมโพเนนต์เวอร์ชันเก่าโดยทำดังนี้
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    โดย component คือคอมโพเนนต์ที่จะติดตั้ง และ configFile คือ ไฟล์การกำหนดค่าสำหรับเวอร์ชันเก่า

  9. หากคุณย้อนกลับ Qpid ให้ล้าง iptables โดยทำดังนี้
    sudo iptables -F
  10. ทำกระบวนการนี้ซ้ำสำหรับแต่ละโหนดที่โฮสต์คอมโพเนนต์ที่คุณกำลังย้อนกลับ

ย้อนกลับ mTLS

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

  1. หยุด Apigee
    apigee-all stop
  2. หยุด mTLS
    apigee-service apigee-mtls uninstall
  3. ติดตั้ง mTLS อีกครั้ง
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf