• No results found

บทท 2 เทคน คการเพ ม. High Availability ภายใต Windows Platform เน อหาโดยส งเขป. Microsoft Cluster Service (MS CS)

N/A
N/A
Protected

Academic year: 2021

Share "บทท 2 เทคน คการเพ ม. High Availability ภายใต Windows Platform เน อหาโดยส งเขป. Microsoft Cluster Service (MS CS)"

Copied!
11
0
0

Loading.... (view fulltext now)

Full text

(1)

Thanyapon S [Type the company name] [Pick the date]

บทที่

2

เทคนิคการเพิ่ม

High Availability ภายใต้

Windows Platform

เนื้อหาโดยสังเขป

 Microsoft Cluster Service (MS CS)

 Windows Network Load Balancing Service (WNLB)

| Thanyapon Sananakin

Microsoft Most Valuable Professional: Exchange Server http://www.mvpskill.com | Change the world by Contributions Version 1.0 : 26.April.2013

(2)

เอกสารแจกฟรีห้ามคัดลอกหรือน าไปจ าหน่ายเพื่อหวังผลทางการค้า

บทที่

2.

เทคนิคการเพิ่ม

High

Availability

ภายใต้

Windows Platform

เมื่อ

มองเจาะลึกลงไปในฝั่งระบบปฏิบัติการ Windows นั้นจะพบว่าเทคนิคต่างๆ ที่ทางผู้พัฒนาซอฟท์แวร์ โดยเฉพาะอย่างยิ่ง Microsoft Windows นั้นจะมีการออกแบบมาให้ช่วยเพิ่ม Availability ของระบบคอมพิวเตอร์ นั้นจะมี อยู่ 2 เทคนิค ดังต่อไปนี้

2.1.

Microsoft Cluster Service

เป็นเทคนิคในการเพิ่ม High Availability ในรูปแบบ Active/Standby กล่าวคือจะมีเครื่องคอมพิวเตอร์ส ารอง จ านวน 1 ชุดติดตั้งซอฟท์แวร์เหมือนกับระบบคอมพิวเตอร์หลัก เมื่อระบบคอมพิวเตอร์หลักมีปัญหาไม่สามารถ ให้บริการได้ Microsoft Cluster Service ก็จะสลับไปใช้ระบบคอมพิวเตอร์ส ารองโดยอัตโนมัติ ซึ่งมีสิ่งที่ควรทราบ เกี่ยวกับการท างานของ Microsoft Cluster Service (MS CS) ดังต่อไปนี้

หลักการท างานของ Microsoft Cluster Service (MS CS)

ในการท างานของ Microsoft Cluster Service หรือ MS CS นั้นจะประกอบไปด้วยส่วนต่างๆ ที่ส าคัญดังต่อไปนี้

Cluster

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

Node

หมายถึงเครื่อง Server ที่ท าหน้าที่ให้บริการ Microsoft Cluster Service โดยทั่วไปในแต่ละ Cluster มักมี Node มากกว่า 1 Node (เรียก Node ที่ก าลังงานอยู่ว่า “Active Node” ส่วน Node อื่นซึ่งยังไม่ท างานจะ เรียกว่า Standby Node)

Resource หมายถึงทรัพยากรต่างๆ ที่มีใช้งานร่วมกันภายในกลุ่มของ Cluster เช่น Disk, IP Address,

Computer Name เป็นต้น โดยปกติแล้ว Resource ต่างๆ เหล่านี้จะถูกผู้ครอบครองโดย Active Node เมื่อ

(3)

เอกสารแจกฟรีห้ามคัดลอกหรือน าไปจ าหน่ายเพื่อหวังผลทางการค้า

Active Node ไม่สามารถท างานได้ Standby Node จะท าการยึดครอง Resource ต่างๆ ไปใช้ในการท างาน แทน

Quorum หมายถึงสิ่งที่ใช้ในการตัดสินใจให้ทราบได้ว่าขณะนี้ Active Node สามารถให้บริการอยู่ได้

