ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บนแพลตฟอร์ม

RUK-COM PAAS / DATABASES

คู่มือ Auto-Clustering สำหรับ ฐานข้อมูล

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

คู่มือภาษาไทย

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

การจำลองฐานข้อมูล PostgreSQL

การจำลองแบบเป็นเทคโนโลยีพื้นฐานสำหรับเซิร์ฟเวอร์ฐานข้อมูลใดๆเนื่องจากการหยุดทำงานหรือการสูญเสียข้อมูลอาจส่งผลให้การเข้าถึงประสิทธิภาพการทำงานและความเชื่อมั่นของผลิตภัณฑ์ลดลงการใช้การจำลองข้อมูลจากเซิร์ฟเวอร์หลักไปยังเซิร์ฟเวอร์สแตนด์บายตั้งแต่หนึ่งเซิร์ฟเวอร์ขึ้นไปจะช่วยลดโอกาสที่ข้อมูลจะสูญหายด้วย PostgreSQL คุณสามารถสร้างคลัสเตอร์ฐานข้อมูลของPrimary-Secondary(เดิมเรียกว่าการจำลองแบบมาสเตอร์-สเลฟ) พร้อมเซิร์ฟเวอร์สแตนด์บายตั้งแต่หนึ่งเซิร์ฟเวอร์ขึ้นไป

Image 1: PostgreSQL cluster primary-secondary scheme

การใช้ข้อมูล WAL (Write-Ahead Logging) เป็นวิธีการจำลองแบบที่รวดเร็วที่สุดพร้อมประสิทธิภาพที่ยอดเยี่ยมที่เรียกว่าการจำลองแบบอะซิงโครนัส. ในกรณีนี้เซิร์ฟเวอร์ฐานข้อมูลหลักทำงานในโหมดการเก็บถาวรเพียงแค่เขียนไฟล์ WAL ไปยังที่เก็บข้อมูลและเผยแพร่ไปยังเซิร์ฟเวอร์ฐานข้อมูลสแตนด์บายที่ทำงานในโหมดการกู้คืนไฟล์เหล่านี้จะถูกถ่ายโอนไปยังฐานข้อมูลสำรองทันทีหลังจากการเขียนเสร็จสิ้น

มาดูกันว่าคลัสเตอร์ฐานข้อมูล PostgreSQL หลัก-รองสามารถติดตั้งและกำหนดค่าได้อย่างไร

การสร้างคลัสเตอร์ PostgreSQL หลัก-รอง

แพลตฟอร์มนี้มีวิธีอัตโนมัติสองวิธีในการรับคลัสเตอร์ PostgreSQL:

โซลูชันตลาดแบบบรรจุหีบห่อล่วงหน้า

วิธีที่เร็วและตรงไปตรงมาที่สุดในการสร้างคลัสเตอร์ PostgreSQL คือการใช้โซลูชันที่จัดแพ็คเกจล่วงหน้าจากตลาด.

  1. คลิกที่ตลาดที่ด้านซ้ายบนของแดชบอร์ดและค้นหาPostgreSQL คลัสเตอร์หลัก-รองบรรจุุภัณฑ์.

Image 4: marketplace PostgreSQL clusterวางเมาส์เหนือโซลูชันแล้วคลิกติดตั้งเพื่อดำเนินการต่อ

  1. ภายในกล่องโต้ตอบที่เปิดอยู่คุณสามารถเลือกเวอร์ชัน PostgreSQL ที่ต้องการและเปิดใช้งานโหลดบาลานเซอร์ Pgpool-II ได้

Image 5: PostgreSQL cluster installation3. รอสักครู่เพื่อให้แพลตฟอร์มเตรียม Environment ของคุณและตั้งค่าการกำหนดค่าการจำลองที่จำเป็น

Image 6: PostgreSQL cluster successful installationเมื่อเสร็จแล้วคุณจะเห็นการแจ้งเตือนที่เหมาะสมพร้อมข้อมูลสำหรับการเข้าถึงอินเทอร์เฟซการดูแลระบบ PostgreSQL (ส่งทางอีเมลด้วย)

ตัวช่วยสร้างโทโพโลยีการจัดกลุ่มอัตโนมัติ

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

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

Image 8: PostgreSQL auto-clusteringจากนั้นคุณสามารถใช้พลังการกำหนดค่าของวิซาร์ดได้อย่างเต็มที่เพื่อเปลี่ยนจำนวน Node ต่อเลเยอร์จัดสรรทรัพยากรเพิ่มเติมเพิ่มสแต็กซอฟต์แวร์อื่นๆให้กับ Environment ของคุณฯลฯ

  1. เมื่อพร้อมแล้วคลิกสร้างและรอสักครู่เพื่อให้แพลตฟอร์มสร้าง Environment ของคุณ

