Friday, May 31, 2013

High Availability

High Availablity


     ปัจจุบัน ไม่ว่าองค์กรขนาดเล็กไปจนถึงชนาดใหญ่ที่ต้องใช้งานเกี่ยวกับระบบ IT ก็มักจะมีอุปกรณ์ที่เกี่ยวกับเครือข่าย ซึ่งระบบที่ว่านี้ก็ประกอบไปด้วยพวกอุปกรณ์พื้นฐาน
คือ Router & Switch, Server และพวกที่เป็นระดับ Advance เช่น Firewall, IPS, Wireless System อันนี้ก็แล้วแต่ความต้องการของแต่ละองค์กรเลย ซึ่งพูดได้เลยว่าในปัจจุบัน มีผลิตภัณฑ์ พร้อมทั้ง Solution สามารถตอบสนองความต้องการทางด้านระบบ IT ได้ครบครัน และตัวเลือกเยอะมากๆ

     คราวนี้สิ่งที่ทุกคนพึงหวังเกี่ยวกับระบบนี้คือ ให้มันสามารถทำงานได้
24 ชั่วโมง/วัน และ 365 วัน/ปี (พูดง่ายๆคือ ทำทั้งวันทั้งคืน ไม่มีหยุดพัก) แต่ก็อย่างว่าครับ ใครจะไปรู้ว่าอุปกรณ์พวกนี้มันจะใช้งานได้ถึงเมื่อไหร่ วันดีคืนดี เกิดมันเสียขึ้นมาจะทำอย่างไร โดยเฉพาะหากเป็นพวกองค์กรที่ให้บริการเกี่ยวกับระบบการเงิน สายการบิน หรือทุกอย่างที่มีความเสี่ยง และวิกฤตสูง (High Critical) แล้วดันเป็นระบบที่คนใช้กันเยอะ แต่บังเอิญมาเสีย ทำให้คนเข้าใช้งานไม่ได้ กินเวลาหลายนาที หลายชั่วโมง หรือที่แย่มากๆ ก็เป็นวัน แน่นอนว่าย่อมเกิดความเสียหายมหาศาลแก่องค์กรแน่ๆ

     เกริ่นนำมาพอสมควรแล้ว วันนี้พี่จะสอนหลักการทำ
High Availability (HA) หรือการทำ Redundant ว่าหากเกิดเหตุการณ์ที่อุปกรณ์มีปัญหา เราจะหลีกเลี่ยงระยะเวลาที่ไม่สามารถใช้งานระบบ (Downtime) ไม่ให้มันนานจนเกินไปได้อย่างไรบ้าง ซึ่งพื้นฐานตรงนี้ เป็นพื้นฐานที่สามารถใช้กับอุปกรณ์เกือบทุกยี่ห้อ และเกือบทุก Solution (คือบางยี่ห้อไม่รองรับการทำ HA โดยเฉพาะของที่มีประสิทธิภาพต่ำ ราคาถูก หรือของที่ใช้กันตามบ้านเรือน) เอาไว้ให้น้องๆศึกษาหลักการทำงานของมันครับ

รูปแบบ Network Diagram อย่างง่าย และเต็มไปด้วย Single Point of Failure
อธิบาย : จากภาพ Network Diagram ด้านบน เป็นระบบอย่างง่ายคือ User หรือผู้ใช้งานทางด้านซ้ายมือ หากต้องการใช้งาน Internet เมื่อเราพิจารณาการไหล หรือ Flow จะได้ว่า

User -> Core-Switch -> Firewall -> ISP Router -> Internet

ซึ่งก็ดูง่ายดาย ไม่มีความซับซ้อนอะไร แต่เมื่อไหร่ก็ตามที่อุปกรณ์คือ CORE-Switch หรือ Firewall หรือ ISP Router เกิดมีปัญหาขึ้น เพียงแค่ตัวใดตัวหนึ่ง ก็จะทำให้ User ทั้งหมด ไม่สามารถใช้งาน Internet ได้ ในกรณีนี้คำศัพท์ทางเทคนิคเรียกว่า  ‘Single Point of Failure’ หรือตีความง่ายๆ เมื่อไหร่ที่อุปกรณ์ตัวนี้ๆ เกิดปัญหา จะทำให้ระบบไม่สามารถใช้งานได้  

เมื่อไหร่ก็ตามที่อุปกรณ์ตัวใดตัวหนึ่งเสีย ก็จะทำให้ระบบใช้งานไม่ได้

