การฟันดาบและการเพิ่มการเฟลโอเวอร์ให้กับการทำคลัสเตอร์ - ตอนที่ 3
ในคำแนะนำสองข้อก่อนหน้านี้ เราได้พูดคุยถึงวิธีการติดตั้งคลัสเตอร์ การสร้างคลัสเตอร์ และการเพิ่มโหนดให้กับคลัสเตอร์ นอกจากนี้เรายังได้ศึกษาว่า cluster.conf ดูเหมือนจะเป็นอย่างไรหลังจากการกำหนดค่าที่จำเป็นเสร็จสิ้นแล้ว .
วันนี้ ในส่วนที่สามของซีรีส์การทำคลัสเตอร์นี้ เราจะพูดถึงว่า Fencing คืออะไร เฟลโอเวอร์ และวิธีการกำหนดค่าในการตั้งค่าของเรา
ก่อนอื่น เรามาดูความหมายของ การฟันดาบ และ ความล้มเหลว
ฟันดาบคืออะไร?
หากเราคิดถึงการตั้งค่าที่มีมากกว่าหนึ่งโหนด อาจเป็นไปได้ว่าโหนดหนึ่งหรือหลายโหนดอาจล้มเหลวได้ในบางช่วงเวลา ดังนั้นในกรณีนี้ การฟันดาบเป็นการแยกเซิร์ฟเวอร์ที่ทำงานผิดปกติออกจากคลัสเตอร์ เพื่อปกป้องและรักษาความปลอดภัยทรัพยากรที่ซิงค์ ดังนั้นเราจึงสามารถเพิ่มรั้วเพื่อปกป้องทรัพยากรที่ใช้ร่วมกันภายในคลัสเตอร์ได้
เฟลโอเวอร์คืออะไร?
ลองนึกภาพสถานการณ์ที่เซิร์ฟเวอร์มีข้อมูลสำคัญสำหรับองค์กรซึ่งผู้มีส่วนได้ส่วนเสียต้องการให้องค์กรดูแลเซิร์ฟเวอร์และทำงานโดยไม่ต้องกังวลเรื่องเวลาหยุดทำงาน ในกรณีนี้ เราสามารถทำซ้ำข้อมูลไปยังเซิร์ฟเวอร์อื่นได้ (ขณะนี้มีเซิร์ฟเวอร์สองเครื่องที่มีข้อมูลและข้อมูลจำเพาะเหมือนกัน) ซึ่งเราสามารถใช้เป็นเฟลโอเวอร์ได้
ไม่ว่าจะมีโอกาสใดก็ตาม เซิร์ฟเวอร์ตัวใดตัวหนึ่งหยุดทำงาน เซิร์ฟเวอร์อื่นที่เรากำหนดค่าไว้เป็นเฟลโอเวอร์จะเข้ามารับหน้าที่โหลดและให้บริการที่ได้รับจากเซิร์ฟเวอร์เครื่องแรก ในวิธีนี้ ผู้ใช้จะไม่พบช่วงเวลาหยุดทำงานซึ่งเกิดจากเซิร์ฟเวอร์หลัก
คุณสามารถอ่าน ส่วนที่ 01 และ ส่วนที่ 02 ของซีรีส์การจัดกลุ่มได้ที่นี่:
- การจัดกลุ่มและข้อดี/ข้อเสียคืออะไร - ตอนที่ 1
- ตั้งค่าคลัสเตอร์ด้วยสองโหนดใน 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 เพื่อเพิ่มการกำหนดค่าให้กับคลัสเตอร์ ต่อไปนี้เป็นคำจำกัดความของตัวเลือกที่ฉันใช้ในคำสั่ง
- -h: ที่อยู่ IP ของโฮสต์คลัสเตอร์
- –setfencedaemon: ใช้การเปลี่ยนแปลงกับภูตฟันดาบ
- post_fail_delay: เวลาเป็นวินาทีที่ daemon รอก่อนที่จะฟันดาบเซิร์ฟเวอร์เหยื่อเมื่อโหนดล้มเหลว
- 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 ที่มีประโยชน์