ตามปกติหรือไม่ หาก Active Node ไม่สามารถท างานได้ ก็จะส่งผลให้เกิดการยึดครอง Resource โดย Standby Node

Heart Beat Network เป็น Network ที่ใช้ในการสื่อสาร

ระหว่าง Node ภายใน Cluster เพื่อใช้ในการ ตรวจสอบสถานะในการท างานของ Node อื่นๆ และการแลกเปลี่ยนสถานะในการท างานระหว่างกันอีกด้วย

Public Network เป็น Network ที่ใช้ในการสื่อสาร

ระหว่าง Node กับเครื่องคอมพิวเตอร์ลูกข่ายนั่นเอง ส าหรับการท างานของ Microsoft Cluster Service นั้นมีหลักการท างานง่ายๆ ดังนี้ จากรูปที่ 2-1 จะเห็นได้ว่า ในขณะที่ Node01 เป็น Active Node นั้น Resource ต่างๆ จะถูกครอบครองโดย Node01 โดยเฉพาะอย่างยิ่ง Cluster Name และ Cluster IP Address ซึ่งเป็นสิ่งส าคัญที่เครื่องลูกข่ายจะติดต่อเข้ามา ซึ่ง Cluster Name และ Cluster IP Address ของ Cluster นั้นจะเป็น Name และ IP Address ที่แยกเป็นอิสระจาก Node แต่ละ Node (ในที่นี้ Cluster Name ชื่อ Cluster01 และ Cluster IP เป็น 192.168.1.3)

ด้วยเหตุนี้เมื่อ Node01 ท าการยึดครอง Resource ต่างๆ ไว้ ดังนั้นเครื่องลูกข่ายจึงติดต่อไปใช้บริการที่ Node01 ทั้งหมด

(4)

เอกสารแจกฟรีห้ามคัดลอกหรือน าไปจ าหน่ายเพื่อหวังผลทางการค้า

รูปที่ 2-1 การท างานของ Microsoft Cluster Service เมื่อ Node01 เป็น Active Node

และเมื่อ Node01 มีปัญหาไม่สามารถให้บริการได้ Node02 ซึ่งเป็น Standby Node จะท าการยึดครอง Resource ต่างๆ มาไว้ที่ตัวของ Node02 เอง ดังนั้นคราวนี้เครื่องลูกข่ายทั้งหมดก็จะติดต่อมาใช้บริการที่ Node02 ดังรูปที่ 2-2 ซึ่งหากมองในมุมมองของเครื่องลูกข่ายจะมองไม่เห็นความแตกต่างเนื่องจากยังคงติดต่ออยู่กับเครื่อง Cluster01 ซึ่งมี หมายเลข IP Address 192.168.1.3 เหมือนเดิม

ด้วยเหตุนี้จึงมีความจ าเป็นที่จะต้องท าให้ Node01 และ Node02 มีข้อมูลเหมือนกันมากที่สุดดังนั้นจึงนิยมใช้ หน่วยเก็บข้อมูลภายนอกมาใช้เก็บข้อมูลในการท างานแทนการใช้ Hard Disk ติดตั้งในแต่ละ Node ซึ่งในรูป 2-1 Disk จาก External Disk จะเสมือนต่อยู่กับ Node01 และในรูป 2-2 Disk จาก External Disk จะเสมือนต่ออยู่กับ Node02

รูปที่ 2-2 การท างานของ Microsoft Cluster Service เมื่อ Node02 เป็น Active Node หมายเหตุ

ส าหรับ Microsoft Cluster Service นั้นเป็นชื่อที่ใช้เรียกในระบบปฏิบัติการ Windows Server 2000 และ Windows Server 2003 ครับ และเมื่อ Microsoft เปิดตัว Windows Server 2008 ก็ได้เปลี่ยนไปเรียกเป็น Failover Cluster Feature ตลอดจน Windows Server 2008 R2 ด้วย และเพื่อความรวบรัดผู้เขียนขอเรียก Microsoft Cluster Service ให้ หมายความรวมถึง Failover Cluster Feature ด้วย ยกเว้นเมื่อต้องการกล่าวถึง Failover Cluster Feature เฉพาะใน Windows Server 2008 จึงจะเรียกว่า Failover Cluster Feature นะครับ