Image 9: PostgreSQL cluster environment

การจัดการคลัสเตอร์ PostgreSQL

ด้านล่างนี้เราจะให้ข้อมูลที่เป็นประโยชน์เกี่ยวกับการจัดการคลัสเตอร์ PostgreSQL:

จุดเข้าคลัสเตอร์

หากไม่ได้เพิ่ม Node Pgpool-II ในโทโพโลยีคลัสเตอร์ให้ใช้ Node หลักเพื่อเข้าถึงคลัสเตอร์หากมีการใช้งานเลเยอร์การปรับสมดุลโหลดที่ด้านหน้าคลัสเตอร์ฐานข้อมูลคุณสามารถใช้ Node Pgpool-II ใดก็ได้เป็นจุดเริ่มต้น

แผงผู้ดูแลระบบคลัสเตอร์

ใน PaaS ส่วนประกอบคลัสเตอร์ PostgreSQL สามารถจัดการได้ผ่านทางคลีไอหรือ UI

  • การจัดการฐานข้อมูล

Node ฐานข้อมูลมีแผงการจัดการการจัดการในตัว phpPgAdmin ใช้อันเดียวบน Node หลัก

Image 14: pgAdmin panel*การจัดการ Pgpool-II

Node Pgpool-II ยังสามารถจัดการผ่านแผงการดูแลระบบในตัวที่ใช้งานง่ายpgpool ผู้ดูแลระบบ.

Image 15: pgpoolAdmin panelแผงผู้ดูแลระบบ Pgpool-II ให้ความสามารถในการกำหนดค่า:

  • โหลดบาลานซ์และกระจายในระดับฐานข้อมูล (วิธีประมวลผลและปรับสมดุลคำขอไปยังทุกฐานข้อมูล)
  • พูลการเชื่อมต่อ
  • การบันทึก
  • การจำลองแบบ
  • การดีบัก
  • Failover และเฟลแบ็ค

การกำหนดค่า PostgreSQL หลัก

มาดูพารามิเตอร์การกำหนดค่า Node หลักที่ใช้ในการจัดกลุ่มอัตโนมัติกัน

  1. ค้นหา Environment ด้วยฐานข้อมูลหลักในรายการ Environment ของคุณคลิกที่การกำหนดค่าปุ่มถัดจาก Node หลัก PostgreSQL

Image 17: PostgreSQL nodes config2. เปิดการประชุมไดเร็กทอรีและนำทางไปยังpostgresql.confไฟล์.

Image 18: PostgreSQL conf settingsบรรทัดต่อไปนี้ที่เกี่ยวข้องกับไฟล์ WAL สามารถเปลี่ยนแปลงได้หากจำเป็น:

wal_level = hot_standby
max_wal_senders = 10
archive_mode = on
archive_command = 'cd .'

ที่ไหน:

  • ที่wal_levelพารามิเตอร์กำหนดจำนวนข้อมูลที่เขียนลงใน WAL มีค่าที่เป็นไปได้สามค่า:

    • น้อยที่สุด- เหลือเพียงข้อมูลที่จำเป็นในการกู้คืนจากความล้มเหลวหรือการปิดระบบฉุกเฉิน
    • แบบจำลอง- ค่าเริ่มต้นซึ่งเขียนข้อมูลที่เพียงพอเพื่อรองรับการเก็บถาวรและการจำลองแบบ WAL รวมถึงการเรียกใช้คำสั่งแบบอ่านอย่างเดียวบนเซิร์ฟเวอร์สแตนด์บายในการเผยแพร่ก่อนเวอร์ชัน 9.6 นั้นคลังเก็บเอกสารสำคัญและร้อน_สแตนด์บายอนุญาตให้ใช้ค่าสำหรับพารามิเตอร์นี้ในรุ่นต่อๆไปจะยอมรับได้แต่แม็ปกับเรพลิกา
    • ตรรกะ- ค่าจะเพิ่มข้อมูลที่จำเป็นเพื่อรองรับการถอดรหัสแบบลอจิคัลให้กับระดับการบันทึกเรพลิกา
  • max_wal_sendersตั้งค่าจำนวนสูงสุดของกระบวนการถ่ายโอน WAL ที่ทำงานพร้อมกัน

  • archive_modeอนุญาตให้เก็บถาวร WAL พร้อมกับwal_levelพารามิเตอร์ (ค่าทั้งหมดเปิดใช้งานการเก็บถาวรยกเว้นน้อยที่สุดค่า).
  • archive_command- คำสั่งเชลล์ในเครื่องที่จะดำเนินการเพื่อเก็บถาวรส่วน WAL ที่เสร็จสมบูรณ์โดยค่าเริ่มต้นจะไม่ทำอะไรเลยโดยดำเนินการ ‘ซีดี.' นั่นหมายถึงการปิดใช้งานการเก็บถาวรจริงๆคุณอาจลองเปลี่ยนดังต่อไปนี้เพื่อคัดลอกไฟล์เก็บถาวร WAL ไปยังไดเร็กทอรีปลายทางที่คุณต้องการ (เช่น/tmp/mydata):

