शुभ दिन, ह्रज़ितली! इस लेख में, मैं उस संरचना का वर्णन करूँगा जो मुझे एक नेटवर्क के लिए वर्चुअल कार्यक्षेत्र स्थापित करने के बारे में सोचने के दौरान मिली, जिसमें बहुत कम उपयोगकर्ता (विश्वविद्यालय में एक विभाग) है। मुख्य कार्य: एक कैथेड्रल साइट (ड्रुपल), स्वयं के भंडार और विकी, फ़ाइल साझाकरण (या नेटवर्क ड्राइव) की मेजबानी करना, विभाग के बाहर नेटवर्क तक पहुंच।
इस कार्य के दो उद्देश्य हैं:
- कार्यक्षेत्र स्थापित करने के इस दृष्टिकोण के बारे में अनुभवी सिस्टम प्रशासकों की राय प्राप्त करने के लिए (कृपया आलोचना करें)
- यदि दृष्टिकोण गलत है, तो लेख फिर भी प्रौद्योगिकियों की एक सूची बनी रहेगी, जिसके बीच कोई व्यक्ति उसके लिए उपयुक्त पा सकता है (उदाहरण के लिए, मैंने खुद के बारे में किसी कारण से नहीं सुना है)
उपयोग की गई प्रणाली Ubuntu 12.04 सर्वर x64 है। भौतिक सर्वर कॉन्फ़िगरेशन: i5 दूसरी पीढ़ी, 8 जीबी रैम, एचडीडी 5400 1 टीबी।
उपकरण
द्रुपाल । ऐतिहासिक रूप से (tm), साइट CMS Drupal पर चलती है। Drupal PHP में लिखा गया है और सामग्री का भंडारण करने के लिए किस डेटाबेस का उपयोग करना है, इसका विकल्प प्रदान करता है। उबंटू 12.04 पर MySQL और nginx के साथ Drupal की स्थापना, उदाहरण के लिए,
यहाँ ।
Git और Mercurial रिपॉजिटरी के साथ काम करने के लिए
रोडकोड वेब एप्लिकेशन। उन्हें आंतरिक संरचना में कुछ परेशानी है (उदाहरण के लिए, रोडकोड में एक घटना पर हुक लटका देना नग्न मर्क्यूरियल की तुलना में बहुत अधिक कठिन है)। हालाँकि, जब तक आप अंदर नहीं चढ़ेंगे, तब तक आप उनका सामना नहीं करेंगे और यह आवश्यक नहीं है। Nginx के साथ Ubuntu 12.04 के लिए सेटअप
निर्देश ।
DokuWiki एक विकी सिस्टम जो एक डेटाबेस का उपयोग नहीं करता है, लेकिन हार्ड ड्राइव पर फ़ाइलों के रूप में पृष्ठों को संग्रहीत करता है। इसके अलावा, डिस्क में एक फ़ाइल जोड़ते समय, यह विकी पर दिखाई देता है, और इसके विपरीत। यदि आप विकी के साथ काम करने के लिए एक आवेदन लिखना चाहते हैं, तो यह बहुत सुविधाजनक है, और
एक्सएमएल-आरपीसी से निपटने का कोई समय और इच्छा नहीं है। Nginx के साथ Ubuntu 12.04 के लिए सेटअप
निर्देश ।
अपने खुद के सर्वर (जो, "ड्रॉपबॉक्स एनालॉग") पर खुद के ऑनलाइन स्टोरेज का भंडारण करता है। आपको पीडीएफ देखने और ऑडियो फ़ाइलों को सुनने की अनुमति देता है, जिसमें विभिन्न प्लेटफार्मों के लिए क्लाइंट हैं।
nginx वेब सर्वर का उपयोग nginx है। यह रिपॉजिटरी से स्थापित करने के मामले में कम सुविधाजनक है, जैसा कि उबुन्टू शलजम में एक ही द्रुपाल अपाचे का उपयोग करता है, इसलिए आपको पहले एक को हाथ से स्थापित करना होगा।
OpenLDAP विंडोज में एक एनालॉग डोमेन। उपयोगकर्ता खातों के साथ केंद्रीकृत कार्य। एक समय में, मुझे इसके विन्यास के साथ पीड़ा हुई थी (मुझे याद नहीं है कि पहले से ही क्यों)। इसलिए, मैं आपको दो मैनुअल प्रदान करता हूं जो बिल्कुल काम करते हैं:
सर्वर और
क्लाइंट ।
वीपीएन एक
वीपीएन स्थापित करने के लिए एक अच्छा
गाइड उबंटू सर्वर गाइड में है।
वर्चुअलबॉक्स वर्चुअलाइजेशन तकनीक कोई मायने नहीं रखती। इस काम में, वर्चुअलबॉक्स को निम्नलिखित कारणों के लिए चुना गया था: मैं नहीं पा सका कि युद्धक सर्वर पर वर्चुअलबॉक्स का उपयोग करना क्यों बुरा है - मेरे पास 2 महीने के लिए अपटाइम है (फिर अपडेट्स को रिबूट करने के लिए), मैंने कोई ग्लिच नहीं देखा है। मैं यह नहीं मानता कि मैं कैसे दोषों पर ठोकर खाता हूँ - मैं vdi को कच्चे में
बदल दूंगा और Xen पर स्विच करूँगा।
बिटटोरेंट सिंक बैकअप
को बिटोरेंट सिंक का उपयोग करके
कार्यान्वित किया गया । डेटा को संरक्षित करने के लिए (कोड निजी है!)
हाइब्रिड असममित एन्क्रिप्शन का उपयोग करना प्रस्तावित है। असममित एन्क्रिप्शन महंगा है, और इसलिए हाइब्रिड: एक लंबी कुंजी उत्पन्न होती है, जो एक फ़ाइल में संग्रहीत होती है। यह कुंजी एक बड़ी फ़ाइल को एन्क्रिप्ट करती है। स्वयं कुंजी के साथ फाइल असमान रूप से एन्क्रिप्ट की गई है।
नेटवर्क संरचना