นอกจากนี้ Microsoft Cluster Service ยังจะมีให้ใช้ในระบบปฏิบัติการ Window Server 2003/2008/2008 R2 เฉพาะที่เป็น Enterprise Edition หรือ Data Center Edition เท่านั้น

(5)

เอกสารแจกฟรีห้ามคัดลอกหรือน าไปจ าหน่ายเพื่อหวังผลทางการค้า

ความต้องการพื้นฐานของ Microsoft Cluster Service (MSCS)

หลังจากที่ได้ทราบถึงวิธีการท างานพื้นฐานของ Microsoft Cluster Service ไปแล้ว ต่อไปจะได้กล่าวถึงความ ต้องการพื้นฐานของระบบที่จะสามารถใช้งาน MSCS ได้มีดังต่อไปนี้

 ต้องมี Active Directory ซึ่งอาจเป็น Windows 2003 หรือ 2008 ก็ได้ ทั้งนี้เพื่อใช้ในการพิสูจน์ตัวตน (Authentication) และการพิสูจน์สิทธิในการเข้าถึงข้อมูลต่างๆ (Authorization)

 เครื่อง Server ที่จะท างานโดยใช้ MSCS (แต่ละ Node) นั้นจะต้องใช้ระบบปฏิบัติการ Windows Server ที่เป็น Enterprise Edition หรือ Data Center Edition เท่านั้น และต้องเป็นสามาชิกของ Active Directory Domain เดียวกัน

 เครื่อง Server ที่จะท างานโดยใช้ MSCS นั้นจะต้องมี NIC Card อย่างน้อย 2 ใบ (ส าหรับ Heart Beat Network 1 ใบ และ Public Network 1 ใบ) จริงๆ แล้วสามารถใช้ NIC Card เพียงใบเดียวก็ได้ (ใช้เป็นทั้ง Heart Beat Network และ Public Network) แต่ไม่แนะน าให้ใช้

 ต้องมี Quorum อย่างน้อยวิธีใดวิธีหนึ่ง ซึ่งจะได้กล่าวถึงในหัวข้อต่อไป

 ซอฟท์แวร์ที่จะใช้งานได้ต้องสนับสนุน Microsoft Cluster Service

รู้จักกับ Quorum

Quorum นับว่าเป็นสิ่งส าคัญสิ่งหนึ่งในการท างานของ Microsoft Cluster Service (MSCS) ทั้งนี้เนื่องจาก Quorum เป็นสิ่งเดียวที่ใช้ในการพิจารณาของ MSCS ว่าจ านวน Node ที่มีอยู่ในปัจจุบันเพียงพอส าหรับการท างานของ Cluster หรือไม่

(6)

เอกสารแจกฟรีห้ามคัดลอกหรือน าไปจ าหน่ายเพื่อหวังผลทางการค้า

รูปที่ 2-3 ความคลุมเครือในการพิจารณาหา Node ที่ไม่ท างานใน Cluster หากไม่มี Quorum

ลองพิจารณารูปที่ 2-3 สมมุติว่าเกิดปัญหาที่ Network Switch ท าให้ Node01 ซึ่งเป็น Active Node ไม่สามารถ สื่อสารกับ Node02 ซึ่งเป็น Standby Node ได้ (ในรูปเขียนเหมือนมีฉากมากั้นระหว่าง 2 Node) จะเกิดอะไรขึ้น ??

กรณีที่ 1 Node01 เข้าใจว่า Node01 มีปัญหา เสียเอง จึงปล่อย Resource ต่างๆ ไปให้ Node02 ท างาน

กรณีที่ 2 Node01 เข้าใจว่า Node02 มีปัญหา

กรณีที่ 3 Node02 เข้าใจว่า Node01 มีปัญหาไม่สามารถท างานได้ จึงยึดครอง Resource ต่างๆ มาท างาน

