सर्वर माइग्रेशन: सबसे कुशल तरीका


10

मुझे सर्वरों (दो अलग-अलग मेजबानों) के बीच हमारी एक साइट पर माइग्रेट करने का काम सौंपा गया है। दोनों वातावरण लिनेक्स हैं।

साइट वीडियो स्ट्रीम करती है, इसलिए सर्वर वर्तमान में मीडिया फ़ाइलों (छवियों और वीडियो) से भरा हुआ है। मेरा पहला विचार यह था कि हम सब कुछ स्थानांतरित करने के लिए rsycnc का उपयोग करेंगे, लेकिन मैं जितना संभव हो उतना कुशल होना चाहता हूं और जितनी जल्दी हो सके सब कुछ कर सकता हूं। मुझे लगा कि आप में से कुछ को सलाह हो सकती है कि प्रक्रिया को कैसे तेज किया जाए, या यदि rsync यहां भी सही विकल्प है।

अग्रिम में धन्यवाद। Sysadmin सामान पर मेरे सीमित ज्ञान के लिए माफी ...

संपादित करें: हम एक बुनियादी लैंप स्टैक (सेंटो) पर चल रहे हैं और रैकस्पेस पर लाल टोपी पर जा रहे हैं)।


1
इस संदर्भ में "कुशल" को परिभाषित करें। तेज, विश्वसनीय, मजबूत, या क्या? और नहीं, आपके पास वे सब नहीं हो सकते।
जॉन गार्डनियर्स

1
डेटा को माइग्रेट करने के लिए rsync लगभग निश्चित रूप से सबसे अच्छा विकल्प है; वहाँ अभी भी विन्यास और संभव डेटाबेस आदि है कि दूसरों ने उल्लेख किया है कि अन्य बेहतर विकल्प हैं।
fukawi2

जवाबों:


12

"एक एप्लिकेशन को एक सर्वर से दूसरे सर्वर पर माइग्रेट करने" में बहुत कुछ शामिल है - वास्तव में कोई तरीका नहीं है कि हम इस उपयोग के मामलों के लिए व्यापक रूप से जवाब दे सकें। आप हालांकि अपने स्थापना के लिए बहुत व्यापक यह जवाब कर सकते हैं, यदि आप इसे व्यवस्थित दृष्टिकोण:

  1. अपने आवेदन की जरूरत की हर चीज की एक सूची बनाएं।
    • वेब सर्वर?
    • डेटाबेस सर्वर?
    • डाक सर्वर?
    • स्क्रिप्टिंग भाषा (PHP, रूबी / रेल्स, पर्ल, कुछ और)?
    • अनुषंगी कार्यक्रम (ImageMagick, आदि)?
  2. महत्वपूर्ण कॉन्फ़िगरेशन आइटमों की एक सूची बनाएं।
    • आईपी ​​एड्रेस, नेटमास्क, गेटवे आदि।
    • डीएनएस सर्वर
    • अनुप्रयोग-विशिष्ट आइटम (अस्थायी निर्देशिका, आदि)
  3. (1) और (2) से सूचियों को लें और प्रवास की रूपरेखा लिखें।
    इसमें किसी भी सॉफ़्टवेयर / पैकेज को स्थापित करने और कॉन्फ़िगर करने जैसी चीजें शामिल होनी चाहिए जो आपको चाहिए, डेटाबेस को डंपिंग और लोड करना आदि।
  4. परीक्षण की
    नकल करें जैसे कि सर्वर लाइव होने वाला था, लेकिन आप इसे लाइव न करें। जब आप कर रहे हों तो एक अलग नेटवर्क पर इसे चिपकाएँ और सब कुछ परखें।
    यदि आपके पास आपके आवेदन के लिए एक मानक परीक्षण प्रक्रिया है, तो आपको इसे माइग्रेटेड सर्वर पर चलाना चाहिए।
  5. यदि सब कुछ पूरी तरह से नहीं हुआ, तो गोटो (3), अपडेट (1) और (2) फिर अपनी योजना को संशोधित करें।
  6. जब परीक्षण माइग्रेशन पूरी तरह से चला जाता है, तो वास्तविक माइग्रेशन करें।
    माइग्रेशन प्रक्रिया कितनी जटिल है, इस पर निर्भर करता है कि इसका मतलब सिर्फ डेटाबेस को गिराना और फिर से लोड करना हो सकता है, या आप मशीन को मिटा सकते हैं और यह सब खरोंच से कर सकते हैं।

जब आप कर लेते हैं तो आपके पास अपने विशेष वातावरण में अपने विशेष एप्लिकेशन के लिए एक चेकलिस्ट होगी। जब आप ऐप विकसित करते हैं तो यह चेकलिस्ट संभवतः विकसित होगी, लेकिन यह 3-5 वर्षों में एक शुरुआती बिंदु के रूप में काम कर सकती है जब आपको फिर से माइग्रेट करना होगा।

अन्य बातों पर विचार करने के लिए कॉन्फ़िगरेशन प्रबंधन अला पपेट या बावर्ची को लागू करना शामिल है।
(यदि आप "sysadmin" होने जा रहे हैं, तो आपको उन पर विचार करना चाहिए, अन्यथा उन्हें जिम्मेदार व्यक्ति / टीम को भेज दें।)


5

खैर, आपके पास सर्वर कॉन्फ़िगरेशन और सर्वर सामग्री से निपटने के लिए है, और यह अत्यधिक संभावना नहीं है कि एक ही तकनीक दोनों के लिए काम करेगी।

क्या आपके पास डेटाबेस है? यदि हां, तो उसे भी स्थानांतरित करने की आवश्यकता होगी। रुपीस्ट स्टैटिक कंटेंट के लिए शानदार काम करता है। बस चले गए अपने डेटा की सूची प्राप्त करने के लिए इसे एक बार चलाएं, और फिर हर कुछ घंटों में चीजों को कटओवर तक सिंक में रखने के लिए कहें। प्रवास से पहले rsync क्रोन को अक्षम करना सुनिश्चित करें!

कॉन्फ़िगरेशन के संबंध में, हमें पता नहीं है कि आप क्या चला रहे हैं, इसलिए वास्तव में सिफारिशें नहीं दे सकते हैं।


धन्यवाद! हम वर्तमान में WHOS के साथ अपाचे / PHP / MySQL स्टैक (सुंदर मानक) के साथ CentOS पर चल रहे हैं। हम सब कुछ खत्म करने के लिए Rackspace पर Linux को स्थानांतरित कर रहे हैं।
भूत संहिता
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.