การปรับใช้เซิร์ฟเวอร์แฟ้มที่มีอยู่อย่างมากใน Azure IAAS (ARM) กับ SIOS DataKeeper
ในโพสต์นี้เราจะอธิบายรายละเอียดขั้นตอนเฉพาะที่จำเป็นสำหรับการปรับใช้คลัสเตอร์ล้มเหลวของเซิร์ฟเวอร์ไฟล์ 2 โหนดใน Azure ในพื้นที่เดียวของ Azure โดยใช้ Azure Resource Manager ฉันจะสมมติว่าคุณคุ้นเคยกับแนวคิดพื้นฐาน Azure และแนวคิดพื้นฐานของ Failover Cluster ในบทความนี้เราจะอธิบายถึงสิ่งที่ไม่ซ้ำกันเกี่ยวกับการปรับใช้คลัสเตอร์ Failover Cluster ของเซิร์ฟเวอร์ไฟล์ใน Azure ด้วย DataKeeper Cluster Edition คุณสามารถจัดเก็บข้อมูลที่แนบมาภายในไม่ว่าจะเป็น Premium หรือ Standard Disks และทำซ้ำดิสก์เหล่านี้ทั้งแบบซิงโครนัสแบบอะซิงโครนัสหรือผสมหรือทั้งสองอย่างระหว่างสองโหนดคลัสเตอร์ นอกจากนี้รีซอร์ส DataKeeper Volume ถูกลงทะเบียนใน Windows Server Failover Clustering ซึ่งใช้แทน Physical Disk resource แทนที่จะควบคุมการจอง SCSI-3 เช่น Physical Disk Resource ปริมาณไดรฟ์ DataKeeper จะควบคุมทิศทางของกระจกเพื่อให้แน่ใจว่าโหนดที่ใช้งานอยู่เสมอคือแหล่งที่มาของกระจก ส่วนที่เกี่ยวข้องกับ Failover Clustering จะมีลักษณะรู้สึกและมีกลิ่นคล้าย Physical Disk และใช้งานได้เช่นเดียวกับ Physical Disk Resource
Pre-Requisites เมื่อต้องการปรับใช้คลัสเตอร์ Failover Server แบบ 2 โหนดใน Azure
- คุณเคยใช้ Azure Portal มาก่อนและสามารถปรับใช้เครื่องเสมือนได้อย่างสะดวกใน Azure IaaS
- ได้รับใบอนุญาตหรือ eval ของ SIOS DataKeeper แล้ว
การปรับใช้อินสแตนซ์ของคลัสเตอร์ล้มเหลวของเซิร์ฟเวอร์แฟ้มโดยใช้พอร์ทัล Azure
เมื่อต้องการปรับใช้คลัสเตอร์ Failover Cluster Server 2 โหนดใน Azure เราจะสมมติว่าคุณมี Virtual Network พื้นฐานขึ้นอยู่กับ Azure Resource Manager และคุณมีเครื่องเสมือนอย่างน้อยหนึ่งเครื่องทำงานและกำหนดค่าเป็น Domain Controller เมื่อคุณมีเครือข่ายเสมือนจริงและโดเมนที่กำหนดค่าคุณจะจัดหาอุปกรณ์เสมือนใหม่สองเครื่องซึ่งจะทำหน้าที่เป็นโหนดสองโหนดในกลุ่มของเรา สภาพแวดล้อมของเราจะมีลักษณะดังนี้: DC1 – Domain Controller และ File Share Witness SQL1 และ SQL2 – โหนดทั้งสองของกลุ่ม File Server Cluster
การจัดเตรียมโหนดคลัสเตอร์ที่สอง (SQL1 และ SQL2)
การใช้ Azure Portal เราจะจัดเตรียมทั้ง SQL1 และ SQL2 ในลักษณะเดียวกัน มีตัวเลือกมากมายให้เลือก ได้แก่ ขนาดตัวอย่างตัวเลือกการจัดเก็บเป็นต้น คู่มือนี้ไม่ได้หมายถึงคำแนะนำในการปรับใช้เซิร์ฟเวอร์ใน Azure เนื่องจากมีแหล่งข้อมูลที่ดีจริงๆและมีการเผยแพร่ข้อมูลทุกวัน อย่างไรก็ตามคุณควรคำนึงถึงสิ่งสำคัญบางอย่างเมื่อสร้างอินสแตนซ์โดยเฉพาะอย่างยิ่งในสภาวะแวดล้อมแบบคลัสเตอร์ ชุดความพร้อมใช้งาน – เป็นสิ่งสำคัญที่ทั้ง SQL1, SQL2 และ DC1 อยู่ในชุดการพร้อมใช้งานเดียวกัน โดยวางไว้ในชุดการตั้งค่าความพร้อมกันเราจะตรวจสอบว่าแต่ละโหนดคลัสเตอร์และพยานแชร์ไฟล์อาศัยอยู่ในโดเมนฟอรัมและโดเมนการอัปเดตที่แตกต่างกัน ช่วยให้มั่นใจได้ว่าในระหว่างการบำรุงรักษาตามแผนและการบำรุงรักษาที่ไม่ได้วางแผนคลัสเตอร์จะยังคงสามารถรักษาองค์ประชุมและหลีกเลี่ยงการหยุดทำงาน รูปที่ 3 – ตรวจสอบให้แน่ใจว่าได้เพิ่มโหนดคลัสเตอร์ทั้งสองและพยานในการแชร์ไฟล์ไปยังชุดข้อมูลความพร้อมกัน
ที่อยู่ IP แบบคงที่
เมื่อ VM แต่ละตัวถูกจัดเตรียมไว้คุณจะต้องไปที่การตั้งค่าและเปลี่ยนการตั้งค่าเพื่อให้ที่อยู่ IP เป็นแบบคงที่ เราไม่ต้องการให้ที่อยู่ IP ของโหนดคลัสเตอร์ของเรามีการเปลี่ยนแปลง รูปที่ 4 – ตรวจสอบให้แน่ใจว่าแต่ละโหนดคลัสเตอร์ใช้ IP แบบสแตติก
การเก็บรักษา
คุณจำเป็นต้องปรึกษาแนวทางปฏิบัติที่ดีที่สุดสำหรับ SQL Server ใน Azure Virtual Machines ไม่ว่าในกรณีใดคุณจะต้องเพิ่มดิสก์อย่างน้อยหนึ่งรายการให้กับแต่ละโหนดคลัสเตอร์ของคุณ DataKeeper สามารถใช้ Basic Disk, Premium Storage หรือแม้แต่ Storage Pools ซึ่งประกอบด้วยดิสก์หลายตัวในพูลเก็บข้อมูล เพียงแค่ต้องแน่ใจว่าได้เพิ่มพื้นที่เก็บข้อมูลเท่ากันไปยังแต่ละโหนดคลัสเตอร์และกำหนดค่าให้เหมือนกัน นอกจากนี้โปรดใช้บัญชีที่เก็บข้อมูลที่แตกต่างกันสำหรับแต่ละเครื่องเสมือนเพื่อให้มั่นใจว่าปัญหาเกี่ยวกับหนึ่ง Storage Account ไม่ส่งผลกระทบต่อเครื่องเสมือนทั้งสองเครื่องในเวลาเดียวกัน รูปที่ 5 – ตรวจสอบให้แน่ใจว่าได้เพิ่มพื้นที่เก็บข้อมูลเพิ่มเติมสำหรับแต่ละโหนดคลัสเตอร์
สร้างคลัสเตอร์
สมมติว่าทั้งโหนดคลัสเตอร์ (SQL1 และ SQL2) ได้รับการจัดเตรียมตามที่อธิบายไว้ข้างต้นและเพิ่มลงในโดเมนที่มีอยู่แล้วของคุณเราพร้อมที่จะสร้างคลัสเตอร์แล้ว ก่อนที่เราจะสร้างคลัสเตอร์มีคุณลักษณะบางอย่างที่จำเป็นต้องเปิดใช้งาน คุณลักษณะเหล่านี้คือ .Net Framework 3.5 และ Failover Clustering คุณลักษณะเหล่านี้จำเป็นต้องเปิดใช้งานทั้งโหนดคลัสเตอร์ คุณจะต้องเปิดใช้งานบทบาทเซิร์ฟเวอร์ FIle รูปที่ 6 – เปิดใช้งานทั้ง. Net Framework 3.5 และ Failover Clustering และ File Server บนโหนดคลัสเตอร์ทั้งสองเมื่อบทบาทและคุณลักษณะเหล่านั้นได้รับการเปิดใช้งานคุณพร้อมที่จะสร้างคลัสเตอร์แล้ว ขั้นตอนส่วนใหญ่ที่ฉันกำลังจะแสดงให้คุณสามารถทำได้ทั้งผ่านทาง PowerShell และ GUI อย่างไรก็ตามผมจะแนะนำว่าสำหรับขั้นตอนแรกนี้คุณใช้ PowerShell เพื่อสร้างคลัสเตอร์ของคุณ ถ้าคุณเลือกที่จะใช้ Failover Cluster Manager GUI เพื่อสร้างคลัสเตอร์คุณจะพบว่าคุณได้รับการแก้ไขด้วยคลัสเตอร์ที่กำลังออกที่อยู่ IP ซ้ำ
รายละเอียดเพื่อหมายเหตุ
โดยไม่ต้องไปรายละเอียดมากสิ่งที่คุณจะพบคือ Azure VMs ต้องใช้ DHCP การระบุ "IP แบบสโตร" เมื่อเราสร้าง VM ในพอร์ทัล Azure ทั้งหมดที่เราทำคือสร้างการจัดเรียงแบบ DHCP ไม่เหมือนกับการจอง DHCP เนื่องจากการจอง DHCP จริงจะนำที่อยู่ IP ออกจากพูล DHCP แทนที่จะระบุ IP แบบคงที่ในพอร์ทัล Azure ก็หมายความว่าถ้าที่อยู่ IP นี้ยังคงพร้อมใช้งานเมื่อ VM ร้องขอให้ Azure จะออก IP ดังกล่าว อย่างไรก็ตามถ้า VM ของคุณออฟไลน์และโฮสต์อื่นมาออนไลน์ในเครือข่ายย่อยเดียวกันนั้นเป็นอย่างดีอาจจะออกที่อยู่ IP เดียวกัน มีผลข้างเคียงแปลก ๆ กับ Azure ที่มีการใช้ DHCP เมื่อสร้างคลัสเตอร์ด้วย Windows Server Failover Cluster GUI เมื่อโฮสต์ใช้ DHCP (ซึ่งจำเป็นต้องมี) ไม่มีตัวเลือกในการระบุที่อยู่ IP ของคลัสเตอร์ แทนที่จะต้องอาศัย DHCP เพื่อขอรับที่อยู่ สิ่งที่แปลกคือ DHCP จะออกที่อยู่ IP ซ้ำกันโดยปกติจะเป็นที่อยู่ IP เดียวกันกับโฮสต์ที่ขอที่อยู่ IP ใหม่ คลัสเตอร์มักจะสมบูรณ์ แต่คุณอาจมีข้อผิดพลาดที่แปลก ๆ และอาจจำเป็นต้องเรียกใช้ Windows Server Failover Cluster GUI จากโหนดอื่นเพื่อให้ทำงานได้ เมื่อคุณได้รับมันทำงานคุณจะต้องการเปลี่ยนที่อยู่ IP คลัสเตอร์ไปยังที่อยู่ที่ไม่ได้ใช้งานในเครือข่าย
หลีกเลี่ยงระเบียบ
คุณสามารถหลีกเลี่ยงปัญหาทั้งหมดได้ด้วยการสร้างคลัสเตอร์ผ่าน Powershell และระบุที่อยู่ IP ของคลัสเตอร์เป็นส่วนหนึ่งของคำสั่ง PowerShell เพื่อสร้างคลัสเตอร์ คุณสามารถสร้างคลัสเตอร์โดยใช้คำสั่ง New-Cluster ดังนี้:
คลัสเตอร์ใหม่ -Name cluster1 -Node sql1, sql2 -StaticAddress 10.0.0.101 -NoStorage
หลังจากการสร้างคลัสเตอร์เสร็จสมบูรณ์แล้วคุณจะต้องเรียกใช้การตรวจสอบคลัสเตอร์ด้วยการเรียกใช้คำสั่งต่อไปนี้:
ทดสอบคลัสเตอร์
รูปที่ 7 – ผลลัพธ์ของการสร้างคลัสเตอร์และคำสั่งตรวจสอบคลัสเตอร์
สร้างพยานร่วมแบ่งปันไฟล์
เนื่องจากไม่มีที่จัดเก็บข้อมูลที่ใช้ร่วมกันคุณจะต้องสร้างพยานแชร์ไฟล์บนเซิร์ฟเวอร์อื่นในชุดการตั้งค่าความพร้อมกันเหมือนโหนดคลัสเตอร์สองโหนด เมื่อวางไว้ในชุดการพร้อมใช้งานเดียวกันคุณสามารถมั่นใจได้ว่าคุณจะเสียคะแนนเพียงอย่างเดียวจากโควรัมของคุณในเวลาใดก็ตาม หากคุณไม่แน่ใจว่าจะสร้างพยานแชร์ไฟล์คุณสามารถอ่านบทความนี้ได้ที่ http://www.howtonetworking.com/server/cluster12.htm ในการสาธิตของฉันฉันใส่พยานแชร์ไฟล์บนตัวควบคุมโดเมน ฉันได้เผยแพร่คำอธิบายเกี่ยวกับ quorum แบบคลัสเตอร์ที่ครบถ้วนแล้วที่ https://blogs.msdn.microsoft.com/microsoft_press/2014/04/28/from-the-mvps-understanding-the-windows-server-failover-cluster-quorum- ในหน้าต่างเซิร์ฟเวอร์ 2012 R2 /
ติดตั้ง DataKeeper
หลังจากสร้างคลัสเตอร์แล้วก็ถึงเวลาที่ต้องติดตั้ง DataKeeper สิ่งสำคัญคือต้องติดตั้ง DataKeeper หลังจากคลัสเตอร์เริ่มต้นถูกสร้างขึ้นเพื่อให้สามารถลงทะเบียนรีซอร์สคลัสเตอร์แบบกำหนดเองกับคลัสเตอร์ได้ ถ้าคุณติดตั้ง DataKeeper ก่อนสร้างคลัสเตอร์คุณจะต้องติดตั้งอีกครั้งและทำการติดตั้งซ่อมแซม รูปที่ 8 – ติดตั้ง DataKeeper หลังจากคลัสเตอร์ถูกสร้างขึ้นระหว่างการติดตั้งคุณสามารถใช้ตัวเลือกเริ่มต้นทั้งหมด บัญชีบริการที่คุณใช้ต้องเป็นบัญชีโดเมนและอยู่ในกลุ่มผู้ดูแลระบบภายในของแต่ละโหนดในคลัสเตอร์ รูปที่ 9 – บัญชีบริการต้องเป็นบัญชีโดเมนที่อยู่ในกลุ่ม Local Admins ในแต่ละโหนดเมื่อ DataKeeper ได้รับการติดตั้งและได้รับสิทธิการใช้งานบนแต่ละโหนดคุณจะต้องบูตเครื่องใหม่
สร้างไดรฟ์ข้อมูล DataKeeper ทรัพยากร
ในการสร้าง DataKeeper Volume Resource คุณจะต้องเริ่มต้น DataKeeper UI และเชื่อมต่อกับทั้งสองเซิร์ฟเวอร์ เชื่อมต่อกับ SQL1 เชื่อมต่อกับ SQL2 เมื่อคุณเชื่อมต่อกับเซิร์ฟเวอร์แต่ละเครื่องคุณพร้อมที่จะสร้าง DataKeeper Volume แล้ว คลิกขวาที่งานและเลือก "สร้างงาน" ให้ชื่องานและคำอธิบาย เลือกเซิร์ฟเวอร์ต้นทาง IP และไดรฟ์ข้อมูล ที่อยู่ IP คือการรับส่งข้อมูลการจำลองแบบจะเดินทางหรือไม่ เลือกเซิร์ฟเวอร์เป้าหมายของคุณ เลือกตัวเลือกของคุณ สำหรับจุดประสงค์ของเราที่ VM ทั้งสองอยู่ในพื้นที่ทางภูมิศาสตร์เดียวกันเราจะเลือกการจำลองแบบซิงโครนัส สำหรับการจำลองแบบระยะไกลคุณจะต้องการใช้แบบอะซิงโครนัสและเปิดใช้งานการบีบอัดบางอย่าง เมื่อคลิกใช่ที่ป๊อปอัปล่าสุดคุณจะลงทะเบียนแหล่งข้อมูลไดรฟ์ DataKeeper ใหม่ในที่จัดเก็บที่พร้อมใช้งานใน Failover Clustering คุณจะเห็นแหล่งข้อมูล Volume DataKeeper ใหม่ใน Storage ที่มีอยู่
สร้างทรัพยากรคลัสเตอร์เซิร์ฟเวอร์ไฟล์
เมื่อต้องการสร้างทรัพยากรเซิร์ฟเวอร์คลัสเตอร์ของไฟล์เราจะใช้ Powershell อีกครั้งแทนที่จะเป็นอินเทอร์เฟซ Failover Cluster เหตุผลก็คืออีกครั้งเนื่องจากเครื่องเสมือนมีการกำหนดค่าให้ใช้ DHCP ตัวช่วยสร้าง GUI จะไม่แจ้งให้เราป้อนที่อยู่ IP ของกลุ่มและจะแทนที่อยู่ IP ที่ซ้ำกัน เพื่อหลีกเลี่ยงปัญหานี้เราจะใช้คำสั่ง PowerShell แบบง่ายๆเพื่อสร้างทรัพยากรคลัสเตอร์เซิร์ฟเวอร์ FIle และระบุที่อยู่ IP
Add-ClusterFileServerRole -Storage "DataKeeper Volume E" ชื่อ FS2 -StaticAddress 10.0.0.201
จดบันทึกที่อยู่ IP ที่คุณระบุไว้ที่นี่ ต้องเป็นที่อยู่ IP เฉพาะในเครือข่ายของคุณ เราจะใช้ที่อยู่ IP เดียวกันนี้ในภายหลังเมื่อเราสร้าง Balancer โหลดภายในของเรา
สร้าง Balancer โหลดภายใน
นี่คือจุดที่ failover clustering ใน Azure แตกต่างจากโครงสร้างพื้นฐาน สแต็คเครือข่าย Azure ไม่สนับสนุน ARPS ที่ไม่ให้เปล่า ไคลเอ็นต์ไม่สามารถเชื่อมต่อโดยตรงกับที่อยู่ IP ของคลัสเตอร์ แต่ลูกค้าจะเชื่อมต่อกับ balancer โหลดภายในและเปลี่ยนเส้นทางไปยังโหนดคลัสเตอร์ที่ใช้งานอยู่ สิ่งที่เราต้องทำคือสร้าง balancer โหลดภายใน ทั้งหมดนี้สามารถทำได้ผ่าน Azure Portal ดังที่แสดงด้านล่าง ขั้นแรกให้สร้าง Balancer โหลดใหม่คุณสามารถใช้ Public Balancer โหลดถ้าไคลเอ็นต์ของคุณเชื่อมต่อผ่านทางอินเทอร์เน็ตสาธารณะ แต่สมมติว่าลูกค้าของคุณอาศัยอยู่ใน vNet เดียวกันเราจะสร้าง Internal Balancer โหลด สิ่งสำคัญที่ต้องจดบันทึกไว้ในที่นี้ก็คือ Virtual Network จะเหมือนกับเครือข่ายที่โหนดคลัสเตอร์ของคุณอาศัยอยู่ นอกจากนี้ที่อยู่ IP ส่วนตัวที่คุณระบุจะเหมือนกับที่อยู่ที่คุณใช้ในการสร้างทรัพยากรคลัสเตอร์ SQL หลังจากสร้าง Internal Load Balancer (ILB) แล้วคุณจะต้องแก้ไขไฟล์ สิ่งแรกที่เราจะทำคือการเพิ่มแบ็กเอนด์พูล ในขั้นตอนนี้คุณจะเลือกชุดความพร้อมใช้งานที่เครื่องเซิร์ฟเวอร์คลัสเตอร์ของ SQL อยู่ อย่างไรก็ตามเมื่อคุณเลือก VM ที่แท้จริงเพื่อเพิ่มลงในแบ็กเอนด์พูลให้แน่ใจว่าคุณไม่ได้เลือกพยานร่วมกันในการแชร์ไฟล์ของคุณ เราไม่ต้องการเปลี่ยนเส้นทางการรับส่งข้อมูล SQL ไปยังพยานที่แชร์ไฟล์ของคุณ สิ่งต่อไปที่เราจะทำคือเพิ่ม Probe การสอบสวนที่เราเพิ่มจะโพรบ Port 59999 โพรบนี้จะกำหนดโหนดที่ใช้งานอยู่ในคลัสเตอร์ของเรา จากนั้นเราจำเป็นต้องใช้กฎการกระจายการโหลดเพื่อเปลี่ยนเส้นทางการรับส่งข้อมูล SMB พอร์ต TCP 445 สิ่งสำคัญที่ควรสังเกตในภาพหน้าจอด้านล่างคือการเปิดใช้งานการส่งคืนเซิร์ฟเวอร์โดยตรง ตรวจสอบให้แน่ใจว่าคุณได้ทำการเปลี่ยนแปลงนั้น
แก้ไขทรัพยากร IP ของเซิร์ฟเวอร์ไฟล์
เกือบจะมีการใช้งานเซิร์ฟเวอร์คลัสเตอร์ Failover Server 2 โหนดใน Azure! ขั้นตอนสุดท้ายในการกำหนดค่าคือเรียกใช้สคริปต์ PowerShell ต่อไปนี้ในโหนดคลัสเตอร์ของคุณ ซึ่งจะช่วยให้ Cluster IP Address สามารถตอบสนองต่อโพรโตคอล ILB และตรวจสอบว่าไม่มีข้อขัดแย้งเกี่ยวกับที่อยู่ IP ระหว่าง Cluster IP Address และ ILB โปรดทราบ; คุณจะต้องแก้ไขสคริปต์นี้ให้เหมาะกับสภาพแวดล้อมของคุณ ซับเน็ตมาสก์ถูกตั้งค่าเป็น 255.255.255.255 นี่ไม่ใช่ความผิดพลาดให้ปล่อยทิ้งไว้ ซึ่งจะสร้างเส้นทางเฉพาะโฮสต์เพื่อหลีกเลี่ยงความขัดแย้งกับที่อยู่ IP กับ ILB
# กำหนดตัวแปร $ ClusterNetworkName = "" # ชื่อเครือข่ายคลัสเตอร์ (ใช้ Get-ClusterNetwork ใน Windows Server 2012 ที่สูงกว่าเพื่อค้นหาชื่อ) $ IPResourceName = "" # ชื่อที่อยู่ IP Address $ ILBIP = "" # ที่อยู่ IP ของ Balancer โหลดภายใน (ILB) การนำเข้าโมดูล FailoverClusters # หากคุณใช้ Windows Server 2012 หรือสูงกว่า: Get-ClusterResource $ IPResourceName | ตั้ง ClusterParameter -Multiple @ {ที่อยู่ = $ ILBIP; ProbePort = 59999; SubnetMask = "255.255.255.255"; เครือข่าย = $ ClusterNetworkName; EnableDHCP = 0} # ถ้าคุณกำลังใช้ Windows Server 2008 R2 ใช้: #cluster res $ IPResourceName / priv enabledhcp = 0 ที่อยู่ = $ ILBIP probeport = 59999 SubnetMask = 255.255.255.255
การสร้างไฟล์แชร์
คุณจะพบว่าการใช้ File Share Wizard ใน Failover Cluster Manager ไม่ทำงาน แทนคุณจะสร้างแฟ้มที่ใช้ร่วมกันใน Windows Explorer บนโหนดที่ใช้งานอยู่ การแบ่งกลุ่มโดยอัตโนมัติโดยอัตโนมัติจะหยิบหุ้นเหล่านั้นขึ้นโดยอัตโนมัติและทำให้พวกเขาอยู่ในกลุ่ม โปรดทราบว่าตัวเลือก "Continuous Availability" ของไฟล์แชร์ไม่ได้รับการสนับสนุนในการกำหนดค่านี้
ข้อสรุป
คุณได้จัดการการติดตั้งคลัสเตอร์ Failover Server โหนด 2 โหนดใน Azure หากคุณมีปัญหาใด ๆ โปรดติดต่อฉันทาง Twitter @daveberm และเรายินดีที่จะให้ความช่วยเหลือ หากคุณต้องการคีย์การประเมินผลของ DataKeeper โปรดกรอกแบบฟอร์มที่ http://us.sios.com/clustersyourway/cta/14-day-trial และ SIOS จะส่งรหัสประเมินผลที่ส่งถึงคุณ ทำซ้ำโดยได้รับอนุญาตจาก Clusteringformeremortals.com