กรณีที่ 4 Node02 เข้าใจว่า Node02 มีปัญหาเสียเอง ไม่สามารถท างานได้ จึงไม่ยึดครอง Resource ต่างๆ มา ท างาน

จากกรณีดังกล่าว จะเห็นว่า Node01 และ Node02 ไม่สามารถตัดสินใจได้ว่า Node ใดจะสามารถยึดครอง Resource เพื่อท างานได้

ดังนั้น MSCS จึงมีความจ าเป็นที่จะต้องใช้ Quorum ในการท างานในทุกๆ Cluster เพื่อใช้ในการตัดสินใจว่า Node ใดสามารถท างานได้หรือไม่ โดยวิธีการท างานของ Cluster ใน MSCS จะใช้วิธีการ Vote ระหว่าง Node ต่างๆ ที่ อยู่ใน Cluster (รวมถึงตัว Quorum เองด้วย) โดยทุก Node (และ Quorum) จะมี Vote อย่างละ 1 Vote เท่ากัน และการ ท างานของ Cluster จะท างานได้ก็ต่อเมื่อมีจ านวน Vote มากกว่าหรือเท่ากับครึ่งหนึ่งของจ านวน Vote ทั้งหมด (หากน้อย กว่าครึ่งหนึ่ง ถือว่า Cluster ทั้งหมดไม่ท างาน หรือระบบล่มทั้งหมดนั่นเอง)

(7)

เอกสารแจกฟรีห้ามคัดลอกหรือน าไปจ าหน่ายเพื่อหวังผลทางการค้า

รูปที่ 2-4 การใช้ Quorum ช่วยในการพิจารณาหา Node ที่ไม่ท างานใน Cluster

เมื่อลองเพิ่ม Quorum เข้าไปใน Cluster ดังรูปที่ 2-4 (ก) จะท าให้มีจ านวน Vote ทั้งหมดเป็น 3 Vote คือ Node01, Node02 และ Quorum และครึ่งหนึ่งของจ านวน Vote คือ 3/2 = 1.5 จึงปัดเศษทศนิยมเป็น 2 Vote

ดังนั้นจะเห็นได้ว่าถ้า Node01 ยังไม่สามารถติดต่อกับ Node02 ได้ แต่ยังสามารถติดต่อกับ Quorum ได้ (ท า ให้ขณะนี้ Node01 มี 2 Vote คือ Node01 และ Quorum มากกว่าครึ่งหนึ่งของจ านวน Vote) จึงสรุปได้ว่าตอนนี้ Node01 นั้นท างานปกติ

ในขณะที่ Node02 (ซึ่งมีเพียง 1 Vote คือ ตัว Node02 เอง ซึ่งน้อยกว่าครึ่งหนึ่งของจ านวน Vote ทั้งหมด) ดังนั้น Node02 จึงถือว่าไม่ท างาน

ในทางกลับกัน ดังรูปที่ 2-4 (ข) ถ้า Node02 ไม่สามารถติดต่อกับ Node01 ได้แต่ยังสามารถติดต่อกับ Quorum ได้ก็จะสามารถสรุปได้ว่า Node01 มีปัญหาไม่สามารถท างานได้ (เพราะ Node01 มีเพียง 1 Vote คือตัว Node01 เอง) ในขณะที่ Node02 มี 2 Vote คือ Node02 และ Quorum ดังนั้น Node02 ก็จะท าการยึดครอง Resource ต่างๆ มาใช้ในการ ปฏิบัติงานเป็น Active Node แทน

(8)

เอกสารแจกฟรีห้ามคัดลอกหรือน าไปจ าหน่ายเพื่อหวังผลทางการค้า

ค าถามถัดไปที่ต้องคิดก็คือว่าแล้วจะใช้ใครเป็น Quorum ดี ดังนันจึงมีวิธีการในการก าหนดรูปแบบต่างๆของ Quorum ดังนี้ 1

Node And Disk Majority

