SIOS SANless clusters

SIOS SANless clusters High-availability Machine Learning monitoring

  • Home
  • Products
    • SIOS DataKeeper for Windows
    • SIOS Protection Suite for Linux
  • การทดสอบอาหารสัตว์
  • ข่าวสารและกิจกรรม
  • ทำให้เข้าใจง่ายเซิร์ฟเวอร์คลัสเตอร์
  • เรื่องราวความสำเร็จ
  • ติดต่อเรา
  • English
  • 中文 (中国)
  • 中文 (台灣)
  • 한국어
  • Bahasa Indonesia
  • ไทย

แก้ไขการเชื่อมต่อ Azure ILB ในอินสแตนซ์ของคลัสเตอร์ Failover Cluster ของ SQL Server

มิถุนายน 19, 2018 by Jason Aw Leave a Comment

การแก้ไขปัญหาการเชื่อมต่อ Azure ILB ในการเชื่อมต่อคลัสเตอร์ของ SQL Server Failover Instance

การแก้ไขปัญหาการเชื่อมต่อ Azure ILB ในการเชื่อมต่อคลัสเตอร์ของ SQL Server Failover Instance

ฉันใช้เครื่องมือต่อไปนี้เพื่อช่วยฉันในการแก้ปัญหาเกี่ยวกับการเชื่อมต่ออินสแตนซ์ของ Failover Cluster Instance ของ SQL Server โดยเฉพาะประเด็นการเชื่อมต่อ Azure ILB ที่น่ารำคาญ ฉันจะพยายามปรับปรุงบทความนี้เมื่อใดก็ตามที่ฉันพบเครื่องมือใหม่

NETSTAT

เครื่องมือแรกคือการทดสอบง่ายๆเพื่อตรวจสอบว่า SQL Cluster IP กำลังฟังอยู่ที่พอร์ตที่ควรจะฟังหรือไม่ ในกรณีนี้ที่อยู่ IP ของคลัสเตอร์ SQL คือ 10.0.0.201 แต่ใช้อินสแตนซ์ที่เป็นค่าเริ่มต้นซึ่งเป็นพอร์ต 1433

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

C:  Users  dave.SIOS> netstat -na | หา "1433"
TCP 10.0.0.4:49584 10.0.0.201:1433 ESTABLISHED
TCP 10.0.0.4:49592 10.0.0.201:1433 ESTABLISHED
TCP 10.0.0.4:49593 10.0.0.201:1433 ESTABLISHED
TCP 10.0.0.4:49595 10.0.0.201:1433 ESTABLISHED
TCP 10.0.0.201:1433 0.0.0.0:0 LISTENING
ที่จัดตั้งขึ้น
TCP 10.0.0.201:1433 10.0.0.4:49592 ESTABLISHED
TCP 10.0.0.201:1433 10.0.0.4:49593 ESTABLISHED
TCP 10.0.0.201:1433 10.0.0.4:49595 ESTABLISHED

เมื่อฉันสามารถตรวจสอบว่า SQL กำลังฟังพอร์ตที่ถูกต้องฉันใช้ PSPING เพื่อพยายามเชื่อมต่อกับพอร์ตจากระยะไกล

PSPING

PSPing เป็นส่วนหนึ่งของแพ็กเกจ PSTools ที่มีให้จาก Microsoft ฉันมักจะดาวน์โหลดเครื่องมือและใส่ PSPing โดยตรงในโฟลเดอร์ System32 ของฉันดังนั้นฉันสามารถใช้เมื่อใดก็ตามที่ฉันต้องการโดยไม่ต้องเปลี่ยนไดเรกทอรี

ตอนนี้สมมติว่าทุกอย่างถูกกำหนดค่าอย่างถูกต้องจากมุมมอง ILB, Cluster และ Firewall คุณควรสามารถ ping ที่อยู่ IP ของคลัสเตอร์ SQL และพอร์ต 1433 จากเซิร์ฟเวอร์แบบพาสซีฟ คุณจะได้รับผลลัพธ์ที่แสดงด้านล่าง …

