แก้ปัญหาความล้มเหลว / ความพร้อมใช้งานสูงสำหรับ Linux ได้ดีแค่ไหน? [ปิด]


9

ฉันมีหลายกรณีที่ฉันต้องการย้ายแอปพลิเคชันจากเซิร์ฟเวอร์หนึ่งไปยังอีกเซิร์ฟเวอร์หนึ่งในกรณีที่เกิดความล้มเหลว (เซิร์ฟเวอร์แฮงค์หรือล้มเหลว)

บนโซลาริสเราทำสิ่งนี้กับ VCS (Veritas Cluster Server) มีตัวเลือกใดบ้างสำหรับ Linux

โปรดระบุระดับของความพยายามในการตั้งค่า / บำรุงรักษาหรือค่าใช้จ่าย (ถ้ามี) สำหรับแต่ละรายการ

- เพิ่มรายละเอียดเพิ่มเติม -

หากต้องการให้แนวคิดเกี่ยวกับระดับความซับซ้อน:

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

นี่คือการรวบรวมข้อมูลหรือโหนดการคำนวณไม่ใช่ฐานข้อมูลดังนั้นโซลูชันที่ง่ายกว่าจึงสามารถทำงานได้

- รายละเอียดเพิ่มเติม (ขออภัย) -

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

ขอบคุณมากสำหรับโพสต์ทั้งหมดจนถึงตอนนี้

คำตอบ:


10

http://linux-ha.org/สำหรับความต้องการที่มีอยู่ทั้งหมดของคุณ อย่างที่เพลงบอกว่าสิ่งที่ดีที่สุดในชีวิตนั้นฟรี


คุณสามารถแนะนำหนังสือดี ๆ ได้ไหม
slf

4

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

เซิร์ฟเวอร์ Veritas Cluster (VCS) ไม่นานมานี้ แต่เราได้ติดตั้ง Linux VCS clusters จำนวนน้อยบน RHEL 3.0 ฉันหวังว่าจะมีให้ใน RHEL 5.0 คุณควรคุ้นเคยกับความยากลำบากในการตั้งค่านี้เป็นอาณาเขตที่คุ้นเคย อย่างที่คุณอาจจะทราบว่า VCS นั้นมีราคาแพง Anecdotally, VCS ไม่เหมาะที่จะตั้งค่าโดยการจัดการการกำหนดค่า

Red Hat Cluster Suite พูดถึง RHEL ได้ครบจำนวนมากตั้งแต่รีลีสดั้งเดิมกับ RHEL 2.1 ขั้นตอนการตั้งค่า / การกำหนดค่านั้นค่อนข้างตรงไปตรงมาและเอกสารประกอบนั้นสมบูรณ์และเป็นประโยชน์มากและเช่นเดียวกับ VCS คุณสามารถซื้อการสนับสนุนจากผู้ขายได้ สำหรับผลิตภัณฑ์ HA เชิงพาณิชย์ RHCS มีราคาสมเหตุสมผล ฉันจะใช้การจัดการการกำหนดค่าเพื่อติดตั้งแพ็กเกจและดูแลพวกเขา "ด้วยมือ" ผ่านทางเว็บอินเตอร์เฟส นอกจากนี้ฉันเคยได้ยินบางคนใช้งานบนแพลตฟอร์มที่ไม่ใช่ Red Hat แม้ว่าฉันจะไม่เคยมีประสบการณ์ตรงนั้น

Linux-HA (drbd / heartbeat) นั้นยอดเยี่ยมเช่นกันถึงแม้ว่ามาจาก VCS การกำหนดค่าอาจดูง่าย แต่ไม่เทอะทะ นี่เป็นเรื่องง่ายที่จะทำให้เป็นอัตโนมัติด้วยเครื่องมือการจัดการการกำหนดค่า

เพื่อเป็นการพิสูจน์แนวคิดฉันได้ติดตั้งคลัสเตอร์ Linux ด้วย HACMP ของ IBM - ซอฟต์แวร์การจัดกลุ่ม AIX ของพวกเขา ฉันจะไม่แนะนำสิ่งนี้เพราะฉันจำได้ว่ามันแพงกว่า VCS ด้วยซ้ำ IBM มีโพรซีเดอร์เฉพาะสำหรับการติดตั้งและบำรุงรักษา HACMP ฉันจะไม่ใช้การจัดการการกำหนดค่าที่นี่


4

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

ที่จริงแล้วทุกอย่างอยู่ที่นั่นมันเป็นไปไม่ได้ที่จะเข้าใจ สิ่งที่คุณต้องการจริงๆคือ ebook "คำอธิบายการกำหนดค่าตัวกำหนดเส้นทาง" ... ( ลิงก์ไปยัง PDF ) คุณต้องการอ่านประมาณสิบครั้งแล้วลองนำไปใช้แล้วอ่านอีกสิบครั้งเพื่อให้คุณสามารถอ่านมันได้