แล้วเราจะหลีกเลี่ยง Single Point of Failure ได้อย่างไร ?
วิธีการที่จะนำมาใช้คือการทำ High Availability (ต่อไปจะย่อว่า HA) พูดง่ายๆคือ ซื้ออุปกรณ์มาเพิ่ม แล้วก็ออกแบบระบบให้มีการรองรับการทำ HA เพราะการทำ HA จะมีการปรับเปลี่ยนรูปแบบการดีไซน์ในเรื่องของ IP และ Flow การวิ่งของ Traffic ครับ จากตัวอย่างด้านบน ถ้าพี่ต้องการทำ HA อุปกรณ์ทั้งหมด พี่ก็จะได้รูปแบบการ Design แบบ Full HA ดังนี้

การทำ HA แบบ Full Mesh ทั้งระบบ
จากภาพด้านบนจะเห็นได้ว่า พี่ทำการสำรองอุปกรณ์เพิ่มมาอย่างละ 1 ตัว แล้วทำการเชื่อมอุปกรณ์ทุกตัวด้วย Link แบบ Full-Mesh (นิยามคำว่า Partial-Mesh, Full-Mesh น้องๆจะเจอในบทเรียน น่าจะเรื่อง Routing เดี๋ยวไว้เรียนกับ อ. น้ำตาล หรือ อ.ชัชชัย นะครับ) ณ ตรงนี้หากอุปกรณ์หรือ Link ช่วงไหนเกิดมีปัญหาชึ้นมา เราจะพบว่ายังมีเส้นทางสำรองซึ่งสามารถนำ User ออกสู่ Internet ได้เสมอ


คำถาม
Q1 ) แล้วถ้าเกิดมันเสียตัวนึงไปก่อน แล้วอีกตัวเสียตาม อย่างเช่น Firewall-1 วันนี้มีปัญหา วันต่อมา Firewall-2 มีปัญหาด้วย จะเป็นอย่างไรครับ
A1) ปกติถ้าเป็นองค์กร หรือระบบที่มีความเสี่ยงสูง เค้าจะมีเจ้าหน้าที่เรียกว่า Network Operations Center (NOC) คอยดูแลอยู่ 24 ชั่วโมง แล้วอุปกรณ์พวกนี้จะมีระบบที่เอาไว้คอยตรวจสอบการทำงาน ถ้าอุปกรณ์ตัวไหนเสียจะมีการแจ้งเตือน ทำได้ถึงขนาดที่ว่า ทันทีที่มีปัญหา จะมีอีเมล์หรือ SMS แจ้งเข้ามือถือเจ้าหน้าที่ ให้มาแก้ปัญหาทันทีเลยหล่ะครับ ซึ่งเค้าจะไม่ปล่อยให้มันเสียนานจนกระทั่งรอให้อีกตัวนึงมันร่วงตามไป โดยปกติองค์กรพวกนี้เค้ามีการจ้างผู้รับเหมาไว้คอยดูแลระบบพวกนี้ 24 ชั่วโมง อย่างเช่น หากอุปกรณ์นี้เกิดมีปัญหา ผู้รับเหมาจะต้องทำให้ระบบกลับคืนสู่สภาพเดิม ภายใน 4 ชั่วโมง เป็นต้น

Q2 ) แล้วถ้าสุดวิสัย มันเกิดเสียพร้อมๆกันเลย ทำไงครับพี่ ?
A2 ) เคสนี้เป็นอะไรที่ซวยมากๆครับ ก็ไหว้พระแล้วก็รีบแก้ไข โดนด่ากันไป T T


กลับมาสู่เนื้อหาการทำ HA กันต่อ เค้าใช้หลักการการทำ HA อย่างไรบ้าง
ปกติการทำ HA จะเป็นการสำรองอุปกรณ์ ซึ่งจะทำเป็นคู่ๆ ไป ตัวอย่างเช่น
Router ก็ต้องทำ HA กับ Router
Firewall ก็ต้องทำ HA กับ Firewall เท่านั้น เป็นต้น
สังเกตว่าจะมีลักษณะเป็นคู่ๆ กันไปหรือ บางยี่ห้อสามารถทำได้พร้อมกันมากกว่า 2 ตัว ตรงนี้จะยังไม่พูดถึงนะครับ แต่หลักการจะคล้ายๆ กันหมด

