ค้นหาเว็บไซต์

การฟันดาบและการเพิ่มการเฟลโอเวอร์ให้กับการทำคลัสเตอร์ - ตอนที่ 3


ในคำแนะนำสองข้อก่อนหน้านี้ เราได้พูดคุยถึงวิธีการติดตั้งคลัสเตอร์ การสร้างคลัสเตอร์ และการเพิ่มโหนดให้กับคลัสเตอร์ นอกจากนี้เรายังได้ศึกษาว่า cluster.conf ดูเหมือนจะเป็นอย่างไรหลังจากการกำหนดค่าที่จำเป็นเสร็จสิ้นแล้ว .

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

ก่อนอื่น เรามาดูความหมายของ การฟันดาบ และ ความล้มเหลว

ฟันดาบคืออะไร?

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

เฟลโอเวอร์คืออะไร?

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

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

คุณสามารถอ่าน ส่วนที่ 01 และ ส่วนที่ 02 ของซีรีส์การจัดกลุ่มได้ที่นี่:

  1. การจัดกลุ่มและข้อดี/ข้อเสียคืออะไร - ตอนที่ 1
  2. ตั้งค่าคลัสเตอร์ด้วยสองโหนดใน Linux – ตอนที่ 2

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

Cluster Server: 172.16.1.250
Hostname: clserver.test.net

node01: 172.16.1.222
Hostname: nd01server.test.net

node02: 172.16.1.223
Hostname: nd02server.test.net   

ขั้นตอนที่ 1: วิธีเพิ่มการฟันดาบให้กับเซิร์ฟเวอร์คลัสเตอร์

1. ก่อนอื่น เราต้องเปิดใช้งานการฟันดาบบนเซิร์ฟเวอร์คลัสเตอร์ เพื่อสิ่งนี้ ฉันจะใช้คำสั่งด้านล่างสองคำสั่ง

ccs -h 172.16.1.250 --setfencedaemon post_fail_delay=0
ccs -h 172.16.1.250 --setfencedaemon post_join_delay=10

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

  1. -h: ที่อยู่ IP ของโฮสต์คลัสเตอร์
  2. –setfencedaemon: ใช้การเปลี่ยนแปลงกับภูตฟันดาบ
  3. post_fail_delay: เวลาเป็นวินาทีที่ daemon รอก่อนที่จะฟันดาบเซิร์ฟเวอร์เหยื่อเมื่อโหนดล้มเหลว
  4. post_join_delay: เวลาเป็นวินาทีที่ daemon รอก่อนที่จะฟันดาบเซิร์ฟเวอร์เหยื่อเมื่อโหนดเข้าร่วมคลัสเตอร์

2. ตอนนี้มาเพิ่มอุปกรณ์รั้วสำหรับคลัสเตอร์ของเรา ดำเนินการคำสั่งด้านล่างเพื่อเพิ่มอุปกรณ์รั้ว

ccs -h 172.16.1.250 --addfencedev tecmintfence agent=fence_virt

นี่คือวิธีที่ฉันดำเนินการคำสั่งและลักษณะของไฟล์ cluster.conf หลังจากเพิ่มอุปกรณ์รั้ว

คุณสามารถใช้คำสั่งด้านล่างเพื่อดูว่าตัวเลือก รั้ว ประเภทใดที่คุณสามารถใช้เพื่อสร้างอุปกรณ์รั้วได้ ฉันใช้ fence_virt เนื่องจากฉันใช้ VM สำหรับการตั้งค่า

ccs -h 172.16.1.250 --lsfenceopts

ขั้นตอนที่ 2: เพิ่มสองโหนดในอุปกรณ์รั้ว

3. ตอนนี้ฉันจะเพิ่มวิธีการให้กับอุปกรณ์รั้วที่สร้างขึ้นและเพิ่มโฮสต์ลงไป

ccs -h 172.16.1.250 --addmethod Method01 172.16.1.222
ccs -h 172.16.1.250 --addmethod Method01 172.16.1.223

คุณต้องเพิ่มวิธีการที่คุณสร้างไว้ก่อนหน้านี้สำหรับทั้งสองโหนดที่คุณมีในการตั้งค่า ต่อไปนี้เป็นวิธีที่ฉันเพิ่มวิธีการและ cluster.conf ของฉัน

4. ในขั้นตอนถัดไป คุณจะต้องเพิ่มวิธีการรั้วที่คุณสร้างขึ้นสำหรับโหนดทั้งสอง ไปยังอุปกรณ์รั้วที่เราสร้างขึ้นชื่อ “tecmintfence

ccs -h 172.16.1.250 --addfenceinst tecmintfence 172.16.1.222 Method01
ccs -h 172.16.1.250 --addfenceinst tecmintfence 172.16.1.223 Method01

ฉันเชื่อมโยงวิธีการของฉันกับอุปกรณ์รั้วสำเร็จแล้ว และนี่คือลักษณะ cluster.conf ของฉันในตอนนี้

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

ขั้นตอนที่ 3: เพิ่มการเฟลโอเวอร์ไปยังเซิร์ฟเวอร์คลัสเตอร์

5. ฉันใช้ไวยากรณ์คำสั่งด้านล่างเพื่อสร้างการแทนที่การตั้งค่าคลัสเตอร์

ccs -h 172.16.1.250 --addfailoverdomain tecmintfod ordered

6. เมื่อคุณสร้างโดเมนที่ใช้แทนที่เมื่อเกิดข้อผิดพลาด ตอนนี้คุณสามารถเพิ่มสองโหนดลงไปได้

ccs -h 172.16.1.250 --addfailoverdomainnode tecmintfod 172.16.1.222 1
ccs -h 172.16.1.250 --addfailoverdomainnode tecmintfod 172.16.1.223 2

ดังที่แสดงไว้ด้านบน คุณจะเห็นว่า cluster.conf มีการกำหนดค่าทั้งหมดที่ฉันได้เพิ่มไว้สำหรับโดเมนที่ใช้แทนที่เมื่อเกิดข้อผิดพลาด

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