रिमोट डेस्कटॉप कनेक्शन ब्रोकर (RDCB) विंडोज सर्वर में रिमोट डेस्कटॉप सर्विसेज (आरडीएस) भूमिका का एक घटक है। आरडी कनेक्शन ब्रोकर आपको आरडीएस फार्म सर्वर को लोड-बैलेंस करने की अनुमति देता है (आरडीएस फार्म से कनेक्ट होने पर, उपयोगकर्ता को कम से कम लोड किए गए आरडीएस होस्ट पर रीडायरेक्ट किया जाता है), वीडीआई और रिमोटएप्स तक उपयोगकर्ता पहुंच प्रदान करता है, फार्म में आरडीएस होस्ट कॉन्फ़िगरेशन का प्रबंधन करता है। इसके अलावा, आरडीसीबी उपयोगकर्ताओं को अपने सत्रों से फिर से जुड़ने की अनुमति देता है:आरडीएस से कनेक्ट होने पर, आरडीसीबी जांचता है कि क्या फार्म के अन्य सर्वरों पर कोई अधूरा सत्र है और उन्हें उनके पिछले सत्रों में पुनर्निर्देशित करता है।
इस लेख में, हम दिखाएंगे कि दोष-सहिष्णु उच्च उपलब्धता RD कनेक्शन ब्रोकर इंस्टेंस को कैसे कॉन्फ़िगर किया जाए। आरडीसीबी भूमिका वाले सर्वरों में से एक के विफल होने की स्थिति में इसकी विशेषताओं को बनाए रखना। MS SQL Server 2019 चलाने वाले डेटाबेस सर्वर का उपयोग दूरस्थ डेस्कटॉप कनेक्शन ब्रोकर डेटा को संग्रहीत करने के लिए किया जाएगा। विफलता के एकल बिंदु से बचने के लिए, एक RDCB SQL डेटाबेस को भी दोष-सहिष्णु कॉन्फ़िगरेशन में तैनात किया जाना चाहिए। इस उदाहरण में, हम दो SQL सर्वर नोड्स का उपयोग करेंगे जिसमें SQL हमेशा उपलब्धता समूह कॉन्फ़िगर किया गया है।
RD कनेक्शन ब्रोकर उच्च उपलब्धता आवश्यकताएं और समर्थित कॉन्फ़िगरेशन:
- आरडी कनेक्शन ब्रोकर भूमिका वाले कम से कम 2 सर्वर जो विंडोज सर्वर 2022/2019 पर चल रहे हों;
- यदि आप RDCB SQL डेटाबेस के लिए उच्च उपलब्धता का उपयोग करना चाहते हैं, तो आपको SQL Server 2014 या नए (मानक या एंटरप्राइज़ संस्करण) वाले कम से कम 2 होस्ट की आवश्यकता होगी। इस उदाहरण में, हमने प्रत्येक सर्वर पर एक स्टैंडअलोन एमएस एसक्यूएल सर्वर 2019 एंटरप्राइज इंस्टेंस स्थापित किया है। यदि आपके पास HA SQL डेटाबेस नहीं है, तो SQL एक्सप्रेस वाला एक सर्वर पर्याप्त है;
- RD कनेक्शन ब्रोकर भूमिका के साथ सर्वर पर SQL सर्वर नेटिव क्लाइंट स्थापित करें;
- RD कनेक्शन ब्रोकर सर्वर को अपने SQL डेटाबेस और SQL स्थापना फ़ोल्डर पर पूर्ण नियंत्रण प्रदान करें;
- फ़ार्म में दूरस्थ डेस्कटॉप सत्र होस्ट भूमिका वाला कम से कम एक सर्वर।
हम दो सर्वरों का एक उच्च उपलब्ध आरडीसीबी कॉन्फ़िगरेशन तैयार करेंगे। उन दोनों में RD कनेक्शन भूमिका और SQL सर्वर स्थापित होगा। SQL सर्वर डेटाबेस की उच्च उपलब्धता और आपदा पुनर्प्राप्ति SQL सर्वर हमेशा उपलब्धता समूह द्वारा प्रदान की जाएगी।
विंडोज सर्वर 2012 और नए में, आरडीएस कनेक्शन ब्रोकर सक्रिय/सक्रिय मोड में उच्च उपलब्धता प्रदान करता है। इस मोड में, सभी आरडीसीबी सर्वर सक्रिय हैं और आने वाले कनेक्शन को संसाधित कर सकते हैं। यह बड़े दूरस्थ डेस्कटॉप वातावरण में उच्च RDCB उपलब्धता और मापनीयता प्रदान करने की अनुमति देता है।
दूरस्थ डेस्कटॉप कनेक्शन ब्रोकर के लिए आधारभूत संरचना तैयार करना
आरडी कनेक्शन ब्रोकर भूमिका वाले सभी सर्वरों को स्थिर आईपी पते असाइन करें और उन्हें अपने सक्रिय निर्देशिका डोमेन में शामिल करें।
srv-rds1.woshub.com
—192.168.13.20
srv-rds2.woshub.com
—192.168.13.21
सक्रिय निर्देशिका में एक नया सुरक्षा समूह बनाएं (MUN_RD_Connection_Brokers
) और इसमें सभी RDCB सर्वर जोड़ें। आप ADUC स्नैप-इन के साथ समूह बना सकते हैं (dsa.msc
) या पावरशेल का उपयोग करके:
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$
DNS में अपने RDS फ़ार्म (हमारे उदाहरण में, यह MUNRDCB है) के क्लस्टर नाम के लिए A रिकॉर्ड बनाएँ। डीएनएस रिकॉर्ड में सभी आरडीसीबी सर्वरों के आईपी पते होने चाहिए। यह आरडी कनेक्शन ब्रोकर सर्वर के बीच लोड बैलेंसिंग (राउंड रॉबिन) को सक्षम बनाता है। मैंने निम्नलिखित प्रविष्टियाँ बनाई हैं:
- A —
MUNRDCB.woshub.com 192.168.13.20
(पहले आरडीसीबी सर्वर का आईपी पता - srv-rds1.woshub.com) - A —
MUNRDCB.woshub.com 192.168.13.21
(दूसरे आरडीसीबी सर्वर का आईपी पता - srv-rds2.woshub.com)
आप PowerShell का उपयोग करके DNS में A रिकॉर्ड बना सकते हैं:
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 सर्वर नेटिव क्लाइंट स्थापित करें आरडीसीबी भूमिका वाले सभी सर्वरों पर। आप Microsoft वेबसाइट से अपने SQL सर्वर संस्करण के लिए SQL सर्वर मूल क्लाइंट डाउनलोड कर सकते हैं या इसे SQL सर्वर स्थापित छवि से कॉपी कर सकते हैं (D:\1033_ENU_LP\x64\Setup\x64\sqlncli.msi
)।
फिर SQL सर्वर प्रबंधन स्टूडियो चलाएं और अपने पहले SQL सर्वर से कनेक्ट करें, जिस पर एक साझा कनेक्शन ब्रोकर डेटाबेस बनाया जाएगा (बाद में हम इसे हमेशा उच्च उपलब्धता समूह पर ले जाएंगे)।
खोलें सुरक्षा -> लॉगिन एक नया लॉगिन जोड़ने के लिए। खोजें क्लिक करें, स्थानों . में अपना डोमेन चुनें , ऑब्जेक्ट प्रकार सेट करें =समूह, और डोमेन समूह खोजें MUN_RD_Connection_Brokers .
असाइन करें dbcreator
और sysadmin
समूह के लिए भूमिकाएँ।
Windows Defender फ़ायरवॉल में SQL सर्वर पोर्ट खोलें (डिफ़ॉल्ट रूप से, TCP 1433 पोर्ट का उपयोग SQL सर्वर से कनेक्ट करने के लिए किया जाता है)।
Windows सर्वर पर दूरस्थ डेस्कटॉप सेवा भूमिकाएं स्थापित करें
फिर आपको अपने सर्वर पर RDS भूमिकाएँ स्थापित करनी होंगी। सर्वर प्रबंधक कंसोल खोलें, प्रबंधित करें चुनें -> भूमिकाएं और सुविधाएं जोड़ें -> दूरस्थ डेस्कटॉप सेवा स्थापना ।
स्टैंडअलोन होस्ट पर RDS रोल की स्थापना का वर्णन इस आलेख में किया गया है।
मानक परिनियोजन Select चुनें -> सत्र-आधारित डेस्कटॉप परिनियोजन .
एक सर्वर चुनें जिस पर आप आरडी कनेक्शन ब्रोकर भूमिका स्थापित करना चाहते हैं। अब आपको दूसरे सर्वर पर RDCB भूमिका स्थापित करने की आवश्यकता नहीं है।
उसी सर्वर पर RD वेब एक्सेस भूमिका स्थापित करें। दोनों सर्वरों पर RD सत्र होस्ट भूमिका स्थापित करें।
RDS भूमिकाओं की स्थापना पूर्ण होने तक प्रतीक्षा करें।
जब आप भूमिकाएं स्थापित करना समाप्त कर लें, तो स्थानीय RDS प्रबंधन सर्वर में RDCB होस्ट और 'NT AUTHORITY\NETWORK SERVICE' खाते जोड़ें। दोनों सर्वरों पर समूह।
फ़ार्म में पहले सर्वर पर RD कनेक्शन ब्रोकर भूमिका की स्थापना के दौरान, C:\Windows\rdcbDb\rdcms.mdf
में एक स्थानीय SQL डेटाबेस बनाया जाएगा। आरडी कनेक्शन ब्रोकर सर्वर के स्थानीय ड्राइव पर।
यह डेटाबेस फार्म और टर्मिनल उपयोगकर्ता सत्रों के बारे में जानकारी रखता है। चूंकि यह स्थानीय कंप्यूटर पर स्थित है, इसलिए अन्य आरडीसीबी सर्वर इसका उपयोग नहीं कर पाएंगे। RDCB HA प्रदान करने के लिए, आपको इसे एक समर्पित SQL सर्वर पर ले जाना होगा जहाँ अन्य सर्वर इसे एक्सेस कर सकें।
RD कनेक्शन ब्रोकर को उच्च उपलब्धता पर तैनात करना
इससे पहले कि आप आरडी कनेक्शन ब्रोकर भूमिका के साथ फ़ार्म में दूसरा होस्ट जोड़ें, आपको स्थानीय आरडीसीबी डेटाबेस को बाहरी SQL सर्वर पर माइग्रेट करना होगा।
कनेक्शन ब्रोकर डेटाबेस को स्थानीय डेटाबेस से समर्पित SQL सर्वर में स्थानांतरित करने के लिए, सर्वर प्रबंधक खोलें -> दूरस्थ डेस्कटॉप सेवाएँ -> अवलोकन . दूरस्थ डेस्कटॉप कनेक्शन ब्रोकर फ़ेलओवर कॉन्फ़िगरेशन विज़ार्ड चलाने के लिए, RD कनेक्शन ब्रोकर भूमिका छवि पर क्लिक करें और उच्च उपलब्धता कॉन्फ़िगर करें चुनें। ।
फिर समर्पित डेटाबेस सर्वर select चुनें . SQL सर्वर कनेक्शन सेटिंग्स निर्दिष्ट करें, स्थानीय RDCB डेटाबेस को स्थानांतरित किया जाएगा।
दो फ़ील्ड भरें:
- डीएनएस आरडी कनेक्शन ब्रोकर क्लस्टर का नाम :आपके RDCB फ़ार्म का एक FQDN नाम, जिसके लिए हमने राउंड रॉबिन DNS रिकॉर्ड बनाए हैं (हमारे उदाहरण में, यह
MUNRDCB.woshub.com
है। ) यह वह पता है जिसका उपयोग RDP क्लाइंट RD कनेक्शन ब्रोकर सर्वर से कनेक्ट करते समय करेंगे; - डेटाबेस कनेक्शन स्ट्रिंग - SQL सर्वर डेटाबेस में कनेक्शन स्ट्रिंग निर्दिष्ट करें। यहाँ स्ट्रिंग प्रारूप है:
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 सर्वर का नाम है जिस पर आप एक डेटाबेस बनाना चाहते हैं, और DB नाम आपके नए डेटाबेस का नाम है: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 कनेक्शन ब्रोकर HA कॉन्फ़िगरेशन सक्षम हो जाने के बाद, आप संपूर्ण RDS फ़ार्म कॉन्फ़िगरेशन को बंद किए बिना आंतरिक RDCB डेटाबेस में वापस नहीं लौट पाएंगे।
कॉन्फ़िगर करें क्लिक करें अगले चरण में।
फिर SQL प्रबंधन स्टूडियो का उपयोग करके अपने SQL सर्वर इंस्टेंस से कनेक्ट करें और सुनिश्चित करें कि नया डेटाबेस RDCB_DB बनाया गया है।
दोनों आरडी कनेक्शन ब्रोकर सर्वरों को डेटाबेस के लिए अनुमति लिखने की अनुमति दें। डेटाबेस खोलें -> RDCB_DB -> सुरक्षा -> उपयोगकर्ता -> नया उपयोगकर्ता।
दो नए उपयोगकर्ता बनाएँ:BUILTIN\RDS Management Servers
और woshub\MUN_RD_Connection_Brokers
. दोनों को db_owner
प्रदान करें और public
विशेषाधिकार।
पहला सर्वर विफल होने की स्थिति में उच्च उपलब्धता प्रदान करने के लिए, वर्तमान कॉन्फ़िगरेशन में दूसरा RD कनेक्शन ब्रोकर सर्वर जोड़ें।
आरडी कनेक्शन ब्रोकर आइकन पर क्लिक करें और आरडी कनेक्शन ब्रोकर सर्वर जोड़ें चुनें ।
दूसरे सर्वर का नाम दर्ज करें जिस पर आप कनेक्शन ब्रोकर भूमिका स्थापित करना चाहते हैं और अगला क्लिक करें। फिर RDCB भूमिका वाले दो सर्वर RDS फ़ार्म होस्ट की सूची में दिखाई देंगे। आपको आरडी कनेक्शन ब्रोकर (उच्च उपलब्ध मोड) भी दिखाई देगा संदेश।
यह दूरस्थ डेस्कटॉप कनेक्शन ब्रोकर के उच्च उपलब्धता कॉन्फ़िगरेशन को पूरा करता है।
RD कनेक्शन ब्रोकर HA के लिए SQL सर्वर फ़ेलओवर कॉन्फ़िगरेशन कॉन्फ़िगर करना
फिर अपने SQL डेटाबेस का फ़ेलओवर कॉन्फ़िगरेशन सेट करें। इस बीच, यह केवल एक सर्वर पर चल रहा है। अपने RD कनेक्शन ब्रोकर डेटाबेस को SQL क्लस्टर में रखें। यह या तो एक क्लासिक Microsoft फ़ेलओवर क्लस्टर या SQL सर्वर हमेशा उच्च उपलब्धता समूह पर हो सकता है।
इस आलेख में SQL सर्वर 2019 में बेसिक ऑलवेज ऑन कॉन्फ़िगरेशन का वर्णन किया गया है। हम यहां केवल मुख्य चरण दिखाएंगे:
- विफलता क्लस्टरिंग स्थापित करें किसी भी फाइल सर्वर पर गवाह और कोरम के साथ दो आरडीसीबी मेजबानों के एसक्यूएल-आरडीएस क्लस्टर की भूमिका और निर्माण करना (यह ऊपर उल्लिखित ऑलवेज ऑन पर लेख में वर्णित है);
- विकल्प को सक्षम करें हमेशा उपलब्धता समूहों को सक्षम करें SQL सर्वर कॉन्फ़िगरेशन प्रबंधक . में दोनों सर्वरों पर सेटिंग्स;
- नया उपलब्धता समूह विज़ार्ड चलाएँ;
- उपलब्धता समूह का नाम दर्ज करें (SQL-RDS );
- एक डेटाबेस चुनें जिसे आप अपने उच्च उपलब्धता समूह में रखना चाहते हैं (RDCB_DB );
- उच्च उपलब्धता समूह में दूसरा SQL सर्वर जोड़ें और स्वचालित विफलता की जांच करें विकल्प;
- श्रोता पर टैब में, वह नाम और आईपी पता दर्ज करें जिसका उपयोग क्लाइंट आपके हमेशा चालू समूह में डेटाबेस से कनेक्ट करने के लिए करेंगे (SQL-RDSDB-liste );
- विफलता क्लस्टर प्रबंधक खोलें स्नैप-इन (
FailoverClusters.SnapInHelper.msc
) और सुनिश्चित करें कि भूमिकाओं की सूची में नया संसाधन प्रकट हुआ है।
फिर कनेक्शन ब्रोकर सेटिंग्स में RDCB डेटाबेस के साथ SQL सर्वर के लिए कनेक्शन स्ट्रिंग बदलें। आप केवल PowerShell के माध्यम से RDCB कनेक्शन स्ट्रिंग को बदल सकते हैं:
Set-RDDatabaseConnectionString [-DatabaseConnectionString] <String> [[-ConnectionBroker] <String>] [ <CommonParameters>]
मेरे उदाहरण में, RDCB फ़ार्म को SQL डेटाबेस उच्च उपलब्धता समूह में बदलने का आदेश इस तरह दिखता है:
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 फ़ार्म सेटिंग खोलें और सुनिश्चित करें कि HA (कार्य -> परिनियोजन गुण संपादित करें) के लिए एक नई कनेक्शन स्ट्रिंग का उपयोग किया जाता है।
इसलिए, हमने विंडोज सर्वर 2022/2019 पर एक उच्च उपलब्धता वाली आरडीएस कनेक्शन ब्रोकर सेवा बनाई है। आप आरडीएस फार्म में मेजबानों में से एक को बंद करके आरडीसीबी की उच्च उपलब्धता का परीक्षण कर सकते हैं।
फिर आप अपने RDS फ़ार्म के कॉन्फ़िगरेशन के साथ आगे बढ़ सकते हैं, RDS लाइसेंसिंग सर्वर परिनियोजित कर सकते हैं, RDSH सर्वर जोड़ सकते हैं, RDS संग्रह सेट कर सकते हैं, RemoteApps प्रकाशित कर सकते हैं, RDS के लिए HTML5 वेब क्लाइंट सक्षम कर सकते हैं, आदि।