เป็นวิธีการเลือก Quorum ที่เป็นที่นิยมใช้กันมากที่สุด เนื่องจากในการติดตั้งระบบ Cluster นั้น โดยมากมักมี การใช้ External Disk หรือแหล่งเก็บข้อมูลภายนอกอยู่แล้ว ดังนั้นจึงนิยมน า External Disk มาใช้งานเป็น Quorum ด้วย เรียกว่า “Quorum Disk” และมักนิยมก าหนดเป็น Drive Q: ให้กับระบบปฏิบัติการ Windows

วิธีการนี้ Node จะบันทึกข้อมูลลงใน Drive Q ของตนเพื่อใช้ในการแสดงว่า Node นั้นๆ สามารถติดต่อกับ Quorum Disk ได้ ดังรูปที่ 2-5

รูปที่ 2-5 การท างานของ Cluster โดยใช้ Quorum แบบ Node-and-Disk-Majority

Node And File Share Majority

เป็นวิธีการติดตั้ง Quorum ที่ใช้เป็นกรณีพิเศษ เช่น DAG (Database Availability Group) ของ Exchange Server 2010 โดยมีการใช้เครื่องคอมพิวเตอร์เครื่องใดเครื่องหนึ่งในระบบเครือข่าย ซึ่งสามารถให้บริการ File and Printer Sharing ได้ มาใช้เป็น Quorum และเรียกเครื่องที่ให้บริการ File Sharing ว่า “File Share Witness” หรือ FSW

วิธีการนี้ Node แต่ละ Node จะ Map Drive ไปยังเครื่อง FSW เพื่อท าการบันทึกข้อมูลลงใน Shared Folder ที่ FSW ในการแสดงว่า Node นั้นๆ สามารถติดต่อกับ FSW ได้ ดังรูปที่ 2-6

(9)

เอกสารแจกฟรีห้ามคัดลอกหรือน าไปจ าหน่ายเพื่อหวังผลทางการค้า

รูปที่ 2-6 การท างานของ Cluster โดยใช้ Quorum แบบ Node-and-File Share-Majority

Node Majority

เป็นวิธีการติดตั้ง Quorum ที่ใช้เมื่อมีจ านวน Node ใน Cluster เป็นเลขคี่ (เช่น 3,5,7 Node) เป็นต้น เนื่องจากมี จ านวน Node เป็นเลขคี่ดังนั้นจึงสามารถใช้ตัดสินใจในการท างานได้อยู่แล้ว จึงไม่ต้องอาศัย Quorum จากภายนอกเข้าใน ช่วยในการตัดสินใจ

(10)

เอกสารแจกฟรีห้ามคัดลอกหรือน าไปจ าหน่ายเพื่อหวังผลทางการค้า

2.2.

Windows Network Load Balancing Service

Windows Network Load Balancing Service หรือ WNLB เป็นเทคนิคในการเพิ่ม High Availability อีก รูปแบบหนึ่งที่ท างานในรูปแบบ Active/Active ซึ่งนอกจากจะช่วยเพิ่ม High Availability แล้วยังช่วยเพิ่มประสิทธิภาพ การประมวลให้กับระบบคอมพิวเตอร์อีกด้วย โดยจะช่วยให้เกิดการกระจายงานไปยัง Node ต่างๆ ให้ช่วยประมวลผล ด้วย ดังรูปที่ 2-8

รูปที่ 2-8 การท างานของ Windows Network Load Balancing Service (WNLB)

จากรูปที่ 2-8 จะเห็นได้ว่าเครื่องคอมพิวเตอร์ลูกข่าย (Client) จะท าการติดต่อเข้าสู่กลุ่มของ Cluster โดยใช้ Virtual IP Address ซึ่งเป็น IP Address เสมือนของ Cluster ซึ่งใช้ในการรองรับการติดต่อจากเครื่องลูกข่าย จากนั้น Node แต่ละ Node จะท าการให้บริการกับเครื่องลูกข่าย ในลักษณะคล้ายๆ กับการแจกไพ่ เช่น client1 ไปยัง Node1, Client2 ไป ยัง Node2 และ Client3 ไปยัง Node3 เป็นต้น