सरलतम मामले में, सभी वर्चुअल मशीनों को एक ही भौतिक सर्वर पर होस्ट किया जाता है। यह विकल्प भविष्य में वर्णित किया जाएगा। यह 4 वर्चुअल सिस्टम और एक होस्ट (hostserver) को हार्डवेयर पर सीधे इंस्टॉल करता है।
Vmserver-web, vmserver-dev और vmserver-drive स्कीमा में इंगित वर्चुअल सिस्टम केवल एक विशिष्ट वेब एप्लिकेशन को होस्ट करते हैं। अलगाव के लिए प्रेरणा इस प्रकार है: Drupal मुख्य और थोड़ा बदलते साइट को ट्विस्ट करता है, DokuWiki / RhodeCode का उपयोग सक्रिय मोड में किया जाता है, विभिन्न उद्देश्यों के लिए कई समान मशीनों का निर्माण किया जा सकता है, ownCloud ने मेरे होम सर्वर को कई बार लटका दिया, मैं इसे बाकी हिस्सों से अलग करना चाहूंगा।
Vmserver-net वर्चुअल मशीन Spins LDAP और VPN कॉन्फ़िगर किया गया है। सभी वर्चुअल मशीनों के लिए नेटवर्क कनेक्शन NAT है। सभी वर्चुअल मशीनें वीपीएन से जुड़ी हैं। Vmserver-net के लिए, निर्दिष्ट वीपीएन और LDAP होस्ट सिस्टम से अंदर के बंदरगाहों पर भेजे जाते हैं।
Http / https के माध्यम से अनुरोध करते समय, अनुरोध को होस्ट मशीन पर nginx द्वारा पार्स किया जाता है और, पते के आधार पर, आंतरिक वीपीएन के माध्यम से वांछित वर्चुअल मशीन को अग्रेषित किया जाता है। वीपीएन का उपयोग नेटवर्क को कार्यात्मक रहने की अनुमति देता है, भले ही vmserver-web, vmserver-dev और vmserver-drive शारीरिक रूप से कहीं और स्थित हों। बस नए वर्चुअल सिस्टम जोड़ें, केवल nginx config संशोधन की आवश्यकता है।
अब सुरक्षा के बारे में थोड़ा: बैकअप और एन्क्रिप्शन। सभी मशीनों के लिए Ssh का उपयोग केवल कुंजी द्वारा किया जाता है। वीपीएन के बाहर, केवल मेजबान मशीन का ssh बाहर चिपक जाता है। Ssh के माध्यम से वर्चुअल मशीन तक पहुंच केवल आपके वीपीएन के अंदर ही संभव है। बैकअप मेजबान मशीन पर संचालन का निम्नलिखित सेट है: आभासी मशीन का ठहराव, छवि का gzip संपीड़न और परिणामस्वरूप संग्रह का हाइब्रिड एन्क्रिप्शन। एन्क्रिप्टेड संग्रह और फ़ाइल को कई भौतिक मशीनों के बीच btsync का उपयोग करके सिंक्रनाइज़ किए गए फ़ोल्डर में रखा गया है। (स्टैकओवरफ़्लो के आधार पर, मैं सुविधाजनक स्क्रिप्ट प्रदान करता हूं:
आरंभीकरण (दिए गए नाम के साथ आवश्यक पैकेजों को स्थापित करना और कुंजी बनाना),
एन्क्रिप्शन और डिक्रिप्शन (एन्क्रिप्शन के मामले में, आपको फ़ाइल को एन्क्रिप्ट करने की आवश्यकता है, और सार्वजनिक कुंजी, मूल फ़ाइल हटा दी जाएगी। डिक्रिप्शन के मामले में, आपको फ़ाइल निर्दिष्ट करने की आवश्यकता है। और निजी कुंजी, एन्क्रिप्ट की गई फ़ाइल हटा दी जाएगी। सममित एन्क्रिप्शन कुंजी के साथ फ़ाइल का नाम स्वचालित रूप से निर्धारित किया जाएगा।)।
वर्चुअल मशीनों का बैकअप लेते समय, एक बहुत बड़ा ओवरहेड होता है, लेकिन इस तरह के बैकअप को तैनात करना बहुत सरल है। और 3 जीबी प्रति दिन के अपने भौतिक नेटवर्क के भीतर सिंक्रनाइज़ेशन नगण्य लगता है (लगभग इतना अब 4 संग्रह सिस्टम लेता है)।
निष्कर्ष
वर्णित दृष्टिकोण, मेरी राय में, आभासी कार्यक्षेत्र के आयोजन में प्रतिरूपकता और सुरक्षा प्राप्त करने की अनुमति देता है। वायलेट के किसी भी माइग्रेशन (vmserver-web, vmserver-dev या vmserver-drive) वर्चुअल मशीन को किसी अन्य भौतिक मशीन में माइग्रेट करते समय कार्यक्षमता का संरक्षण करना स्केलेबिलिटी प्रदान करता है।
दूसरी ओर, टिप्पणियों में मैं आभासी सर्वरों के आयोजन के इस तरीके, उपयोग किए गए औजारों और परिचय में पहचाने गए सवालों के बारे में समुदाय की राय सुनना चाहूंगा।