การใช้งานที่ดีที่สุดที่ได้รับการสนับสนุนของบริการคลัสเตอร์สำหรับ Linux ณ จุดนี้น่าจะเป็น SLES11 ของ Novell และเป็น High Availability Extension (HAE) มันเพิ่งออกมาเมื่อสองสามเดือนก่อนและมันมาพร้อมกับคู่มือหนา 200 หน้าซึ่งอธิบายวิธีตั้งค่าและทำให้สิ่งต่าง ๆ ทำงานได้ Novell ยังยอดเยี่ยมเกี่ยวกับการสนับสนุนการกำหนดค่าของผู้นำในรูปแบบต่าง ๆ

นอกเหนือจากนั้นยังมีการนำไปใช้ของ RHEL5 ซึ่งมีแพ็คเกจเดียวกันและเอกสารที่เหมาะสม แต่ฉันคิดว่าแพงกว่า SLES อย่างน้อยก็สำหรับเราแล้ว

ฉันจะหลีกเลี่ยงการเต้นของหัวใจตอนนี้และไปกับ Pacekmaker / OpenAIS เพราะพวกเขาจะได้รับการสนับสนุนที่ดีขึ้นในอนาคต อย่างไรก็ตามสถานะปัจจุบันของชุมชนเป็นเช่นนั้นมีผู้เชี่ยวชาญไม่กี่คนมีไม่กี่คนที่ทำงานในการผลิตและมีคนจำนวนมากที่ไร้เดียงสาอย่างสมบูรณ์ เข้าร่วมรายการส่งจดหมาย Pacemaker และใส่ใจกับผู้ชายที่ชื่อ Andrew Beekhof

แก้ไขเพื่อให้รายละเอียดที่ร้องขอ:

Pacemaker / OpenAIS ใช้การทำงานของ 'การตรวจสอบ' ใน 'ทรัพยากรดั้งเดิม' (เช่น nfs-server) เพื่อติดตามสิ่งที่ทรัพยากรกำลังทำอยู่ หากเซิร์ฟเวอร์ NFS ตัวอย่างไม่ตอบสนองต่อส่วนที่เหลือของคลัสเตอร์เป็นจำนวน X วินาทีจากนั้นคลัสเตอร์จะดำเนินการ STONITH (Shoot The Other Node In The Head) เพื่อปิดโหนดหลักเพื่อส่งเสริมโหนดรองให้ทำงานอยู่ คุณตัดสินใจในการกำหนดค่าสิ่งที่จะเกิดขึ้นหลังจากนั้นและการกระทำที่เกี่ยวข้องที่จะดำเนินการ รายละเอียดการใช้งานจากที่นั่นขึ้นอยู่กับบริการที่คุณพยายามทำให้ล้มเหลวหน้าต่างการดำเนินการสำหรับการดำเนินการบางอย่าง (เช่นการส่งเสริมโหนดหลักกลับสู่ต้นแบบ) และสิ่งทั้งหมดนั้นสามารถกำหนดค่าได้มากที่สุด


1

ชุมชน Linux HA เป็นพาร์ติชันเล็กน้อยในขณะนี้

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

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

นอกจากนี้ยังมีโซลูชัน Linux โดยผู้จำหน่ายซอฟต์แวร์คลัสเตอร์บางราย แต่ฉันไม่สามารถบอกคุณได้มากนักเนื่องจากฉันไม่เคยใช้ตัวเอง


1
คุณช่วยแนะนำหนังสือดีเล่มหนึ่งหรือสองเล่มในเรื่องนี้ได้ไหม
Matt Simmons

1

ด้วย Linux เราได้ปรับใช้การจัดกลุ่มด้วย heartbeat และ drbd Heartbeat ตรวจสอบสถานะของเซิร์ฟเวอร์ DRBD ใช้สำหรับการซิงค์ข้อมูลระหว่างเซิร์ฟเวอร์ เรามี oracle service ที่ทำงานบนเซิร์ฟเวอร์เครื่องหนึ่งและ apache บนเซิร์ฟเวอร์อื่น เมื่อเซิร์ฟเวอร์ที่รัน oracle ล้มเหลว heartbeat จะรับรู้เหมือนกันและเรียกคืนบริการ oracle บนเซิร์ฟเวอร์ที่รัน apache และในทางกลับกัน ใช้การตั้งค่านี้เพื่อวัตถุประสงค์อื่น ๆ และเชื่อถือได้จนถึงปัจจุบัน


1

