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