अपने पिछले लेख में, मैंने मौजूदा SQL सर्वर फ़ेलओवर क्लस्टर इंस्टेंस में नोड स्थापित करने की चरण-दर-चरण प्रक्रिया की व्याख्या की है। इसके साथ ही, मैंने मैन्युअल फ़ेलओवर और स्वचालित फ़ेलओवर का भी प्रदर्शन किया है।
इस लेख में, मैं एक फेलओवर क्लस्टर में डिस्क जोड़ने की प्रक्रिया को प्रदर्शित करने जा रहा हूँ और फिर मौजूदा डेटाबेस को एक नई ड्राइव पर ले जाऊँगा।
सबसे पहले, क्लस्टर में डिस्क जोड़ने के लिए, हमें निम्नलिखित चरणों का पालन करना होगा:
1. एक नया iSCSI वर्चुअल डिस्क बनाएँ।
2. फेलओवर क्लस्टर नोड्स से iSCSI आरंभकर्ता का उपयोग करके नए iSCSI वर्चुअल डिस्क से कनेक्ट करें।
3. मौजूदा फ़ेलओवर क्लस्टर संग्रहण में एक नई डिस्क जोड़ें।
4. नमूना डेटाबेस फ़ाइल को नई डिस्क पर ले जाएँ।
सबसे पहले, मैं आपको डेमो सेटअप का संक्षिप्त परिचय देता हूँ। मैंने अपने कंप्यूटर पर चार वर्चुअल मशीनें बनाई हैं। यहां विवरण दिया गया है:
वर्चुअल मशीन | होस्ट का नाम | आईपी पता | उद्देश्य |
डोमेन नियंत्रक | डीसी.स्थानीय | 192.168.1.110 | इस वर्चुअल मशीन का उपयोग डोमेन नियंत्रक के रूप में किया जाएगा। |
SAN | SAN.DC.Local | 192.168.1.111 | इस वर्चुअल मशीन का उपयोग वर्चुअल SAN के रूप में किया जाएगा। मैंने दो iSCSI वर्चुअल डिस्क बनाए हैं जिन्हें मैं iSCSI आरंभकर्ता का उपयोग करके फेलओवर क्लस्टर नोड्स से जोड़ूंगा। |
प्राथमिक SQL Node | SQL01.DC.Local | 192.168.1.112 | इस वर्चुअल मशीन पर, हम फ़ेलओवर क्लस्टर इंस्टेंस स्थापित करेंगे। |
सेकेंडरी SQL Node | SQL02.DC.स्थानीय | 192.168.1.113 | इस वर्चुअल मशीन पर, हम फ़ेलओवर क्लस्टर इंस्टेंस का सेकेंडरी नोड इंस्टॉल करेंगे। |
सैन.डीसी.स्थानीय . पर , मैंने तीन iSCSI ड्राइव बनाए हैं। विवरण इस प्रकार हैं:
iSCSI ड्राइव का नाम | उद्देश्य |
एसक्यूएल-डेटा | इस ड्राइव पर, हम उपयोगकर्ता डेटाबेस और TempDB फ़ाइलों की डेटाबेस फ़ाइलें संग्रहीत कर रहे हैं। |
एसक्यूएल-लॉग | इस ड्राइव पर, हम उपयोगकर्ता डेटाबेस की लॉग फ़ाइलें संग्रहीत कर रहे हैं। |
कोरम | इस ड्राइव का उपयोग कोरम के रूप में किया जाता है। |
हमारे कॉन्फ़िगरेशन का स्क्रीनशॉट निम्नलिखित है:
एक iSCSI डिस्क बनाएं
जैसा कि मैंने ऊपर बताया, हमें सबसे पहले एक iSCSI वर्चुअल ड्राइव बनाना चाहिए। इस मामले में, मैं निश्चित आकार के iSCSI वर्चुअल डिस्क बनाने और कॉन्फ़िगर करने के लिए PowerShell का उपयोग करने जा रहा हूं। वर्चुअल डिस्क का आकार 8 जीबी है। एक नया iSCSI ड्राइव बनाने के लिए, निम्न कमांड निष्पादित करें।
New-IscsiVirtualDisk –Path F:\new-sql-data\new-sql-data.vhdx –SizeBytes (8GB) –UseFixed
यह सत्यापित करने के लिए कि iSCSI डिस्क सफलतापूर्वक बनाई गई है, S . खोलें एवर एम एनेर और iSCSI वर्चुअल डिस्क click क्लिक करें बाएँ फलक पर। निम्न चित्र देखें:
अब हमें एक iSCSI लक्ष्य बनाना होगा। दूरस्थ सर्वर लक्ष्य नाम का उपयोग करके वर्चुअल डिस्क से जुड़ सकते हैं। यहाँ, मैं new-sql-data . नाम का एक लक्ष्य बनाऊँगा . "नया-एसक्यूएल-डेटा . नाम का एक iSCSI लक्ष्य बनाने के लिए ” और इसे SQL02.dc.Local . को असाइन करें और SQL02.dc.स्थानीय , निम्न आदेश निष्पादित करें।
New-IscsiServerTarget -TargetName "new-sql-data" -InitiatorIds @("IQN:iqn.1991-05.com.microsoft:sql01.dc.local", "IQN:iqn.1991-05.com.microsoft:sql02.dc.local")
एक बार iSCSI लक्ष्य बन जाने के बाद, हमें अपनी वर्चुअल डिस्क को iSCSI लक्ष्य को असाइन करना होगा। ऐसा करने के लिए, निम्न क्वेरी निष्पादित करें:
Add-IscsiVirtualDiskTargetMapping -TargetName new-sql-data –Path "F:\new-sql-data\new-sql-data.vhdx"
एक बार लक्ष्य मानचित्रण सफलतापूर्वक पूर्ण हो जाने पर, सर्वर प्रबंधक में iSCSI वर्चुअल डिस्क फलक को ताज़ा करें। निम्न चित्र देखें:
विफलता क्लस्टर नोड्स से iSCSI आरंभकर्ता का उपयोग करके नई iSCSI वर्चुअल डिस्क से कनेक्ट करें
अब, इस ड्राइव से SQL01.dc.local से कनेक्ट करें आरडीपी का उपयोग करके नोड।
iSCSI आरंभकर्ता का उपयोग करके iSCSI वर्चुअल डिस्क से कनेक्ट करने के लिए, iSCSI आरंभकर्ता खोलें और ताज़ा करें क्लिक करें लक्ष्य खोजने के लिए बटन। अब आप “खोजे गए लक्ष्य . में से उपयुक्त लक्ष्य नाम चुन सकते हैं " पाठ बॉक्स। उपयुक्त लक्ष्य चुनें और C . पर क्लिक करें कनेक्ट . निम्न चित्र देखें:
एक बार जब हम वर्चुअल डिस्क से जुड़ जाते हैं, तो आप डिस्क को D . में देख सकते हैं इस्क एम एनेर सी . के अंतर्गत अनुभाग कंप्यूटर एम प्रबंधन . क्लस्टर के भीतर डिस्क का उपयोग करने के लिए, हमें निम्नलिखित कार्य करने होंगे:
- डिस्क को ऑनलाइन लाएं। ऐसा करने के लिए, D . पर राइट-क्लिक करें आइस्क 4 और ऑनलाइन . चुनें . निम्न चित्र देखें:
- डिस्क के ऑनलाइन होने के बाद, डिस्क को इनिशियलाइज़ करें। ऐसा करने के लिए, डिस्क 4 . पर राइट-क्लिक करें और डिस्क इनिशियलाइज़ करें . चुनें . निम्न चित्र देखें:
- डिस्क के प्रारंभ होने के बाद, डिस्क 4 पर राइट-क्लिक करें और नया साधारण वॉल्यूम select चुनें एक विभाजन बनाने के लिए। निम्न चित्र देखें:
इसी तरह, हमें वर्चुअल ड्राइव को SQL02.dc.local . से कनेक्ट करना होगा नोड. ऐसा करने के लिए, SQL02.dc.local कनेक्ट करें RDP का उपयोग करके नोड, iSCSI आरंभकर्ता खोलें, और ताज़ा करें . पर क्लिक करें लक्ष्य खोजने के लिए बटन। अब आप खोजे गए लक्ष्य . में से उपयुक्त लक्ष्य नाम चुन सकते हैं पाठ बॉक्स। उपयुक्त लक्ष्य चुनें और C . पर क्लिक करें कनेक्ट . निम्न चित्र देखें:
नई डिस्क को मौजूदा फ़ेलओवर क्लस्टर संग्रहण में जोड़ें।
इस डिस्क को क्लस्टर स्टोरेज में जोड़ने के लिए, SQL01.Dc.Local . से कनेक्ट करें RDP का उपयोग करके, F . खोलें ऐलओवर सी चमक एम एनेर , SQLCluster.DC.Local . से कनेक्ट करें , डी . चुनें इस्क बाएं पैन से और A . क्लिक करें डीडी डिस्क . "क्लस्टर में डिस्क जोड़ें" संवाद बॉक्स खोला जाएगा। इस डायलॉग बॉक्स में, नई क्लस्टर डिस्क प्रदर्शित होगी। निम्न चित्र देखें:
एक बार नई डिस्क जोड़ने के बाद, आप इसे फ़ेलओवर क्लस्टर प्रबंधक के डिस्क मेनू में देख सकते हैं। निम्न चित्र देखें:
नमूना डेटाबेस फ़ाइल को नई डिस्क पर ले जाएं।
एक बार डिस्क जोड़ने के बाद, एक नमूना डेटाबेस फ़ाइल को नई ड्राइव पर ले जाएँ। मैंने de . नाम का एक डेटाबेस बनाया है मोडाबेस पर SQL01.dc.स्थानीय . हम इसकी डेटा फ़ाइल को नई डिस्क पर ले जाना चाहते हैं। ऐसा करने के लिए, पावरशेल से कनेक्ट करें और फिर 'SQLCmd' का उपयोग करके SQL सर्वर इंस्टेंस से कनेक्ट करें ' आदेश।
एक बार जब आप इंस्टेंस से जुड़ जाते हैं, तो डेटाबेस को अलग करने के लिए निम्न कमांड निष्पादित करें।
exec sp_detach_db [demodatabase] go
डेटाबेस के अलग होने के बाद, ड्राइव F (पुरानी ड्राइव) से डेटा फ़ाइल को ड्राइव E (नई ड्राइव) में कॉपी करें और डेटाबेस को अटैच करने के लिए निम्न कमांड निष्पादित करें।
CREATE DATABASE demodatabase ON (FILENAME = 'E:\SQLData\demodatabase.mdf'), (FILENAME = 'F:\SQLLog\demodatabase_log.ldf') FOR ATTACH; GO
जब आप ऊपर दिए गए आदेश को निष्पादित करते हैं, तो आपको निम्न त्रुटि प्राप्त होगी:
Msg 5184, Level 16, State 2, Server SQLCLUST, Line 1 Cannot use file 'E:\SQLData\demodatabase.mdf' for clustered server. Only formatted files on which the cluster resource of the server has a dependency can be used. Either the disk resource containing the file is not present in the cluster group or the cluster resource of the Sql Server does not have a dependency on it.
यह त्रुटि इसलिए होती है क्योंकि हमने नई डिस्क को क्लस्टर संसाधन समूह और और निर्भरता में नहीं जोड़ा है MSSQLSERVER भूमिका का। निम्न चित्र देखें:
इस त्रुटि को ठीक करने के लिए, हमें नई डिस्क को MSSQLSERVER भूमिका में जोड़ना होगा। ऐसा करने के लिए, फ़ेलओवर क्लस्टर प्रबंधक खोलें, भूमिकाएँ चुनें क्लिक करें, SQL सर्वर पर राइट-क्लिक करें (MSSQLSERVER ) भूमिका, और चुनें संग्रहण जोड़ें . निम्न चित्र देखें:
संग्रहण जोड़ें डायलॉग बॉक्स खुल जाएगा। उपलब्ध संग्रहण की सूची से, हमारे द्वारा बनाई गई डिस्क चुनें। निम्न चित्र देखें:
एक बार जब हम भंडारण जोड़ लेते हैं, तो हम इसे MSSQLSERVER भूमिका के संसाधन टैब से सत्यापित कर सकते हैं। निम्न चित्र देखें:
एक बार डिस्क जोड़ने के बाद, हमें इसे SQL सर्वर में भी जोड़ना होगा और निर्भरता . ऐसा करने के लिए, MSSQLSERVER . के अंतर्गत संसाधनों की सूची में SQL सर्वर पर राइट-क्लिक करें भूमिका निभाएं और P . चुनें गुण . P . में गुण संवाद बॉक्स में, निर्भरता पर जाएं टैब करें और क्लस्टर डिस्क 4 . चुनें संसाधन . में ड्रॉप-डाउन बॉक्स से कॉलम।
एक बार डिस्क संसाधन जोड़ने के बाद, निम्न कमांड का उपयोग करके डेटाबेस को संलग्न करने का प्रयास करें:
CREATE DATABASE demodatabase ON (FILENAME = 'E:\SQLData\demodatabase.mdf'), (FILENAME = 'F:\SQLLog\demodatabase_log.ldf') FOR ATTACH; GO
आदेश सफलतापूर्वक निष्पादित किया जाएगा। यह सत्यापित करने के लिए कि फ़ाइल को उपयुक्त स्थान पर कॉपी किया गया है, PowerShell में निम्न क्वेरी निष्पादित करें।
select db_name(database_id) as [database name], physical_name from sys.master_files where db_name(database_id) ='demodatabase'
निम्नलिखित आउटपुट है:
Database Name physical_name ------------ --------------------------------- demodatabase E:\SQLData\demodatabase.mdf demodatabase F:\SQLLog\demodatabase_log.ldf
जैसा कि आप देख सकते हैं, डेटाबेस फ़ाइल को नई ड्राइव पर ले जाया गया है।
सारांश
इस लेख में, मैंने समझाया है कि मौजूदा SQL सर्वर फ़ेलओवर क्लस्टर इंस्टेंस में डिस्क जोड़ने की चरण-दर-चरण प्रक्रिया। अगले लेख में, मैं समझाऊंगा कि सिस्टम डेटाबेस को एक नई क्लस्टर डिस्क में कैसे स्थानांतरित किया जाए।
बने रहें!