โบรกเกอร์การเชื่อมต่อเดสก์ท็อประยะไกล (RDCB) เป็นส่วนประกอบของบทบาทบริการเดสก์ท็อประยะไกล (RDS) ใน Windows Server RD Connection Broker ช่วยให้คุณสามารถโหลดบาลานซ์เซิร์ฟเวอร์ฟาร์ม RDS (เมื่อเชื่อมต่อกับฟาร์ม RDS ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังโฮสต์ RDS ที่โหลดน้อยที่สุด) ให้ผู้ใช้เข้าถึง VDI และ RemoteApps จัดการการกำหนดค่าโฮสต์ RDS ในฟาร์ม นอกจากนี้ RDCB ยังอนุญาตให้ผู้ใช้เชื่อมต่อกับเซสชันของตนอีกครั้ง:เมื่อเชื่อมต่อกับ RDS RDCB จะตรวจสอบว่ามีเซสชันที่ไม่สมบูรณ์บนเซิร์ฟเวอร์อื่นของฟาร์มหรือไม่ และเปลี่ยนเส้นทางไปยังเซสชันก่อนหน้า
ในบทความนี้ เราจะแสดงวิธีกำหนดค่าอินสแตนซ์นายหน้าการเชื่อมต่อ RD ความพร้อมใช้งานสูง รักษาคุณสมบัติไว้ในกรณีที่เซิร์ฟเวอร์ใดเซิร์ฟเวอร์หนึ่งที่มีบทบาท RDCB ล้มเหลว เซิร์ฟเวอร์ฐานข้อมูลที่รัน MS SQL Server 2019 จะถูกใช้เพื่อเก็บข้อมูล Remote Desktop Connection Broker เพื่อหลีกเลี่ยงความล้มเหลวเพียงจุดเดียว ฐานข้อมูล RDCB SQL ควรถูกปรับใช้ในการกำหนดค่าที่ทนต่อข้อผิดพลาด ในตัวอย่างนี้ เราจะใช้โหนดเซิร์ฟเวอร์ SQL สองโหนดโดยกำหนดค่า SQL Always On Availability Group
RD Connection Broker ข้อกำหนดความพร้อมใช้งานสูงและการกำหนดค่าที่รองรับ:
- อย่างน้อย 2 เซิร์ฟเวอร์ที่มีบทบาทนายหน้าการเชื่อมต่อ RD ที่ใช้งาน Windows Server 2022/2019;
- ถ้าคุณต้องการใช้ความพร้อมใช้งานสูงสำหรับฐานข้อมูล RDCB SQL คุณจะต้องมีโฮสต์อย่างน้อย 2 ตัวที่มี SQL Server 2014 หรือใหม่กว่า (รุ่น Standard หรือ Enterprise) ในตัวอย่างนี้ เราได้ติดตั้งอินสแตนซ์ MS SQL Server 2019 Enterprise แบบสแตนด์อโลนในแต่ละเซิร์ฟเวอร์ หากคุณไม่มีฐานข้อมูล HA SQL เซิร์ฟเวอร์เดียวที่มี SQL Express ก็เพียงพอแล้ว
- ติดตั้ง SQL Server Native Client บนเซิร์ฟเวอร์ที่มีบทบาทนายหน้าการเชื่อมต่อ RD
- ให้สิทธิ์การควบคุมฐานข้อมูล SQL และโฟลเดอร์การติดตั้ง SQL ของคุณอย่างสมบูรณ์แก่เซิร์ฟเวอร์ RD Connection Broker
- อย่างน้อยหนึ่งเซิร์ฟเวอร์ที่มีบทบาทโฮสต์เซสชันเดสก์ท็อประยะไกลในฟาร์ม
เราจะสร้างการกำหนดค่า RDCB ที่พร้อมใช้งานสูงสำหรับสองเซิร์ฟเวอร์ ทั้งคู่จะมีบทบาทการเชื่อมต่อ RD และติดตั้ง SQL Server ความพร้อมใช้งานสูงและการกู้คืนจากความเสียหายของฐานข้อมูล SQL Server จะได้รับจากกลุ่ม SQL Server Always On Availability
ใน Windows Server 2012 และใหม่กว่า RDS Connection Broker ให้ความพร้อมใช้งานสูงในโหมด Active/Active ในโหมดนี้ เซิร์ฟเวอร์ RDCB ทั้งหมดจะทำงานและสามารถประมวลผลการเชื่อมต่อขาเข้าได้ ช่วยให้มีความพร้อมใช้งานและความสามารถในการปรับขนาด RDCB สูงในสภาพแวดล้อมเดสก์ท็อประยะไกลขนาดใหญ่
การเตรียมโครงสร้างพื้นฐานสำหรับนายหน้าเชื่อมต่อเดสก์ท็อประยะไกล
กำหนดที่อยู่ IP แบบคงที่ให้กับเซิร์ฟเวอร์ทั้งหมดที่มีบทบาทนายหน้าการเชื่อมต่อ RD และเข้าร่วมกับโดเมน Active Directory ของคุณ
srv-rds1.woshub.com
—192.168.13.20
srv-rds2.woshub.com
—192.168.13.21
สร้างกลุ่มความปลอดภัยใหม่ใน Active Directory (MUN_RD_Connection_Brokers
) และเพิ่มเซิร์ฟเวอร์ RDCB ทั้งหมดเข้าไป คุณสามารถสร้างกลุ่มด้วย ADUC snap-in (dsa.msc
) หรือโดยใช้ PowerShell:
New-ADGroup "MUN_RD_Connection_Brokers" -path 'OU=Groups,OU=Berlin,DC=woshub,DC=com' -GroupScope Global -PassThru –Verbose
เพิ่มโฮสต์ RDS สองรายการในกลุ่ม:
Add-AdGroupMember -Identity "MUN_RD_Connection_Brokers" -Members srv-rds1$,srv-rds2$
สร้างระเบียน A สำหรับชื่อคลัสเตอร์ของฟาร์ม RDS ของคุณ (ในตัวอย่างของเราคือ MUNRDCB) ใน DNS ระเบียน DNS ต้องมีที่อยู่ IP ของเซิร์ฟเวอร์ RDCB ทั้งหมด เปิดใช้งานการปรับสมดุลโหลด (Round Robin) ระหว่างเซิร์ฟเวอร์ RD Connection Broker ฉันได้สร้างรายการต่อไปนี้:
- A —
MUNRDCB.woshub.com 192.168.13.20
(ที่อยู่ IP ของเซิร์ฟเวอร์ RDCB แรก — srv-rds1.woshub.com) - A —
MUNRDCB.woshub.com 192.168.13.21
(ที่อยู่ IP ของเซิร์ฟเวอร์ RDCB ที่สอง — srv-rds2.woshub.com)
คุณสามารถสร้างระเบียน A ใน DNS โดยใช้ PowerShell:
Add-DnsServerResourceRecordA -Name MUNRDCB -IPv4Address 192.168.13.20 -ZoneName woshub.com
Add-DnsServerResourceRecordA -Name MUNRDCB -IPv4Address 192.168.13.21 -ZoneName woshub.com
ติดตั้ง SQL Server Native Client บนเซิร์ฟเวอร์ทั้งหมดที่มีบทบาท RDCB คุณสามารถดาวน์โหลด SQL Server Native Client สำหรับเวอร์ชัน SQL Server ของคุณได้จากเว็บไซต์ Microsoft หรือคัดลอกจากอิมเมจการติดตั้ง SQL Server (D:\1033_ENU_LP\x64\Setup\x64\sqlncli.msi
)
จากนั้นเรียกใช้ SQL Server Management Studio และเชื่อมต่อกับเซิร์ฟเวอร์ SQL แรกของคุณ ซึ่งจะมีการสร้างฐานข้อมูลนายหน้าการเชื่อมต่อที่ใช้ร่วมกัน (ภายหลังเราจะย้ายไปยังกลุ่มความพร้อมใช้งานสูงตลอดเวลา)
เปิด ความปลอดภัย -> เข้าสู่ระบบ เพื่อเพิ่มการเข้าสู่ระบบใหม่ คลิกค้นหา เลือกโดเมนของคุณใน สถานที่ , ตั้งค่า ประเภทวัตถุ =จัดกลุ่มและค้นหากลุ่มโดเมน MUN_RD_Connection_Brokers .
กำหนด dbcreator
และ sysadmin
บทบาทต่อกลุ่ม
เปิดพอร์ต SQL Server ในไฟร์วอลล์ Windows Defender (โดยค่าเริ่มต้น พอร์ต TCP 1433 ใช้เพื่อเชื่อมต่อกับ SQL Server)
ติดตั้งบทบาทบริการเดสก์ท็อประยะไกลบน Windows Server
จากนั้นคุณต้องติดตั้งบทบาท RDS บนเซิร์ฟเวอร์ของคุณ เปิดคอนโซลตัวจัดการเซิร์ฟเวอร์ เลือกจัดการ -> เพิ่มบทบาทและคุณลักษณะ -> การติดตั้งบริการเดสก์ท็อประยะไกล .
การติดตั้งบทบาท RDS บนโฮสต์แบบสแตนด์อโลนมีอธิบายไว้ในบทความนี้
เลือกการทำให้ใช้งานได้มาตรฐาน -> การปรับใช้เดสก์ท็อปตามเซสชัน .
เลือกเซิร์ฟเวอร์ที่คุณต้องการติดตั้งบทบาทนายหน้าการเชื่อมต่อ RD คุณไม่จำเป็นต้องติดตั้งบทบาท RDCB บนเซิร์ฟเวอร์ที่สองในตอนนี้
ติดตั้งบทบาท RD Web Access บนเซิร์ฟเวอร์เดียวกัน ติดตั้งบทบาทโฮสต์ของเซสชัน RD บนเซิร์ฟเวอร์ทั้งสอง
รอให้การติดตั้งบทบาท RDS เสร็จสมบูรณ์
เมื่อคุณติดตั้งบทบาทเสร็จแล้ว ให้เพิ่มโฮสต์ RDCB และบัญชี 'NT AUTHORITY\NETWORK SERVICE' ไปยัง เซิร์ฟเวอร์การจัดการ RDS ในเครื่อง กลุ่มบนเซิร์ฟเวอร์ทั้งสอง
ระหว่างการติดตั้งบทบาทนายหน้าเชื่อมต่อ RD บนเซิร์ฟเวอร์แรกในฟาร์ม ฐานข้อมูล SQL ในเครื่องจะถูกสร้างขึ้นใน C:\Windows\rdcbDb\rdcms.mdf
บนไดรฟ์ภายในเครื่องของเซิร์ฟเวอร์ RD Connection Broker
ฐานข้อมูลนี้เก็บข้อมูลเกี่ยวกับเซสชันผู้ใช้ฟาร์มและเทอร์มินัล เนื่องจากมันอยู่บนเครื่องคอมพิวเตอร์ เซิร์ฟเวอร์ RDCB อื่น ๆ จะไม่สามารถใช้งานได้ ในการจัดหา RDCB HA คุณต้องย้ายไปยังเซิร์ฟเวอร์ SQL เฉพาะที่เซิร์ฟเวอร์อื่นสามารถเข้าถึงได้
กำลังปรับใช้โบรกเกอร์การเชื่อมต่อ RD ที่มีความพร้อมใช้งานสูง
ก่อนที่คุณจะเพิ่มโฮสต์ที่สองที่มีบทบาทนายหน้าการเชื่อมต่อ RD ไปยังฟาร์ม คุณต้องย้ายฐานข้อมูล RDCB ในเครื่องไปยัง SQL Server ภายนอก
ในการย้ายฐานข้อมูลนายหน้าการเชื่อมต่อจากฐานข้อมูลในเครื่องไปยัง SQL Server เฉพาะ ให้เปิด Server Manager -> Remote Desktop Services -> Overview . ในการเรียกใช้ตัวช่วยสร้างการกำหนดค่าล้มเหลวของนายหน้าเชื่อมต่อเดสก์ท็อประยะไกล ให้คลิกรูปภาพบทบาทนายหน้าเชื่อมต่อ RD และเลือก กำหนดค่าความพร้อมใช้งานสูง .
จากนั้นเลือก เซิร์ฟเวอร์ฐานข้อมูลเฉพาะ . ระบุการตั้งค่าการเชื่อมต่อ SQL Server ฐานข้อมูล RDCB ในเครื่องจะถูกย้าย
กรอกข้อมูลในสองช่อง:
- DNS ชื่อสำหรับคลัสเตอร์นายหน้าการเชื่อมต่อ RD :ชื่อ FQDN ของฟาร์ม RDCB ของคุณที่เราได้สร้างระเบียน Round Robin DNS ไว้ (ในตัวอย่างของเราคือ
MUNRDCB.woshub.com
). นี่คือที่อยู่ที่ไคลเอ็นต์ RDP จะใช้เมื่อเชื่อมต่อกับเซิร์ฟเวอร์ RD Connection Broker - สตริงการเชื่อมต่อฐานข้อมูล – ระบุสตริงการเชื่อมต่อกับฐานข้อมูล SQL Server นี่คือรูปแบบสตริง:
DRIVER=SQL Server Native Client 11.0;SERVER=<SQL Server Name>;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=<DB Name>
ในตัวอย่างนี้ ชื่อเซิร์ฟเวอร์ SQL คือชื่อของเซิร์ฟเวอร์ SQL ที่คุณต้องการสร้างฐานข้อมูล และชื่อฐานข้อมูลคือชื่อของฐานข้อมูลใหม่ของคุณ:DRIVER=SQL Server Native Client 11.0;SERVER=srv-rds2.woshub.com;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDCB_DB
เมื่อเปิดใช้งานการกำหนดค่า RD Connection Broker HA แล้ว คุณจะไม่สามารถเปลี่ยนกลับเป็นฐานข้อมูล RDCB ภายในได้โดยไม่เลิกใช้งานการกำหนดค่าฟาร์ม RDS ทั้งหมด
คลิก กำหนดค่า ในขั้นตอนต่อไป
จากนั้นเชื่อมต่อกับอินสแตนซ์ SQL Server ของคุณโดยใช้ SQL Management Studio และตรวจสอบให้แน่ใจว่าฐานข้อมูลใหม่ RDCB_DB ได้ถูกสร้างขึ้น
ให้ทั้งเซิร์ฟเวอร์ RD Connection Broker เขียนสิทธิ์ในฐานข้อมูล เปิดฐานข้อมูล -> RDCB_DB -> ความปลอดภัย -> ผู้ใช้ -> ผู้ใช้ใหม่
สร้างผู้ใช้ใหม่สองคน:BUILTIN\RDS Management Servers
และ woshub\MUN_RD_Connection_Brokers
. ให้ทั้ง db_owner
และ public
สิทธิพิเศษ
เพื่อให้มีความพร้อมใช้งานสูงในกรณีที่เซิร์ฟเวอร์แรกล้มเหลว ให้เพิ่มเซิร์ฟเวอร์ RD Connection Broker ที่สองในการกำหนดค่าปัจจุบัน
คลิกไอคอน RD Connection Broker และเลือก เพิ่มเซิร์ฟเวอร์ RD Connection Broker .
ป้อนชื่อของเซิร์ฟเวอร์ที่สองที่คุณต้องการติดตั้งบทบาทนายหน้าการเชื่อมต่อและคลิกถัดไป จากนั้นเซิร์ฟเวอร์สองเครื่องที่มีบทบาท RDCB จะปรากฏในรายการโฮสต์ฟาร์ม RDS นอกจากนี้ คุณยังจะเห็น โบรกเกอร์การเชื่อมต่อ RD (โหมดพร้อมใช้งานสูง) ข้อความ
เสร็จสิ้นการกำหนดค่า High Availability ของ Remote Desktop Connection Broker
การกำหนดค่า SQL Server Failover Configuration สำหรับ RD Connection Broker HA
จากนั้นตั้งค่าคอนฟิกการเฟลโอเวอร์ของฐานข้อมูล SQL ของคุณ ในขณะเดียวกันก็ทำงานบนเซิร์ฟเวอร์เดียวเท่านั้น วางฐานข้อมูลนายหน้าการเชื่อมต่อ RD ของคุณในคลัสเตอร์ SQL อาจเป็น Microsoft Failover Cluster แบบคลาสสิกหรือกลุ่มความพร้อมใช้งานสูงของเซิร์ฟเวอร์ SQL เสมอ
การกำหนดค่า Basic Always On ใน SQL Server 2019 ได้อธิบายไว้ในบทความนี้ เราจะแสดงเฉพาะขั้นตอนหลักที่นี่:
- ติดตั้ง Failover Clustering บทบาทและสร้างคลัสเตอร์ SQL-RDS ของสองโฮสต์ RDCB พร้อมพยานและองค์ประชุมบนไฟล์เซิร์ฟเวอร์ใดๆ (อธิบายไว้ในบทความเรื่อง Always On ที่กล่าวถึงข้างต้น)
- เปิดใช้งานตัวเลือก เปิดใช้งาน Always On Availability Groups ใน ตัวจัดการการกำหนดค่าเซิร์ฟเวอร์ SQL การตั้งค่าบนเซิร์ฟเวอร์ทั้งสอง
- เรียกใช้วิซาร์ดกลุ่มความพร้อมใช้งานใหม่
- ป้อนชื่อของกลุ่มความพร้อมใช้งาน (SQL-RDS );
- เลือกฐานข้อมูลที่คุณต้องการวางในกลุ่มความพร้อมใช้งานสูงของคุณ (RDCB_DB );
- เพิ่มเซิร์ฟเวอร์ SQL ตัวที่สองไปยังกลุ่มความพร้อมใช้งานสูงและทำเครื่องหมายที่ Automatic Failover ตัวเลือก;
- ใน ผู้ฟัง ให้ป้อนชื่อและที่อยู่ IP ที่ไคลเอ็นต์จะใช้เชื่อมต่อกับฐานข้อมูลในกลุ่ม Always On (SQL-RDSDB-liste );
- เปิด ตัวจัดการคลัสเตอร์ล้มเหลว สแนปอิน (
FailoverClusters.SnapInHelper.msc
) และตรวจสอบให้แน่ใจว่าทรัพยากรใหม่ปรากฏในรายการบทบาทแล้ว
จากนั้นเปลี่ยนสตริงการเชื่อมต่อสำหรับเซิร์ฟเวอร์ SQL ด้วยฐานข้อมูล RDCB ในการตั้งค่านายหน้าการเชื่อมต่อ คุณสามารถเปลี่ยนสตริงการเชื่อมต่อ RDCB ผ่าน PowerShell เท่านั้น:
Set-RDDatabaseConnectionString [-DatabaseConnectionString] <String> [[-ConnectionBroker] <String>] [ <CommonParameters>]
ในตัวอย่างของฉัน คำสั่งเพื่อเปลี่ยนฟาร์ม RDCB เป็นฐานข้อมูล SQL High Availability group จะมีลักษณะดังนี้:
Set-RDDatabaseConnectionString -ConnectionBroker srv-rds1.woshub.com -DatabaseConnectionString "DRIVER=SQL Server Native Client 11.0;SERVER=SQL-RDSDB-liste;Trusted_Connection=Yes;APP=Remote Desktop Services Connection Broker;DATABASE=RDCB_DB"
หากคำสั่งไม่ส่งคืนข้อผิดพลาด แสดงว่าทุกอย่างเรียบร้อย ตอนนี้คลัสเตอร์ RDS Connection Broker ของคุณได้รับการกำหนดค่าให้ใช้กลุ่มความพร้อมใช้งานของ SQL Always On
เปิดการตั้งค่าฟาร์ม RDS ของคุณและตรวจสอบให้แน่ใจว่ามีการใช้สตริงการเชื่อมต่อใหม่สำหรับ HA (งาน -> แก้ไขคุณสมบัติการปรับใช้)
ดังนั้นเราจึงได้สร้างบริการ RDS Connection Broker ที่มีความพร้อมใช้งานสูงบน Windows Server 2022/2019 คุณสามารถทดสอบความพร้อมใช้งานสูงของ RDCB ได้โดยการปิดหนึ่งในโฮสต์ในฟาร์ม RDS
จากนั้นคุณสามารถดำเนินการกำหนดค่าฟาร์ม RDS ของคุณ ปรับใช้เซิร์ฟเวอร์การให้สิทธิ์การใช้งาน RDS เพิ่มเซิร์ฟเวอร์ RDSH ตั้งค่าคอลเลกชัน RDS เผยแพร่ RemoteApps เปิดใช้งานเว็บไคลเอ็นต์ HTML5 สำหรับ RDS ฯลฯ