VPN के ज़रिए लैपटॉप से Wolfram रिमोट कर्नेल कैसे चलाएँ
VPN केवल कनेक्शन ले जाता है। पहले मूल्यांकन से पहले कर्नेल का अधिकार, SSH लॉन्च, रिमोट निष्पादन योग्य फ़ाइल और फ़ाइल पथ की योजना बनाएँ।
आप VPN से जुड़ते हैं, नोटबुक खोलते हैं और उम्मीद करते हैं कि भारी सेल सर्वर पर चलेगा। व्यवहार में सुरंग केवल पैकेट ले जाती है। यह कोई मूल्यांकनकर्ता स्थापित नहीं करती, लाइसेंस नहीं देती और यह नहीं चुनती कि कौन-सी मशीन कोड चलाएगी। ये तीन अलग बातें हैं, और रिमोट कर्नेल वाले कार्यप्रवाह को पहली गणना विश्वसनीय होने से पहले तीनों की ज़रूरत है।
मिथक: VPN कनेक्शन ही सेटअप है
VPN लैपटॉप और सर्वर के बीच नेटवर्क पथ देता है। यह उपयोगी और अक्सर ज़रूरी है, क्योंकि लॉन्च चैनल और कर्नेल कनेक्शन को रिमोट होस्ट तक पहुँचना होता है। यह नहीं बताता कि उस होस्ट पर Wolfram कर्नेल है या नहीं, लाइसेंस दूसरी समवर्ती प्रक्रिया की अनुमति देता है या नहीं, या फ्रंट एंड उसका उपयोग करने के लिए कॉन्फ़िगर है या नहीं।
प्रबंधित लैपटॉप में केवल फ्रंट एंड हो सकता है, और अधिकार सर्वर से जुड़ा होता है। उलटा भी होता है: लैपटॉप पर डेस्कटॉप लाइसेंस साझा अधोसंरचना पर कर्नेल को अधिकृत नहीं करता। दोनों में से कोई भी स्थिति सुरंग को फिर से जोड़कर ठीक नहीं होती।
धारणा को जल्दी जाँचें। नई नोटबुक में $MachineName का मूल्यांकन करें और उत्तर की तुलना अपेक्षित होस्ट से करें। यदि यह लैपटॉप का नाम लौटाता है, तो सेल स्थानीय रूप से चला, चाहे VPN कितना भी स्वस्थ दिखे।
फ्रंट एंड को मूल्यांकनकर्ता से अलग करें
फ्रंट एंड विंडो है: यह सेल संपादित करता है, आउटपुट प्रस्तुत करता है और नोटबुक फ़ाइल सहेजता है। कर्नेल वह प्रक्रिया है जो अभिव्यक्तियों का मूल्यांकन करती है और परिभाषाएँ स्मृति में रखती है। फ्रंट एंड बंद करने से कर्नेल नहीं हिलता, और नोटबुक सहेजने से कर्नेल की स्थिति नहीं सहेजी जाती।
रिमोट कर्नेल जुड़ने के बाद नोटबुक की फ़ाइल स्थिति और कर्नेल की कार्यशील निर्देशिका अलग बातें हैं। Directory[] मूल्यांकनकर्ता की निर्देशिका बताता है, और Import, Export तथा सापेक्ष फ़ाइल नामों के लिए यही महत्वपूर्ण पथ है। लैपटॉप पर नोटबुक के पास रखा डेटासेट किसी दूसरी मशीन पर चल रहे कर्नेल को दिखाई नहीं देता।
विश्लेषण लिखने से पहले तय करें कि डेटा सर्वर तक कैसे पहुँचेगा: साझा माउंट किया गया स्थान, अनुमोदित स्थानांतरण चरण, या ऐसा डेटाबेस जिस तक सर्वर सीधे पहुँच सके। यह चयन पुनरुत्पाद्यता को प्रभावित करता है, क्योंकि लैपटॉप के पथ पर निर्भर नोटबुक अगली बार किसी और के चलाने पर विफल होगी।
अनुमोदित चैनल से कर्नेल लॉन्च करें
Wolfram कीरिमोट कर्नेल मार्गदर्शिका कर्नेल प्रविष्टि जोड़ने, रिमोट मशीन चुनने और SSH के ज़रिए लॉन्च करने का वर्णन करती है। उदाहरण में निष्पादन योग्य फ़ाइल का पथ और तर्क उसी उत्पाद के कार्यप्रवाह के हैं; उन्हें व्यवस्थापक द्वारा बताए गए होस्ट और संस्करण के अनुसार ढालें, बजाय उन्हें बिना बदलाव के चिपकाने के।
होस्ट की पहचान सेटअप का हिस्सा है। संगठन की प्रक्रिया से SSH होस्ट कुंजी सत्यापित करें, जारी प्रमाणीकरण विधि का उपयोग करें, और निजी कुंजियों तथा पासवर्ड को साझा या संग्रहीत होने वाली नोटबुक फ़ाइलों से बाहर रखें। पासवर्ड के साथ लॉन्च कमांड वाली नोटबुक सुविधा नहीं, क्रेडेंशियल का रिसाव है।
इंटरनेट पर WSTP श्रोता को शॉर्टकट के रूप में न खोलें। समर्थित पैटर्न SSH लॉन्च है, जो कर्नेल चैनल को प्रमाणित कनेक्शन के भीतर रखता है। यदि नेटवर्क टीम ने कोई और ट्रांसपोर्ट अनुमोदित किया है तो उसका उपयोग करें, परंतु खुले मूल्यांकनकर्ता पोर्ट को समस्या-निवारण का चरण नहीं, डिज़ाइन परिवर्तन मानें।
पहले अधिकार, डेटा और आउटपुट का आकार जाँचें
लाइसेंस स्वामी से पुष्टि करें कि सर्वर इस उपयोगकर्ता के लिए कर्नेल चला सकता है और समवर्ती सत्र अनुमत हैं। रिमोट गणना अक्सर डेस्कटॉप फ्रंट एंड से अलग लाइसेंसित होती है, और अधिकार के कारण विफल लॉन्च तब तक विफल SSH कमांड जैसा दिखता है जब तक कोई सर्वर का संदेश न पढ़े।
फिर परिणाम का आकार आँकें। कई गीगाबाइट की अभिव्यक्ति लौटाने वाला कर्नेल उसे लॉन्च और कर्नेल चैनल से फ्रंट एंड तक भेजता है, जो लैपटॉप की स्मृति को रोक या समाप्त कर सकता है। भारी समुच्चयन सर्वर पर रखें और सारांश लौटाएँ, या बड़े परिणाम सर्वर के पथ पर लिखें और जानबूझकर स्थानांतरित करें।
नोटबुक की सेटअप टिप्पणियों में निष्पादन योग्य फ़ाइल का पथ, लॉन्च तर्क और कार्यशील निर्देशिका दर्ज करें। तब अगला उपयोगकर्ता पाँच संभावित पथों में से सर्वर कौन-सा उपयोग करता है, यह फिर से खोजने के बजाय इस व्यवस्था को पुनरुत्पादित करेगा।
चरणों का क्रम से निदान करें
पाँच चरण सफल होने चाहिए, और हर एक की अलग जाँच है। लैपटॉप से शुरू करें और एक साथ कई सेटिंग बदलने के बजाय पहली विफलता पर रुकें:
nc -vz research.example.edu 22
ssh -v [email protected] 'hostname; command -v wolframscript'
ssh [email protected] 'wolframscript -code "$MachineName"'विफल TCP जाँच रूटिंग, DNS या VPN के अनुमत गंतव्यों की ओर संकेत करती है। विफल SSH लॉगिन के साथ सफल TCP जाँच प्रमाणीकरण या होस्ट-कुंजी नीति की ओर संकेत करती है। काम करने वाला परंतु कोई निष्पादन योग्य फ़ाइल न पाने वाला लॉगिन कर्नेल स्थापना या फ्रंट एंड को मिले पथ की ओर संकेत करता है। शुरू होने वाला परंतु कभी न जुड़ने वाला कर्नेल लॉन्च तर्क या स्थानीय फ़ायरवॉल की ओर संकेत करता है।
पहली सार्थक त्रुटि सुरक्षित रखें और सर्वर-पक्ष के चरण उस मशीन के स्वामी व्यवस्थापक को भेजें। कर्नेल प्रविष्टि को बार-बार फिर से बनाना यह छिपाता है कि वास्तव में कौन-सा चरण विफल हुआ, और यह वह साक्ष्य फेंक देता है जिसकी व्यवस्थापक को ज़रूरत है।
अंत में आप ऐसी विंडो चाहते हैं जिसे पहचानें, ऐसा मूल्यांकनकर्ता जिसे नाम दे सकें, और कोड तथा फ़ाइलों के लिए सहमत मार्ग। VPN उस पथ का एक घटक है, और कार्यप्रवाह जितनी जल्दी इसे प्रतिबिंबित करेगा, उतना ही कम समय उस सुरंग को फिर से जोड़ने में जाएगा जो कभी समस्या नहीं थी।