C:  Users  dave.SIOS> psping 10.0.0.201:1433
PsPing v2.01 - PsPing - ping, latency, ยูทิลิตีการตรวจวัดแบนด์วิดท์
ลิขสิทธิ์ (C) 2012-2014 Mark Russinovich
Sysinternals - www.sysinternals.com
TCP เชื่อมต่อกับ 10.0.0.201:1433:
5 ซ้ำ (อุ่นเครื่อง 1) การทดสอบการเชื่อมต่อ:
เชื่อมต่อกับ 10.0.0.201:1433 (อุ่นเครื่อง): 6.99ms
กำลังเชื่อมต่อกับ 10.0.0.201:1433: 0.78ms
กำลังเชื่อมต่อกับ 10.0.0.201:1433: 0.96ms
กำลังเชื่อมต่อกับ 10.0.0.201:1433: 0.68ms
กำลังเชื่อมต่อกับ 10.0.0.201:1433: 0.89ms
หากไม่ได้กำหนดค่าอย่างถูกต้องคุณอาจเห็นผลลัพธ์คล้ายกับต่อไปนี้ ...
C:  Users  dave.SIOS> psping 10.0.0.201:1433
TCP เชื่อมต่อกับ 10.0.0.102:1433:
5 ซ้ำ (อุ่นเครื่อง 1) การทดสอบการเชื่อมต่อ:
กำลังเชื่อมต่อกับ 10.0.0.102:1433 (อุ่นเครื่อง): 
การดำเนินการนี้กลับคืนเนื่องจากหมดเวลาหมดอายุแล้ว
กำลังเชื่อมต่อกับ 10.0.0.102:1433 (อุ่นเครื่อง): 
การดำเนินการนี้กลับคืนเนื่องจากหมดเวลาหมดอายุแล้ว
กำลังเชื่อมต่อกับ 10.0.0.102:1433 (อุ่นเครื่อง): 
การดำเนินการนี้กลับคืนเนื่องจากหมดเวลาหมดอายุแล้ว
กำลังเชื่อมต่อกับ 10.0.0.102:1433 (อุ่นเครื่อง): 
การดำเนินการนี้กลับคืนเนื่องจากหมดเวลาหมดอายุแล้ว
กำลังเชื่อมต่อกับ 10.0.0.102:1433 (อุ่นเครื่อง): 
การดำเนินการนี้กลับคืนเนื่องจากหมดเวลาหมดอายุแล้ว

หาก PSPing เชื่อมต่อ แต่แอปพลิเคชันของคุณกำลังมีปัญหาในการเชื่อมต่ออยู่คุณอาจต้องเจาะลึกขึ้น ฉันได้เห็นโปรแกรมบางอย่างเช่น Great Plains ต้องการเชื่อมต่อกับพอร์ต 445 หากแอ็พพลิเคชันของคุณไม่สามารถเชื่อมต่อได้ แต่ PSPing จะเชื่อมต่อค่าปรับเป็น 1433 จากนั้นคุณอาจต้องติดตามเครือข่ายและดูว่าพอร์ตใดที่แอปพลิเคชันของคุณกำลังพยายามเชื่อมต่ออยู่ ขั้นตอนสุดท้ายของคุณคือเพิ่มกฎการโหลดบาลานซ์สำหรับพอร์ตเหล่านั้นด้วย

ชื่อสถานที่

วางแผนที่จะใช้อินสแตนซ์ที่มีชื่ออยู่หรือไม่? คุณต้องแน่ใจว่าคุณได้ล็อคบริการ TCP ของคุณเพื่อใช้พอร์ตแบบสแตติก ในเวลาเดียวกันคุณต้องแน่ใจด้วยว่าคุณได้เพิ่มกฎลงใน balancer โหลดของคุณเพื่อเปลี่ยนเส้นทาง UDP 1434 สำหรับบริการเบราว์เซอร์ SQL มิฉะนั้นคุณจะไม่สามารถเชื่อมต่อกับอินสแตนซ์ที่มีชื่อของคุณได้