Red Hat Cluster Suiteจะทำสิ่งที่คุณต้องการสำหรับทุกแอปพลิเคชันที่เป็นไปได้ เมื่อใช้ร่วมกับ GFS และ Cluster LVM คุณสามารถมีที่เก็บข้อมูลที่แชร์ได้

การบำรุงรักษาไม่ยากมากแล้วทำให้กล่องแต่ละกล่องทำงาน การโยกย้ายแอปพลิเคชันทำให้การแก้ไขแต่ละกล่องง่ายขึ้น

RHCS มาพร้อมกับส่วนหน้าของเว็บ (Luci) และ GTK ส่วนหน้า (system-config-cluster) เพื่อทำให้การกำหนดค่าและการโยกย้ายสามารถคลิกได้ มันจะช่วยให้คุณกำหนดค่าโดเมน failover ต่อแอปพลิเคชันนโยบายการกู้คืนการฟันดาบทั้งหมดนี้มาจากคอนโซลการจัดการกลางบนเว็บเดียว

เมื่อพิจารณาถึงความจริงที่ว่า RHCS มีตัวเลือกการสนับสนุนที่แข็งแกร่งพอสมควรฉันจึงเลือกใช้ RHCS

ไม่แน่ใจว่าคุณต้องเสียค่าใช้จ่ายเท่าไร แต่ฉันคิดว่ามันอยู่ในช่วงหลายพันดอลลาร์


1

UltraMonkeyเป็นส่วนหนึ่งของการสร้างบนกรอบ Linux-HA ฉันมักจะคิดว่ามันเป็นวิธีแก้ปัญหาภาระการโหลดมากกว่าคลัสเตอร์ที่แท้จริง แต่มันจัดการกับความล้มเหลวได้ดี


นั่นคือการปรับปรุงยัง? เว็บไซต์พูดว่า:Copyright © 2000-2005, Horms Last Updated: Sat Mar 4 16:33:57 2006 +0900
NickW

0

เราใช้ Linux Virtual Server และเก็บไว้เพื่อความพร้อมใช้งานสูงของเรา keepalived สามารถทำ VRRP กับโฮสต์ของตัวเอง (ซึ่งฉันเชื่อว่าต้องใช้เซิร์ฟเวอร์อื่นที่กำลังจะตาย) หรือคุณสามารถตั้งค่าบนโฮสต์ที่แยกต่างหากเพื่อทำการปรับสมดุลโหลดซึ่งสามารถตรวจสอบความพร้อมใช้งานของบริการได้ อาจเป็นไปได้ที่จะกำหนดค่าการตรวจสอบบริการในสถานการณ์แรก แต่ฉันไม่ได้ตรวจสอบ สถานการณ์ที่สองนั้นดีเป็นพิเศษหากคุณสามารถให้เซิร์ฟเวอร์ทั้งสองทำงานพร้อมกันได้มิฉะนั้นคุณสามารถเปลี่ยนเองได้


0

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

ข้อเสียคือมันไม่พร้อมใช้งานจริง ๆ - แต่ถ้าคุณต้องการทดสอบบนเครือข่ายทดสอบของคุณฉันก็ยินดี

กลุ่มปุยอยู่ที่นี่

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


0

มันไม่ฟรี แต่ผู้ที่ไม่มีเวลาหรือความเชี่ยวชาญในการติดตั้งโซลูชัน HA ของตัวเองบน Linux คำตอบอยู่ที่ www.rapidscaleclusters.com ภายในไม่กี่นาทีคุณก็พร้อมใช้งานติดตั้งและใช้งานได้ง่ายและยังรองรับ


ไม่แน่ใจว่าทำไมมีคนทำเครื่องหมายสิ่งนี้ลง ... ดูเหมือนว่าจะเป็นทางออกที่ทำงานได้ (แม้ว่าจะมี gotchas ทางเทคนิคอยู่เสมอ ... อย่างน้อยนี่ก็ไม่ได้ดูเหมือน 'บริการ' ซึ่งเป็นความประทับใจแรกของฉัน)
ericslaw

0

ฉันกำลังทำงานกับตัวจัดการคลัสเตอร์ที่ล้มเหลวโอเพนซอร์สที่เขียนด้วยเชลล์สคริปต์ มันอยู่ในสภาพดีแม้ว่ามันอาจจะขาดการบูรณาการที่คุณต้องการ ลองดูและแจ้งให้เราทราบหากมีคุณสมบัติที่ขาดหายไปซึ่งคุณต้องการดูและใช้งาน: https://github.com/nackstein/back-to-work/

ถ้าคุณเก่งในการเขียนโปรแกรมเชลล์ (POSIX เชลล์) คุณสามารถเข้าร่วมการพัฒนาโครงการ: D

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.