archive_command = 'test ! -f /var/lib/pgsql/data/pg_wal/%f && cp %p /tmp/mydata/%f'

Image 19: PostgreSQL conf archive commandกดบันทึกปุ่มเหนือตัวแก้ไข

  1. เปิดpg_hba.confไฟล์การกำหนดค่าการเชื่อมต่อฐานข้อมูลสแตนด์บายได้รับอนุญาตโดยระบุพารามิเตอร์ต่อไปนี้:

host replication all {standby_IP_address}/32 trust

Image 20: pg-hba.conf settingsนั่นคือทั้งหมดสำหรับประถมศึกษา! ดำเนินการกำหนดค่าของเซิร์ฟเวอร์สแตนด์บายต่อไป

การกำหนดค่าสแตนด์บาย

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

  1. เปิดpostgresql.confไฟล์ให้ค้นหาไฟล์เซิร์ฟเวอร์สแตนด์บายส่วน. อย่างที่คุณเห็นเซิร์ฟเวอร์นี้ทำหน้าที่เป็นสแตนด์บายตั้งแต่ร้อน_สแตนด์บายพารามิเตอร์คือบนไม่เหมือนกับ Node หลักที่พารามิเตอร์นี้ถูกใส่เครื่องหมายความคิดเห็น

Image 22: PostgreSQL primary configs2. เลื่อนลงไปที่ส่วนท้ายของไฟล์ปรับแต่งมีกprimary_conninfoพารามิเตอร์ที่ระบุสตริงการเชื่อมต่อที่เซิร์ฟเวอร์สแตนด์บายจะใช้เชื่อมต่อกับเซิร์ฟเวอร์ที่ส่งสตริงการเชื่อมต่อจะต้องระบุชื่อโฮสต์ (หรือที่อยู่) ของเซิร์ฟเวอร์ที่ส่งรวมถึงหมายเลขพอร์ตชื่อผู้ใช้ที่สอดคล้องกับบทบาทที่มีสิทธิ์ที่เหมาะสมบนเซิร์ฟเวอร์ที่ส่งก็มีให้เช่นกันต้องระบุรหัสผ่านในprimary_conninfoหรือในไฟล์ ~/.pgpass แยกต่างหากบนเซิร์ฟเวอร์สำรองหากผู้ส่งต้องการการรับรองความถูกต้องด้วยรหัสผ่าน

Image 23: PostgreSQL secondary configs3. ตัวเลือกสุดท้ายที่ทำให้เซิร์ฟเวอร์ฐานข้อมูลเป็นรองคือสแตนด์บายสัญญาณความพร้อมใช้งานของไฟล์ซึ่งบ่งชี้ว่าเซิร์ฟเวอร์ควรเริ่มทำงานเป็นโหมดสแตนด์บายแบบ hot ไฟล์จะต้องอยู่ในไดเร็กทอรีข้อมูล PostgreSQL และสามารถว่างเปล่าหรือมีข้อมูลใดๆได้เมื่อไฟล์รองได้รับการเลื่อนระดับเป็นไฟล์หลักแล้วไฟล์นี้จะถูกลบ

บันทึก:โปรดทราบว่าตัวเลือกส่วนใหญ่ที่กำลังเปลี่ยนแปลงจำเป็นต้องรีสตาร์ทเซิร์ฟเวอร์สามารถทำได้สองวิธี:

  1. จากแดชบอร์ดคุณสามารถรีสตาร์ท Node ใด Node หนึ่งหรือทั้งสอง Node ได้

Image 24: restart PostgreSQL nodes2. ผ่านอินเตอร์เฟสบรรทัดคำสั่งผ่านทางเว็บ SSHลูกค้า. โดยคลิกที่เว็บ SSHปุ่มที่ Node ที่ต้องการเช่นรอง