FIREWALL

การเปิดพอร์ต TCP 1433 และ 59999 ควรครอบคลุมทุกขั้นตอนด้วยตนเองที่จำเป็น แต่เมื่อแก้ปัญหาเกี่ยวกับการเชื่อมต่อฉันมักปิดไฟร์วอลล์ Windows เพื่อกำจัดไฟร์วอลล์เป็นสาเหตุที่เป็นไปได้ของปัญหา อย่าลืม Azure ยังมีไฟร์วอลล์ที่เรียกว่า Network Security Groups ถ้าใครเปลี่ยนจากค่าดีฟอลต์ที่อาจบล็อกการเข้าชมด้วย

NAME RESOLUTION

ลองพิมพ์ชื่อคลัสเตอร์ SQL ควรแก้ไขไปยังที่อยู่ IP ของคลัสเตอร์ SQL Server แม้ว่าฉันได้เห็นมากกว่าสองสามครั้งแล้วก็ตามบันทึก DNS A ที่เกี่ยวข้องกับชื่อเครือข่ายคลัสเตอร์ของ SQL หายไปอย่างลึกลับจาก DNS หากเป็นกรณีนี้ให้อ่านชื่อ SQL Custer และที่อยู่ IP เป็นบันทึก A ใน DNS

ผู้จัดการการกำหนดคอนฟิก SQL

ใน SQL Configuration Manager คุณควรเห็นที่อยู่ IP ของคลัสเตอร์ SQL และพอร์ต 1433 หากบังเอิญคุณได้ติดตั้งอินสแตนซ์ที่มีชื่อคุณจะต้องเข้าสู่ที่นี่และล็อกพอร์ตไว้ที่พอร์ตเฉพาะและทำให้กฎการถ่วงดุลของคุณแสดงพอร์ตดังกล่าว เนื่องจากข้อ จำกัด Azure ILB ของ ILB ต่อ AG เพียงอย่างเดียวฉันจึงไม่เห็นเหตุผลที่ถูกต้องในการใช้อินสแตนซ์ที่มีชื่อ ทำให้ตัวเองง่ายขึ้นและใช้อินสแตนซ์เริ่มต้นของ SQL (ปรับปรุง: ณ ตุลาคม 2016 คุณสามารถมีที่อยู่ IP หลายต่อ ILB ดังนั้นคุณจึงสามารถมีอินสแตนซ์ SQL หลายอินสแตนซ์ในคลัสเตอร์ได้)

 

ทำซ้ำโดยได้รับอนุญาตจาก Clustering For Mere Mortals

Filed Under: ทำให้เข้าใจง่ายเซิร์ฟเวอร์คลัสเตอร์ Tagged With: การเชื่อมต่อ AZURE ILB, อินสแตนซ์ของคลัสเตอร์ล้มเหลว

โพสต์ล่าสุด

  • บริการตรวจสอบสุขภาพความพร้อมใช้งานสูง การเพิ่มประสิทธิภาพ และการฝึกอบรม
  • กำจัดปัญหาความพร้อมใช้งานสูงของ Shadow IT
  • บรรลุถึงความพร้อมใช้งานสูงอย่างคุ้มต้นทุน
  • เหตุใดประวัติบริษัทจึงมีความสำคัญใน HA
  • การตั้งค่าที่ดีที่สุดสำหรับไฟล์เพจจิ้งของระบบปฏิบัติการเพื่อประสิทธิภาพและเสถียรภาพสูงสุดคืออะไร

กระทู้ยอดนิยม

เข้าร่วมรายชื่อผู้รับจดหมายของเรา

Copyright © 2025 · Enterprise Pro Theme on Genesis Framework · WordPress · Log in