ข้อกำหนดทั่วๆไปของอุปกรณ์ที่มาทำ HA (ตรงนี้จะไม่เหมือนกันทุกยี่ห้อนะ)
1. อุปกรณ์ต้องเป็นรุ่นเดียวกัน, Software บนอุปกรณ์มี Version เดียวกัน
2. การตั้งค่าการทำงาน (Configuration) ของอุปกรณ์ที่ทำ HA คู่กัน ต้องเหมือนกัน
ซึ่งข้อ 1 บางยี่ห้อ บางอย่าง ก็ไม่ต้องเป็นรุ่นเดียวกัน หรือ Software ตรงกันก็ได้ครับ ก็ต้องศึกษารายละเอียดของแต่ละรุ่นกันเอาเองครับ

หลักการทำ HA
การทำ HA ของอุปกรณ์ หลักๆจะแล้วแต่ยี่ห้อ และการออกแบบของอุปกรณ์แต่ละตัว แต่ถ้าจำแนกตามวิธีการทำงานในการทำ HA จะแบ่งได้ 2 ลักษณะคือ
  1. Active/Standby หรือ Active/Backup หรือ Active/Passive (ความหมายเดียวกัน)ในลักษณะนี้จะเป็นแบบที่อุปกรณ์ที่เป็นคู่ HA, จะมีอุปกรณ์ตัวใดตัวหนึ่งเป็น Master คือทำหน้าที่อยู่ตัวเดียว 100% ในระหว่างนี้ตัวที่ไม่ใช่ Master(ซึ่งก็คือตัว Backup) จะคอยตรวจสอบว่า Master ทำงานปกติอยู่รึเปล่า หากเมื่อไหร่ก็ตามที่ Master เกิดมีปัญหา, ตัว Backup ก็จะเปลี่ยนตัวเองมาเป็น Master ทำงานแทนได้เกือบจะทันที
  2. Active/Activeแบบนี้จะเป็นการทำ HA โดยที่อุปกรณ์ที่เป็นคู่ HA ทั้งหมด ทำงานพร้อมๆกัน โดยมีการแบ่งงาน (Load) แล้วแต่สัดส่วนที่กำหนด เช่น 50/50 เป็นต้น หากกรณีที่มีตัวใดตัวหนึ่งมีปัญหา อีกตัวที่ทำงานอยู่ก็จะรับภาระไปเต็มๆ 100%

หลังจากที่ได้เรียนรู้โหมดของการทำ HA ต่อไปจะเป็นขั้นตอนการทำ HA ในมุมมองของอุปกรณ์ครับ
รูปแบบการทำ HA อย่างง่าย
อธิบาย : User ด้านล่างมี IP : 10.0.0.1/24 และมีการตั้งต่า Gateway คือ 10.0.0.254 การที่จะออกสู่ Internet ต้องวิ่งผ่าน Router-1 หรือ Router-2 ซึ่งมีการทำ HA ไว้เรียบร้อยแล้ว พี่จะให้พิจารณาข้อมูลต่อไปนี้
Router 1 : มี IP = 10.0.0.252 (IP จริง)
Router 2 : มี IP = 10.0.0.253 (IP จริง)

เนื่องจาก Router ทั้งสองตัวต้องการทำ HA จึงต้องมีการสร้าง Virtual IP (VIP หรือ IP ปลอม) ขึ้นมา 1 เบอร์ ซึ่งก็คือ 10.0.0.254 ซึ่งในที่นี้ มุมมองของ User จะรู้แค่ว่า Gateway ที่ต้องใช้งานคือ 10.0.0.254 แต่ตัวที่ทำงานให้กับ User จริงๆอาจเป็น Router-1 หรือ Router-2 ก็ได้ และอาจเป็นแบบ Active/Active หรือ Active/Standby ขึ้นอยู่กับการตั้งค่าการทำงานของระบบ HA ซึ่งเนื้อหาตรงนี้จะอยู่ในระดับสูง พี่จะยังไม่ขอพูดถึง เอาเป็นว่าพอจะเข้าใจการทำงานคร่าวๆของการทำ HA กันแล้วนะครับ :)


เผื่อคนต้องการศึกษาต่อ : การทำ HA ของอุปกรณ์จะใช้ Protocol สำหรับการสร้างรูปแบบ HA ขึ้นมา เช่นโปรโตคอล VRRP, HSRP, GLBP
เป็นต้น ซึ่งจะมีข้อดีข้อเสียแตกต่างกันไป และบางโปรโตคอลก็ใช้ได้กับบางยี่ห้อเท่านั้นครับ 


by,,,p'artz # KKU COE/17

No comments:

Post a Comment