กำหนดค่าอินสแตนซ์ของคลัสเตอร์ล้มเหลวเซิร์ฟเวอร์ SQL บนเครื่องเสมือน Azure ด้วย Msdtc #Sql #Azure #Msdtc
สร้างตัวโหลดบาลานซ์สำหรับ MSDTC
ทรัพยากร MSDTC จะต้องการโหลดบาลานเซอร์ของตนเอง แทนที่จะสร้าง load balancer ใหม่เราจะเพิ่ม frontend ใหม่ให้กับ load balancer ที่ควรกำหนดค่าไว้แล้วสำหรับ SQL Server FCI แน่นอนที่อยู่ IP ส่วนหน้านี้ควรตรงกับที่อยู่ IP ของคลัสเตอร์ที่เกี่ยวข้องกับทรัพยากร MSDTC แบบคลัสเตอร์ สำหรับพูลแบ็คเอนด์เพียงแค่ใช้พูลที่มีอยู่เดิมที่คุณสร้างขึ้นใหม่ซึ่งมีโหนดคลัสเตอร์ SQL คุณจะต้องสร้างโพรบเพื่อสุขภาพใหม่ที่อุทิศให้กับทรัพยากร MSDTC พอร์ตที่คุณใช้จะต้องแตกต่างจากพอร์ตที่คุณใช้สำหรับทรัพยากร SQL อย่าใช้ 59999 อาจใช้บางอย่างเช่น 49999 ขั้นตอนสุดท้ายคือการสร้างกฎการปรับสมดุลโหลดสำหรับ MSDTC สร้างกฎใหม่และอ้างอิงส่วนหน้า MSDTC ที่เราเพิ่งสร้างและแบ็กเอนด์ที่มีอยู่ ต่อไปเราต้องสร้างกฎการปรับสมดุลภาระใหม่ MSDTC ใช้พอร์ตชั่วคราวซึ่งเป็นพอร์ตขนาดใหญ่ เมื่อคุณสร้างกฎคุณต้องเลือกกล่องที่ระบุว่า "HA Ports" สุดท้ายตรวจสอบให้แน่ใจว่าได้เปิดใช้งาน Direct Server Return
อัปเดตทรัพยากร IP คลัสเตอร์ MSDTC
ทำงานเหมือนที่อยู่ IP ของ SQL Server Cluster เราจำเป็นต้องเรียกใช้คำสั่ง Powershell ที่จะให้ทรัพยากร IP ของคลัสเตอร์ MSDTC เพื่อตอบสนองต่อโพรบเพื่อสุขภาพที่เราเพิ่งสร้างโพรบพอร์ต 49999 นอกจากนี้ยังตั้งซับเน็ตมาสก์ของที่อยู่ IP ของคลัสเตอร์ MSDTC เป็น 255.255.255.255 เพื่อหลีกเลี่ยงที่อยู่ IP ขัดแย้งกับ load balancer frontend ที่เราตั้งค่าซึ่งใช้ที่อยู่เดียวกัน
# กำหนดตัวแปร $ ClusterNetworkName =“”
# ชื่อเครือข่ายคลัสเตอร์ (ใช้ Get-ClusterNetwork
Windows Server 2012 ที่สูงกว่าเพื่อค้นหาชื่อของทรัพยากร MSDTC)
$ IPResourceName =“”
# ชื่อทรัพยากรที่อยู่ IP ของทรัพยากร MSDTC $ ILBIP =“”
# ที่อยู่ IP ของทรัพยากร Internal Load Balancer (ILB) และ MSDTC
Import-Module FailoverClusters
# ถ้าคุณใช้ Windows Server 2012 หรือสูงกว่า:
รับ-ClusterResource $ IPResourceName | ตั้ง ClusterParameter
-Multiple @ {ที่อยู่ = $ ILBIP; ProbePort = 49999; 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
ยืนยันว่าใช้งานได้!
คุณสามารถใช้ DTCPing หรือไปที่บริการคอมโพเนนต์และดูภายใต้คอมพิวเตอร์> คอมพิวเตอร์ของฉัน> ผู้ประสานงานธุรกรรมแบบกระจายที่คุณควรเห็น DTC ในพื้นที่และ DTC แบบกลุ่ม ธุรกรรมที่แจกจ่ายใด ๆ ควรปรากฏใน DTC ที่เป็นคลัสเตอร์ไม่ใช่ DTC ในระบบ ลองชมวิดีโอนี้เพื่อดูตัวอย่างวิธีสร้างธุรกรรมแบบกระจายเพื่อการทดสอบ
ขั้นตอนถัดไป
นี่คือคำแนะนำที่รวดเร็วและสกปรก สำหรับผู้ใช้ที่มีประสบการณ์ควรทำให้ทรัพยากร MSDTC ของคุณทำงานใน Azure ฉันจะเผยแพร่คู่มือแบบทีละขั้นตอนโดยละเอียดในอนาคตอันใกล้ ในระหว่างนี้หากคุณติดขัดอย่าลังเลที่จะติดต่อกับฉันทาง Twitter @daveberm