เมื่อ Node ใด Node หนึ่งมีปัญหาไม่สามารถให้บริการได้ Node อื่นๆ ในระบบก็จะให้บริการแทน Node ที่ เสียหายไปได้ ดังรูปที่ 2-9 แสดงให้เห็นว่าในขณะที่ Node1 ก าลังให้บริการกับ client1 อยู่นั้นหาก Node1 เกิดมีปัญหา ขึ้นมา ก็สามารถโอนงานที่ก าลังให้บริการกับ Client1 ให้กับ Node อื่นๆ ใน Cluster ได้ (ในที่นี้สมมุติว่า Node2 รับ หน้าที่ในการให้บริการต่อไป) ดังนั้นเครื่อง Client ก็จะยังคงสามารถรับบริการได้ตามปกติ

(11)

เอกสารแจกฟรีห้ามคัดลอกหรือน าไปจ าหน่ายเพื่อหวังผลทางการค้า

รูปที่ 2-9 การท างานของ Windows Network Load Balancing Service (WNLB) เมื่อมี Node เสียหาย

ส าหรับ Windows Network Load Balancing Service นั้น โดยมากแล้วมักนิยมใช้กับ Application Server ต่างๆ เช่น Web Server ซึ่งไม่ต้องมีการเก็บข้อมูลส่วนกลาง (เนื่องจาก WNLB ไม่มีที่เก็บข้อมูลส่วนกลางเหมือนกับ MSCS) ซึ่งการติดตั้ง WNLB นั้นมีความต้องการที่ง่ายกว่า MSCS มาก ดังนี้

ความต้องการพื้นฐานของ Windows Network Load Balancing Service

หลังจากที่ได้ทราบถึงวิธีการท างานพื้นฐานของ Windows Network Load Balancing Service (WNLB) ไป แล้ว ต่อไปจะได้กล่าวถึงความต้องการพื้นฐานของระบบที่จะสามารถใช้งาน WNLB ได้มีดังต่อไปนี้

 เครื่อง Server ที่จะท างานโดยใช้ WNLB นั้นสามาถใช้งานได้ในทุกๆ Edition ของ Microsoft Windows

 เครื่อง Server ที่จะท างานโดยใช้ WNLB นั้นจะต้องมี NIC Card อย่างน้อย 2 ใบ (ไม่แนะน าให้ใช้เทคนิคการ ท า NIC Teaming ร่วมกับ WNLB)

 ซอฟท์แวร์ที่จะใช้งานได้ต้องสนับสนุน Microsoft Cluster Service

หลังจากที่ได้กล่าวถึง Microsoft Cluster Service และ Windows Network Load Balancing Service ไป พอสมควรแล้ว ในบทต่อไปจะได้กล่าวถึงวิธีการติดตั้ง และใช้งานทั้ง MSCS และ WLNB อย่างละเอียดตามล าดับในบท ต่อๆไป

References

Related documents

Describe how Microsoft SQL Server 2000 failover clustering works with Microsoft Windows Server 2003 Cluster service to help maximize availability.. Discuss how SQL Server

To create additional nodes in a cluster of virtual machines across physical hosts, you create a template of the first virtual machine and use it to deploy additional virtual

This paper discusses how installing Brocade Network Advisor on a pair of Microsoft Cluster Service nodes provides automatic failover of management services in case of server

Following the resolutions of the City Council, the Energiereferat started in 1990 to perform systematic studies on potential sites for decentralized co-generation systems.. For the

•Microsoft SQL Server 2008 Service Pack 3 (Windows only) •Microsoft SQL Server 2008 R2 Service Pack 2 (Windows only) •Microsoft SQL Server 2012 Service Pack 2 (Windows only)

Microsoft White Paper 5 Figure 1: Building a High Performance, Availability and Scalability Scale-Out File Server Cluster using Violin Windows Flash Array.. 2 Building

carcinoma patients where patients with long leukocyte telomere length displayed a poorer 375.

 Microsoft Network Policy Server (MS-NPS) or the legacy Microsoft Internet Authentication Service (MS-IAS) — SafeNet Authentication Service is integrated with the local RADIUS