Image 25: restart PostgreSQL nodes SSHและออกคำสั่งให้รีสตาร์ทเซิร์ฟเวอร์ฐานข้อมูล:

sudo service postgresql restart

ตรวจสอบการจำลองแบบ

  1. เปิดphpPgAdmin.phpแผงสำหรับคุณหลักฐานข้อมูลโดยคลิกเปิดในเบราว์เซอร์ปุ่มข้างๆ

Image 27: PostgreSQL open in browser2. เข้าสู่ระบบด้วยข้อมูลรับรองฐานข้อมูลที่คุณได้รับทางอีเมลก่อนหน้านี้และสร้างฐานข้อมูลใหม่

Image 28: phpPgAdmin create database3. จากนั้นคุณควรเปิดแผงผู้ดูแลระบบของคุณสแตนด์บายเซิร์ฟเวอร์ฐานข้อมูล (ในลักษณะเดียวกับเซิร์ฟเวอร์หลัก) และตรวจสอบว่าฐานข้อมูลใหม่ได้รับการจำลองแบบสำเร็จหรือไม่

Image 29: replicated secondary database

สถานการณ์การ Failover อัตโนมัติ

ที่Failover อัตโนมัติสำหรับคลัสเตอร์ PostgreSQL ได้รับการ Deploy ด้วยความช่วยเหลือของพีจีพูล-ทูNode และไม่พร้อมใช้งานสำหรับโทโพโลยีที่ไม่มีมัน (การกำหนดค่าด้วยตนเองเป็นสิ่งจำเป็น) Node การปรับสมดุลโหลดจะตรวจพบโดยอัตโนมัติว่าฐานข้อมูลหลักหยุดทำงานหรือไม่และเลื่อนระดับฐานข้อมูลรองที่มีอยู่รายการใดรายการหนึ่งเมื่อ Node ที่มีปัญหากลับมาแล้ว Node นั้นจะถูกเพิ่มเข้าไปในคลัสเตอร์อีกครั้งโดยอัตโนมัติ (เป็น Node รอง) พร้อมข้อมูลที่ขาดหายไปทั้งหมดจะถูกกู้คืนโดยใช้พีกรีวินด์คุณประโยชน์.

สถานการณ์การ Failover ด้วยตนเอง

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

โทโพโลยีเริ่มต้นประกอบด้วยสอง Node:

Image 32: PostgreSQL primary-secondary scheme

เมื่อ Node หลักล้มเหลว Node รองจะต้องได้รับการเลื่อนระดับเป็น Node หลักใหม่ก็สามารถทำได้ด้วยยูทิลิตี้pg_ctlซึ่งใช้ในการเริ่มต้นเริ่มหยุดหรือควบคุมเซิร์ฟเวอร์ PostgreSQL หากต้องการทำสิ่งนี้ให้เข้าสู่ระบบเซิร์ฟเวอร์สแตนด์บายผ่าน Web SSH และออกคำสั่งดังนี้:

/usr/pgsql-12/bin/pg_ctl promote -D /var/lib/pgsql/data

ที่ไหน/var/lib/pgsql/dataเป็นไดเร็กทอรีข้อมูลฐานข้อมูล

Image 33: promote secondary PostgreSQL nodeเมื่อฐานข้อมูลรองได้รับการเลื่อนระดับเป็นฐานข้อมูลหลักคุณควรเปลี่ยนสตริงการเชื่อมต่อแอปพลิเคชันของคุณเพื่อเปลี่ยนจุดเข้าใช้งานคลัสเตอร์ฐานข้อมูลเป็นชื่อโฮสต์หรือที่อยู่ IP ใหม่

กระบวนการ Failover สามารถพึ่งพาได้pg_isreadyยูทิลิตี้ที่ออกการตรวจสอบการเชื่อมต่อกับฐานข้อมูล PostgreSQL

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

#!/bin/bash
primary="172.25.2.22"
secondary="172.25.2.31"
status=$(/usr/pgsql-12/bin/pg_isready -d postgres -h $primary)
response="$primary:5432 - no response"
if [ "$status" == "$response" ]
then
/usr/pgsql-12/bin/pg_ctl promote -D /var/lib/pgsql/data
echo "Secondary promoted to new Primary. Change your app connection string to new Primary address $secondary"
else
echo "Primary is alive. Nothing to do."
fi

เมื่อสคริปต์ถูกทริกเกอร์การเลื่อนระดับรองไปที่ระดับหลักผลลัพธ์ของสคริปต์ควรมีลักษณะดังนี้:

Image 34: PostgreSQL failover scriptตอนนี้ฐานข้อมูลของคุณกลับมาทำงานอีกครั้งและพร้อมที่จะจัดการคำขออ่าน/เขียนตามที่อยู่หลักใหม่

การฟื้นฟูคลัสเตอร์

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

อีกเหตุผลหนึ่งที่โทโพโลยีควรได้รับการกู้คืนนั้นเกี่ยวข้องกับการรับรองความสามารถในการปรับขนาดของคลัสเตอร์เฉพาะโทโพโลยีดั้งเดิมเท่านั้นที่สามารถปรับขนาดเข้า/ออกในแนวนอนได้

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

ดังนั้นภารกิจคือ: หลักที่ส่งออกไปควรกลายเป็นหลักที่แท้จริงและหลักปัจจุบัน (รองก่อนหน้านี้) ควรกลายเป็นรองจริง

ข้อมูลเริ่มต้นคือ:

  • คลัสเตอร์ฐานข้อมูลประกอบด้วยสอง Node หลัก (ไอพี: 172.25.2.22) และรอง (ไอพี: 172.25.2.31).
  • Node หลักหยุดทำงานและฐานข้อมูลหลักหยุดทำงาน
  • ฐานข้อมูลสแตนด์บายได้รับการเลื่อนตำแหน่งเป็นบทบาทหลัก
  • ตอนนี้ส่วนรองยังคงอ่าน/เขียนอยู่
  • Node หลักเดิมได้รับการแก้ไขแล้วและพร้อมที่จะนำกลับมาใช้อีกครั้งในการจำลองแบบเป็น Node หลัก

ทำตามขั้นตอนต่อไปนี้เพื่อรับคลัสเตอร์ของโทโพโลยีเริ่มต้น:

  1. ป้อน Node หลักเดิมผ่าน Web SSH และออกคำสั่ง:

rm -rf /var/lib/pgsql/data/*

Image 36: cleanup on primary2. เพิ่มที่อยู่ IP หลักเดิม 172.22.2.22 ลงในpg_hba.confที่ Node หลักปัจจุบัน:

host replication replication 172.22.2.22/32 trust

Image 37: add IP to pg-hbaรีสตาร์ทฐานข้อมูลหลักปัจจุบันเพื่อใช้การเปลี่ยนแปลง:

sudo service postgresql restart

  1. ป้อน Node หลักเดิมผ่าน Web SSH และออกคำสั่ง:

pg_basebackup -U replication -h 172.25.2.31 -D /var/lib/pgsql/data -Fp -Xs -P -R

Image 38: replicate data to primaryที่ไหน:

  • pg_basebackup- ใช้เพื่อสำรองข้อมูลพื้นฐานของคลัสเตอร์ฐานข้อมูล PostgreSQL ที่ทำงานอยู่
  • 172.25.2.31- ที่อยู่ IP ของ Node หลักปัจจุบัน
  • /var/lib/pgsql/data- ไดเร็กทอรีข้อมูล PostgreSQL
  1. ตรวจสอบให้แน่ใจว่าที่อยู่ IP ในเจ้าภาพพารามิเตอร์ที่อธิบายไว้ในขั้นตอนที่สองของการกำหนดค่าสแตนด์บายมีที่อยู่ IP ที่ถูกต้องของที่อยู่หลักเดิม

Image 39: recheck primary connection info5. สร้างสแตนด์บายสัญญาณไฟล์ที่หลักปัจจุบัน:

touch /var/lib/pgsql/data/standby.signal

Image 40: create standby.signal fileและรีสตาร์ท Node เพื่อรับฐานข้อมูลรองใหม่:

sudo service postgresql restart

ลบสแตนด์บายสัญญาณไฟล์ที่ Primary เดิม:

rm /var/lib/pgsql/data/standby.signal

Image 41: remove standby.signal fileและรีสตาร์ท Node เพื่อรับฐานข้อมูลหลักใหม่:

sudo service postgresql restart

  1. สุดท้ายนี้เพื่อให้บรรลุสถานะการกู้คืนที่สอดคล้องกันสำหรับทั้งฐานข้อมูลหลักและฐานข้อมูลสำรองจำเป็นต้องรีสตาร์ทครั้งสุดท้ายซึ่งสามารถทำได้ผ่านแดชบอร์ดดังต่อไปนี้:

Image 42: restart PostgreSQL nodes againเมื่อกระบวนการรีสตาร์ทเสร็จสิ้นคลัสเตอร์จะกลับมาเป็นโทโพโลยีดั้งเดิมและอาจปรับขนาดในแนวนอน