มีหลายวิธีในการอัปเกรดคลัสเตอร์ Couchbase® Server หลายโหนด บทความนี้อธิบายขั้นตอนโดยละเอียดสำหรับการอัปเกรดออนไลน์แบบ Rolling โดยใช้วิธี graceful failover และ delta recovery
บทนำ
วิธีที่อธิบายในบทความนี้เป็นหนึ่งในวิธีที่นิยมมากที่สุดสำหรับการอัปเกรดออนไลน์ เนื่องจากไม่จำเป็นต้องเพิ่มโหนดเพิ่มเติมเข้าไปในคลัสเตอร์สำหรับการอัปเกรด วิธีนี้รวดเร็วและใช้น้อยทรัพยากรน้อยกว่า เนื่องจากโหนดถูกกู้คืนโดยใช้เพียง delta changes แทนการ rebalance ทั้งหมด นอกจากนี้ global secondary indexes ยังคงรักษาไว้ในกระบวนการนี้ ซึ่งไม่ต้องสร้างใหม่ ข้อเสียหลักของวิธีนี้คือ ความพร้อมใช้งานสูงลดลงในช่วงการอัปเกรด
ข้อกำหนดเบื้องต้น
คุณควรดำเนินการอัปเกรดนี้ในช่วงนอกชั่วโมงเร่งด่วน มีข้อกำหนดและข้อพิจารณาบางประการสำหรับการใช้ graceful failover ตรวจสอบเอกสารการตั้งค่านี้ก่อนดำเนินการตามขั้นตอนที่ระบุในบทความนี้
รายละเอียดสภาพแวดล้อม
ตัวอย่างในบทความนี้มีลักษณะดังนี้:
- มีคลัสเตอร์สองโหนด
Prashant 2-Node London Cluster - อัปเกรด Couchbase Enterprise Edition เวอร์ชัน 5.1.0 build 5552 เป็น Couchbase Enterprise Edition เวอร์ชัน 5.5.0 build 2473 - IPv4
- ใช้ Couchbase Administration Web Console สำหรับส่วนใหญ่ของขั้นตอน
ขั้นตอนการอัปเกรด
ใช้ขั้นตอนในส่วนนี้เพื่อดำเนินการอัปเกรด
ขั้นตอนที่ 1: ดาวน์โหลด Couchbase เวอร์ชัน 5.5 บนทั้งสองโหนดของคลัสเตอร์
ดาวน์โหลดไฟล์ binary executable ของ Couchbase เวอร์ชัน 5.5 บนโหนดแรกของคลัสเตอร์
ภาพต่อไปนี้ใช้ยูทิลิตี้ WGET เพื่อดาวน์โหลดไฟล์ RPM Package Manager (RPM) ที่จำเป็นจากเซิร์ฟเวอร์
หลังจากดาวน์โหลด ตำแหน่งปัจจุบันจะมี binary เวอร์ชัน 5.5 ตามภาพด้านล่าง:
ทำกระบวนการดาวน์โหลดซ้ำสำหรับอีกโหนดหนึ่งของคลัสเตอร์
ขั้นตอนที่ 2: เข้าสู่ระบบโหนดคลัสเตอร์ node-1
ใช้ Couchbase Web Console เพื่อเข้าสู่ระบบคลัสเตอร์ node-1 โดยใช้บัญชี Administrator ตามภาพด้านล่าง:
ขั้นตอนที่ 3: แสดงรายการเซิร์ฟเวอร์
คลิกแท็บ Servers เพื่อดูรายการเซิร์ฟเวอร์ที่เป็นส่วนหนึ่งของคลัสเตอร์ ภาพต่อไปนี้แสดงว่ามีสองโหนดเซิร์ฟเวอร์ที่เป็นส่วนหนึ่งของคลัสเตอร์นี้:
ขั้นตอนที่ 4: ตรวจสอบรายละเอียดเซิร์ฟเวอร์
คลิกที่แต่ละเซิร์ฟเวอร์เพื่อดูข้อมูลโดยละเอียดรวมถึงเวอร์ชันปัจจุบัน ตามภาพด้านล่าง:
เนื่องจากคุณเข้าสู่ระบบจาก node-1 คุณต้องอัปเกรดโหนดอื่น node-2 ก่อน เพื่อให้เซสชัน Couchbase Web Console คงอยู่แม้หลังจากการปิด Couchbase ระหว่างการอัปเกรด
ขั้นตอนที่ 5: ทำ graceful failover ของ node-2
ขยายส่วน node-2 และคลิก Failover ตามภาพด้านล่าง:
เลือก Graceful Failover และคลิก Failover Server ตามภาพด้านล่าง:
เวลาที่ใช้สำหรับ graceful failover สัมพันธ์โดยตรงกับจำนวน vBuckets ที่ต้องเปิดใช้งานหรือซิงค์ไปยังโหนดที่รอดชีวิต หากคุณเลือก Hard Failover แทน vBuckets จะไม่ถูกซิงค์ และในที่สุดคุณจะต้องใช้ Full Recovery แทน Delta Recovery หลังการอัปเกรดซอฟต์แวร์
ภาพต่อไปนี้แสดงความคืบหน้าของการอัปเกรด:
ภาพต่อไปนี้แสดง Couchbase Web Console หลังจากการอัปเกรดเสร็จสิ้น:
ขั้นตอนที่ 6: ปิด Couchbase บน node-2
ปิด Couchbase บน node-2 ตามภาพด้านล่าง:
หลังจากการปิด สถานะของโหนดใน Couchbase Web Console จะเปลี่ยนเป็น Node unresponsive ตามภาพด้านล่าง:
ขั้นตอนที่ 7: ดำเนินการอัปเกรด
อัปเกรดเวอร์ชัน 5.1.0 ที่มีอยู่เป็น 5.5.0 โดยนำ binary ที่คุณดาวน์โหลดในขั้นตอนที่ 1 ไปใช้ ตามภาพด้านล่าง เนื่องจากนี้ไม่ใช่การติดตั้งใหม่ ให้ใช้ตัวเลือก --upgrade ของคำสั่ง RPM หากคุณต้องการถอนการติดตั้งเวอร์ชัน 5.1.0 แล้วติดตั้ง 5.5.0 (แทนที่จะใช้ตัวเลือก --upgrade) คุณจะต้องใช้ Full Recovery แทน Delta Recovery หลังการอัปเกรดซอฟต์แวร์
การอัปเกรดควรใช้เวลาเพียงไม่กี่นาที และหลังจากอัปเกรดเสร็จสิ้น กระบวนการ Couchbase Server จะเริ่มต้นโดยอัตโนมัติ ตามภาพด้านล่าง:
เอาต์พุต Couchbase Web Console ตอนนี้แสดงเวอร์ชันที่อัปเกรดแล้ว รวมถึงตัวเลือกเพิ่มกลับโดยใช้ Full Recovery หรือ Delta Recovery ตามภาพด้านล่าง:
ขั้นตอนที่ 8: ทำ Delta recovery
คลิกที่ Add Back: Delta Recovery
สถานะจะเปลี่ยนเป็น DELTA RECOVERY pending rebalance ตามภาพด้านล่าง ในขั้นตอนนี้ คุณเพียงแค่บอก Couchbase ว่าใช้โหมด recovery ไหน ไม่ได้เริ่ม recovery จริงๆ
ขั้นตอนที่ 9: เริ่มการกู้คืน
คลิก Rebalance เพื่อซิงค์โหนดที่อัปเกรดแล้วกลับเข้าคลัสเตอร์ ควรทำงานได้เร็วเพราะเป็น delta recovery ไม่ใช่ full recovery
ภาพต่อไปนี้แสดงความคืบหน้าของการกู้คืน:
หลังจาก rebalance เสร็จสิ้น โหนดจะกลายเป็นสีเขียวใน Couchbase Web Console และกลับมาซิงค์ในคลัสเตอร์แล้ว คุณยังเห็นเวอร์ชันอัปเกรดเป็น 5.5 ตามภาพด้านล่าง:
สังเกตในภาพต่อไปนี้ ว่าโหนดหนึ่งในคลัสเตอร์อยู่บนเวอร์ชัน 5.1.0 และอีกโหนดอยู่บนเวอร์ชัน 5.5.0:
ขั้นตอนที่ 10: อัปเกรด node-1
ตอนนี้คุณอัปเกรด node-2 สำเร็จแล้ว คุณต้องอัปเกรด node-1 ก่อนอื่น ให้เข้าสู่ระบบ Couchbase Web Console ของ node-2 ในฐานะ Administrator และทำซ้ำขั้นตอนที่ 5 ถึง 9 สำหรับเซิร์ฟเวอร์ node-1
ภาพต่อไปนี้แสดง Couchbase Web Console หลังจากการอัปเกรดและกู้คืนของ node-1 เสร็จสิ้น:
สังเกตตัวเลือกใหม่สองตัวในเมนูด้านซ้าย ซึ่งเป็นใหม่ใน Version 5.5.0:
-
Analytics: เปิดใช้งานการรันคิวรี SQL ที่คุ้นเคยโดยใช้ N1QL สำหรับ analytics
-
Eventing: เปิดใช้งานการสร้างฟังก์ชันฝั่งเซิร์ฟเวอร์ ซึ่งถูกทริกเกอร์โดยใช้โมเดล
Event-Condition-Action
สรุป
วิธี graceful failover และ delta recovery เป็นตัวเลือกที่ยอดเยี่ยมสำหรับการอัปเกรด Rolling ของ Couchbase สำหรับคลัสเตอร์ฐานข้อมูลขนาดใหญ่ที่ครอบคลุมหลายโหนด การกู้คืนแบบเต็มรูปแบบของแต่ละโหนดที่อัปเกรดอาจเป็นปัญหาใหญ่ ด้วยการ failover แบบ graceful Couchbase ให้เราเลือกที่จะเพิ่มโหนดที่อัปเกรดแล้วกลับมาโดยการซิงค์เฉพาะการเปลี่ยนแปลงที่เกิดขึ้นระหว่างการอัปเกรด ซึ่งใช้เวลาน้อยกว่าอย่างมาก
นอกจากนี้ สำหรับแอปพลิเคชันฐานข้อมูลเชิงโต้ตอบที่มี Global Secondary Indexes (GSIs) มาก นี่เป็นวิธีที่เหมาะสม เพราะ GSIs ถูกเก็บรักษาไว้และไม่ต้องสร้างใหม่ ซึ่งประหยัดทรัพยากรและลดเวลาการอัปเกรด
เพื่อใช้ประโยชน์สูงสุดจากวิธีนี้ การอัปเกรดควรดำเนินการในช่วงนอกชั่วโมงเร่งด่วน ซึ่งจะแก้ปัญหาข้อเสียเดียวของวิธีนี้ (ความพร้อมใช้งานสูงลดลง) และเร่งการอัปเกรด เพราะ delta changes จะน้อยกว่ามากในช่วงนอกชั่วโมงเร่งด่วน
ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม
เรียนรู้เพิ่มเติมเกี่ยวกับบริการฐานข้อมูลของเรา