ระบบคลัสเตอร์ หรือคลัสเตอริ่ง เป็นการเชื่อมต่อระบบการทำงานของกลุ่มคอมพิวเตอร์เข้าด้วยกันภายใต้ระบบเครือข่ายความเร็วสูง มีความสามารถในการกระจายงานที่ทำไปยังเครื่อง ภายในระบบเพื่อให้การประมวลผลมีประสิทธิภาพสูงขึ้น โดยอาจเทียบเท่าซุปเปอร์คอมพิวเตอร์หรือสูงกว่าสำหรับการประมวลผลงานที่มีความซับซ้อนโดยเฉพาะงานด้านวิทยาศาสตร์ เช่น การจำลองโครงสร้างของโมเลกุลทางเคมี, การวิเคราะห์เกี่ยวกับตำแหน่งการเกิดพายุสุริยะ, การวิเคราะห์ข้อมูลที่มีขนาดใหญ่ เป็นต้น
โครงสร้างของระบบคลัสเตอร์ แบ่งเป็น 2 ชนิด คือ
ระบบคลัสเตอร์แบบปิด คลัสเตอร์จะต่อผ่านเกตเวย์ที่ซ่อนทั้งระบบจากโลกภายนอก
ข้อดี คือ มีความปลอดภัยสูงและใช้อินเตอร์เน็ตแอดเดรสเพียงแอดเดรสเดียวเท่านั้น
ข้อเสีย คือ แต่ละโหนดในระบบไม่สามารถช่วยกันบริหารข้อมูลจากภายนอกได้
ระบบคลัสเตอร์แบบเปิด คลัสเตอร์จะต่อกับเน็ทเวิร์คภายนอกโดยตรงทำให้ผู้ใช้เข้าถึงทุกโหนดในระบบได้โดยตรง
ข้อดี คือ สามารถช่วยกันบริการข้อมูลได้ เหมาะกับงานบริการข่าวสารเป็นจำนวนมาก เช่น ในระบบเซิร์ฟเวอร์สำหรับ www หรือ ftp ที่ขยายตัวได้
ข้อเสีย คือ ความปลอดภัยต่ำลงมากเพราะต้องคอยดูแลทุกเครื่องในระบบ และยังต้องการหมายเลขอินเตอร์เน็ทแอดเดรสจำนวนมาก
คอมพิวเตอร์แต่ละเครื่องในระบบคลัสเตอร์จะถูกเรียกว่า “โหนด (Node)” อาจจะมีโหนดที่ทำหน้าที่ควบคุมการทำงานของโหนดอื่น ๆ ในระบบอีกชั้น เรียกว่า “Front-end Node” ส่วนโหนดอื่นจะทำหน้าที่ประมวลผลเป็นหลัก เรียกว่า “Compute Node” แต่ละโหนดจะสร้างระบบที่เสมือนเป็นเครื่องเดียว โดยใช้วิธีการต่าง ๆ เช่น การใช้งานระบบ Network Information System (NIS) เพื่อให้ผู้ใช้ (User) สามารถใช้งานร่วมกันได้ทุกโหนด ทำให้ผู้ใช้สามารถล็อกอิน (Login) เพื่อใช้งานในโหนดใด ๆ ภายใต้ระบบคลัสเตอร์เดียวกัน นอกจากนั้นภายในระบบคลัสเตอร์อาจจะมีการใช้งานซอฟต์แวร์ต่าง ๆ เพื่อการติดตั้งใช้งาน, การจัดลำดับงานที่ทำในระบบ, การดูแลบริหารระบบ และซอฟต์เพื่อการประมวลผลแบบขนาน (Parallel Computing)
โปรแกรม Utility และ Library ต่าง ๆ โปรแกรมเหล่านี้บ้างก็ช่วยให้บริหารระบบได้ดีขึ้น เช่น Library Math บางตัวที่ทำงานแบบขนานได้ เช่น Scalapack, PetSc เป็นต้น หรือ โปรแกรมสำหรับ Graphic Rendering โปรแกรมนี้มีทั้งในระบบลินุกซ์ และวินโดว์ ซึ่งสามารถทำงานแบบขนานได้โดยใช้เครื่องคอมพิวเตอร์จำนวนมากช่วยกันเรนเดอร์ (Render)
ระบบ Cluster Computing กับ ระบบ Lan (Local Area Networking)
ระบบ Cluster Computing มีส่วนสำคัญ 3 อย่างคือ เครือข่ายความเร็วสูง ระบบซอฟต์แวร์ที่สนับสนุนระบบคลัสเตอร์ และโปรแกรมประยุกต์ที่ใช้ขีดความสามารถของการประมวลผลแบบขนานหรือแบบกระจาย ส่วนระบบ Lan เครื่องทุกเครื่องที่อยู่บนระบบ LAN เป็นอิสระต่อกันไม่มีระบบซอฟต์แวร์ที่นำความสามารถของการประมวลผลแบบขนานและแบบกระจายมาใช้ แต่
ระบบ Cluster Computing กับ ระบบ Grid (Grid Computing)
ระบบ Cluster Computing เป็นการเชื่อมต่อเพื่อเพิ่มสมรรถนะของการประมวลผลด้วยเครื่องคอมพิวเตอร์ที่มีแพลตฟอร์ม (Platform) เดียวกันอยู่ในพื้นที่จำกัด ส่วน Grid Computing นั้นจะเชื่อมต่อได้ทุกแพลตฟอร์ม ไม่ว่าแต่ละแพลตฟอร์มจะห่างไกลกันเท่าไร
ระบบ Cluster Computing กับ ระบบโหลดบาลานซ์ (Load balancing)
ระบบ Cluster Computing มีการจัดกลุ่มของคอมพิวเตอร์หลายตัวเพื่อให้สามารถทำงานได้เหมือนกับเป็นคอมพิวเตอร์ตัวเดียวกัน ดังนั้นไม่ว่า ผู้ใช้เข้ามาใช้งานเครื่องใดภายในกลุ่มก็จะรู้สึกเหมือนใช้งานเครื่องเดียวกัน คุณสมบัติของการทำ Clustering คือการทำรีพลิเคท(Replication) โดยในแง่ของ Web Application คือการทำ Session Replication ซึ่งตามปกติแล้ว Session ของผู้ใช้เก็บใน Web Server เครื่องที่ผู้ใช้ใช้งานอยู่เท่านั้นแต่การทำ Clustering จะเป็นการคัดลอก Replicate Session นั้นไปยัง Web Server อื่นภายในกลุ่มด้วย ทำให้ไม่ว่าผู้ใช้จะเข้าไปใช้งานใน Server เครื่องใดก็จะมี Session ของผู้ใช้อยู่ด้วยเสมอ ส่วน Load Balancing คือการจัดกลุ่มของคอมพิวเตอร์หลายตัวเพื่อแบ่งงานกัน หรือกระจาย Load การใช้งานของผู้ใช้ไปยังคอมพิวเตอร์ภายในกลุ่ม เพื่อให้สามารถรับจำนวนผู้ใช้ที่เข้ามาใช้งานได้มากขึ้น หรือสามารถรับงานที่เข้ามาได้มากขึ้น นอกจากนั้นยังมีคุณสมบัติของ Fail Over คือหากมีคอมพิวเตอร์ใดภายในกลุ่มมีปัญหาไม่สามารถทำงานได้ ตัว Load Balancer ที่เป็นตัวแจก Load ให้คอมพิวเตอร์ภายในกลุ่มก็จะส่ง Load ไปยังเครื่องอื่นแทน จนกว่าเครื่องนั้นจะกลับมาใช้งานได้ดังเดิม การทำงานของ Load Balancer
-ขอบคุณข้อมูล https://www.gotoknow.org/