वास्तविक अभिलेख⑤: सपोर्ट सकिएको सर्भरबाट दुई दिनमा उद्धार

AI केस स्टडी

“चलिरहेको छ, त्यसैले छुँदैनौं।” यसै भनिइरहेको प्रणाली, थाहै नपाई १० वर्ष अघिकै अवस्थामा कम्पनीको केन्द्रमा चलिरहेको थियो — धेरै कम्पनीलाई यसको अनुभव होला। यसपटक, २०१६ मा रिलिज भएको परियोजना व्यवस्थापन प्रणाली,२०२० मा सपोर्ट सकिएको OS माथि इन्टरनेटमा सार्वजनिक भइरहेकै अवस्थामाप्रयोग भइरहेको अवस्थाबाट, नवीनतम वातावरणमा स्थानान्तरण गरेको वास्तविक अभिलेख हो। वास्तविक काम दुई दिन।३,६२३ टिकट र ४.० GB एट्याचमेन्ट, एउटै हानि नभई हस्तान्तरण गर्‍यौं।

“चलिरहेको छ त्यसैले छुन सकिँदैन” भन्ने कुरा, १० वर्ष निरन्तर रह्यो।

लक्ष्य भनेको कम्पनीको परियोजना व्यवस्थापन प्रणाली (Redmine)। परियोजनाको प्रगति, गडबडी सम्बोधनको अभिलेख, ग्राहकसँगको आदानप्रदानको इतिहास — १० वर्षको सामग्री यहीँ जम्मा भएको छ। साँच्चैरोक्न नसकिने भएकाले छुन सकिँदैनभन्ने अवस्था थियो।

तर भित्री कुरा जाँच्दा, कदापि छाडिराख्न मिल्ने अवस्था थिएन।

वस्तुस्थानान्तरण अघिस्थानान्तरण पछि
OSCentOS 6.10
(२०२० मा सपोर्ट सकिएको)
AlmaLinux 10.1
एप्लिकेसनRedmine 3.2.1 (२०१६)Redmine 6.1.3
कार्यान्वयन वातावरणRuby 2.2.4Ruby 3.3.10
डेटाबेसMySQL 5.7MariaDB 10.11
वेब सर्भरApache 2.2 + Passengernginx 1.26 + puma

OS को सपोर्ट सकिएको ६ वर्ष।त्यस अवधिमा सार्वजनिक भएका जोखिमका सुधार, एक पनि लागू भएका छैनन्। त्यो कम्पनी बाहिरबाट पहुँच गर्न मिल्ने अवस्थामा चलिरहेको थियो। “चलिरहेको छ त्यसैले सुरक्षित” होइन,“चलिरहेको मात्र हो, सुरक्षित छैन”भन्नु नै सटीक अभिव्यक्ति हो।

लिगेसीको वास्तविक जोखिम “कहिल्यै बिग्रिनु” होइन।
नबिग्रिएरै, सुरक्षा मात्र रोकिनु हो।

स्थानान्तरणको सफलता-असफलता, काम सुरु गर्नुअघिकै वास्तविक मापनले निर्धारण भइसकेको थियो।

स्थानान्तरणमा प्रवेश गर्नुअघि, वर्तमान अवस्थालाई अंकमा टिपियो। यसैले परिणामतः, श्रम-मात्रालाई ठूलो प्रभाव पार्‍यो।

  • डेटाबेस 38MB / एट्याचमेन्ट फाइल ४.० GB
  • प्रति दिन २०–३० अनुरोध =सक्रिय रूपमा प्रयोगमा छ
  • एक्सटेन्सन प्लगइन: शून्य। आफ्नै डिजाइन: छैन

अन्तिम लाइन नै निर्णायक थियो। यस किसिमको स्थानान्तरणमा सबैभन्दा बढी विवाद हुने कुरा हो,पछि थपिएको एक्सटेन्सन नयाँ संस्करणमा चल्छ कि चल्दैनभन्ने। नचले “विकल्प खोज्ने,” “सुविधा त्याग्ने,” “आफैं मर्मत गर्ने” भन्ने तीन विकल्प हुन्छन्, र त्यहीँ केही हप्ता बित्छ। यसपटक त्यो बाधा सुरुदेखि नै थिएन।

यस वास्तविक मापनका आधारमा, काम सुरु गर्नुअघि तीन नीति निर्धारण गरिएको छ।

१. संस्करण एक-एक तह गरी बढाउने काम त्यागियो

सुरुमा 3.2 → 4.2 → 5.1 → 6.x गरी चरणबद्ध रूपमा बढाउने पूर्वमान्यतामा अनुमान गरिएको थियो। तर परीक्षण गर्दा,१० वर्षको खण्ड एकैचोटि नाघेर अद्यावधिक गर्न सकिनेकुरा थाहा भयो। अनुमान गरिएको श्रम-मात्रा पूरै अनावश्यक भयो।

२. डेटाबेसको प्रकार परिवर्तन गरिएन

अन्य प्रणालीसँग सञ्चालन मिलाउन, अर्को डेटाबेस उत्पादनमा सार्ने प्रस्ताव पनि थियो। तर स्रोत डेटाको ढाँचा फरक भएकाले, रूपान्तरण प्रशोधन बीचमा राख्नुपर्ने हुन्छ।३,६२३ टिकट र ६,०७१ इतिहास भन्ने “हराए पनि थाहा पाउन गाह्रो हुने डेटा”मा, रूपान्तरण भन्ने जोखिम नल्याउने।सञ्चालनको एकरूपताभन्दा, डेटा एउटै पनि नछुट्ने कुरालाई प्राथमिकता दियौं।

३. विद्यमान सर्भरलाई सिधै अपग्रेड गरिएन

नयाँ सर्भर छुट्टै तयार गरी, स्विच भनेको प्रवेशद्वारको सेटिङ एक लाइन पुनर्लेखन गर्ने मात्र बनाइयो।असफल भए पनि एक लाइन फर्काए जस्ताको तस्तैभन्ने अवस्थालाई, अन्त्यसम्म कायम राख्नका लागि हो।

समय खाएको, Redmine थिएन।

यहाँबाट व्यावहारिक काम सुरु हुन्छ। स्थानान्तरणका क्रममा भेटिएका समस्या सूचीबद्ध गर्दा, प्रवृत्ति स्पष्ट देखियो।

पुरानो सर्भर र नयाँ सर्भर, सुरुमै सञ्चार गर्नै सक्दैनन्OSनवीनतम OS ले, पुरानो पुस्ताको इन्क्रिप्सन विधिलाई असुरक्षित भन्दै अस्वीकार गर्छ।4GB को फाइल ओसार्ने साधन नै छैनभन्ने ठाउँबाट स्थानान्तरण सुरु भयो। पुरानो सर्भरतर्फ अस्थायी आदानप्रदान द्वार बनाएर, सकिएपछि बन्द गरी समाधान।
१० वर्षको संस्करण अपग्रेड, एकैचोटिमा पार भयोएप्लिकेसनRedmine ले विगतका सम्पूर्ण अद्यावधिक प्रक्रिया राखेको हुनाले, बीचका संस्करण नछोई नवीनतम संस्करणमा सिधै जान सकियो। ५७ वटा अद्यावधिक प्रशोधन बिनात्रुटि सम्पन्न।एक्सटेन्सन शून्य भएकाले सम्भव भएकोछोटो बाटो हो।
आवश्यक पुर्जा मानक संरचनामा समावेश छैनएप्लिकेसनवेब सर्भरसँग जोड्न प्रयोग हुने पुर्जा Redmine मूलमा समावेश छैन। भविष्यको संस्करण अपग्रेडमा ओभरराइट नहुने, आधिकारिक एक्सटेन्सन ढाँचामा थपेर समाधान।
अनुमति पूरै खुला गर्दा पनि “अनुमति छैन” भनी अस्वीकार हुन्छOSOS को सुरक्षा संयन्त्रले, फाइल अनुमतिभन्दा फरक तहमा सञ्चार अवरुद्ध गरिरहेको थियो।अनुमति सेटिङ जति खुकुलो पारे पनि समाधान नहुनेविशिष्ट उदाहरण। जडान विधि आफैं परिवर्तन गरी समाधान।
लगइन गरेको बित्तिकै “पृष्ठ फेला परेन”सञ्चार मार्गमार्गमा रहेका दुई सर्भरले एउटै जानकारी परस्पर ओभरराइट गरेर, इन्क्रिप्टेड सञ्चारको जानकारी हराइरहेको थियो। एप्लिकेसन सामान्य थियो,फर्वार्ड गन्तव्य मात्र अस्तित्वमा नरहेकोभन्ने बुझ्न गाह्रो हुने गडबडी।
सूचना इमेल प्रमाणपत्र त्रुटिका कारण पठाउन सकिँदैनइन्क्रिप्सनIP ठेगानाबाट जडान गरिएको हुनाले, प्रमाणपत्रको नाम मिलेन।प्रमाणीकरण निष्क्रिय गरेर उछिन्नुको सट्टा, प्रमाणपत्रसँग मिल्ने नाम परिभाषित गरी, प्रमाणीकरण सक्रिय राखेरै समाधान।
पासवर्ड ब्रुट-फोर्स रोक्ने सुविधा, मानकमा छैनएप्लिकेसनRedmine मा “तोकिएको पटक असफल भए लक” गर्ने मानक सुविधा छैन। वेब सर्भरतर्फ प्रयास संख्या सीमित गरी सुदृढीकरण।अवरुद्ध गर्ने ठाउँ गलत भए सबै कर्मचारी बाहिरिन्छन्हुनाले, वास्तविक पहुँच-स्रोतलाई सही रूपमा पहिचान गर्ने सेटिङ पूर्वसर्त बन्छ।
स्रोत कोडसँगको जडान, पुरानो सर्भरमा निर्भर थियोबाह्य जडानपुरानो सर्भरभित्रका फाइल सिधै सन्दर्भ गर्ने सेटिङ भएकाले, स्थानान्तरण गर्दा सबै बिग्रन्छ। कम्पनीको Git सर्भरबाट स्वतः प्रतिलिपि गर्ने संयन्त्र बनाएर,हरेक १५ मिनेटमा अद्यावधिकहुने संरचनामा। स्थिर (फ्रिज) अवस्थामा रहेको जडान बरु पुनर्जीवित भयो।

आठमध्ये,Redmine मूलबाट आएका केवल तीन। त्यसमाथि तीमध्ये एउटा त “सोचेभन्दा सजिलो थियो” भन्ने राम्रो गलत-अनुमान हो। वास्तवमा दिक्क पारेका दुई मात्र हुन्।

बाँकी OS को पुस्तान्तर, सुरक्षा संयन्त्र, सञ्चार मार्ग, इन्क्रिप्सन, बाह्य प्रणाली जडान —सबै एप्लिकेसनको बाहिरपट्टि छन्।

लिगेसी स्थानान्तरणको श्रम खाने, एप्लिकेसन आफैं होइन।
१० वर्षमा जम्मा भएको “वरपरको वातावरणको भिन्नता” हो।

“एक लाइनमा फर्काउन सकिने” कुरालाई अन्त्यसम्म नछोड्ने।

स्विच भनेको, प्रवेशद्वार सर्भरको फर्वार्ड गन्तव्य नयाँ सर्भरतिर फर्काउने मात्र। फर्काउँदा पनि एक लाइन। रपुरानो वातावरण नरोकी, चलिरहेकै अवस्थामा राखियो।

स्विच गरेको दिन “चलिरहेको पुरानो वातावरण” र “चलिरहेको नयाँ वातावरण” सँगै रहन्छन्, र दुवैतिर एक लाइनमा आउजाउ गर्न सकिने अवस्था कायम राखिएको छ। केही दिन पर्खेर समस्या नभएको पुष्टि गरेपछि, पुरानोतर्फ बन्द गरियो।

“स्विच” र “पुरानो वातावरण बन्द” लाई, फरक दिनमा विभाजन गर्ने।त्यति मात्रैले त्यस दिनको निर्णय फरक हुन्छ। केही भए फर्काउन सकिन्छ भन्ने थाहा भए, हडबडीमा कारण नबुझी अस्थायी उपाय थुपार्नुपर्दैन। स्थानान्तरण कार्यमा सबैभन्दा महँगो पर्ने कुरा हो,फर्कन नसकिने अवस्थामा हडबडाउनु

स्थानान्तरणमै नटुंग्याई, १० वर्षको कमीलाई पूरा गरियो।

नयाँ वातावरणमा, पुरानो वातावरणमा नभएका कुरा सँगसँगै मिलाइएका छन्।

  • दैनिक ब्याकअप (७ पुस्ता) — पुरानो वातावरणमा ब्याकअपको संयन्त्र नै थिएन
  • पहुँच-स्रोतको अभिलेख — स्थानान्तरण अघि सबै पहुँच एउटै जस्तो देखिन्थ्यो, र को कहाँबाट आइरहेको हो पत्ता लगाउन नसकिने अवस्था थियो
  • लगइन प्रयासको सीमा — मानक सुविधा नभएकाले, वेब सर्भरतर्फ सुदृढीकरण
  • स्रोत कोड जडानको स्वचालित अद्यावधिक — व्यावहारिक रूपमा स्थिर भइरहेको जडान हरेक १५ मिनेटमा अद्यावधिक हुने गरी

परिणामस्वरूप हस्तान्तरण गरिएको डेटा निम्नानुसार छ। पुरानो वातावरण र नयाँ वातावरणमा, संख्या पूर्ण रूपमा मेल खाएको पुष्टि गरिएको छ।

21परियोजना
3,623टिकट
6,071प्रतिक्रिया इतिहास
4.0GBएट्याचमेन्ट फाइल (हानि ०)

बाह्य प्रणालीबाटको जडान पनि, सेटिङ परिवर्तन नगरी जस्ताको तस्तै चलिरहेको छ।प्रयोगकर्ताको दृष्टिमा, लगइन स्क्रिन नयाँ भएको मात्र— स्थानान्तरणका रूपमा आदर्श अवतरण हो।

“हामीसँग पनि, उस्तै सर्भर छ” भने।

यसपटकको स्थानान्तरण छोटो अवधिमा सकिनुका कारण, तीनमा समेट्न सकिन्छ।

  • एक्सटेन्सन जडान थिएन— त्यसैले १० वर्षको खण्ड एकैचोटि नाघ्न सकियो
  • काम सुरु गर्नुअघि वास्तविक मापन गरियो— निर्णयका आधार अंकमा तयार थिए
  • फर्काउन सकिने अवस्था कायम राखियो— स्विच गरेको दिन जुवा खेल्नुपरेन

उल्टो भन्नु पर्दा,यी तीन कुरा काम सुरु गर्नुअघि नै पुष्टि गर्न सकिन्छ।“सपोर्ट सकिएको सर्भरमा, रोक्न नसकिने प्रणाली चलिरहेको छ” — यदि यसको अनुभव छ भने, पहिले वर्तमान अवस्थालाई अंकमा बुझ्ने काम बाट परामर्श सुरु गर्नुहोस्। सार्न सकिन्छ कि सकिँदैन, प्रायः जाँचे थाहा हुन्छ।

हाम्रो कम्पनीले, सपोर्ट सकिएको OS र पुरानो फ्रेमवर्कमा चलिरहेका व्यावसायिक प्रणालीको स्थानान्तरण तथा नवीकरणमा सहयोग गर्छ।
वर्तमान अवस्था अध्ययन (संस्करण, डेटा परिमाण, एक्सटेन्सनको उपस्थिति, सार्वजनिक दायरा) निःशुल्क। लिगेसी प्रणालीको नवीकरण (AI Re: Platform / छोटकरीमा: AIR Platform) सँगै,अहिले नै सम्पर्क गर्नुहोस्।

सम्पर्क फारम(“लिगेसी स्थानान्तरण परामर्श चाहिन्छ” भनी लेखिदिनुहोस्) / info@flagship-ai.jp

शृंखला “लिगेसी to AI वास्तविक अभिलेख”

※ यस लेखका अंकहरू २०२६ अगस्टको वास्तविक मापन हुन्। स्थानान्तरणमा लाग्ने अवधि र कार्य-विवरण प्रणालीको संरचना र एक्सटेन्सनको उपस्थितिअनुसार फरक हुन्छ।

श्रेणी:

ट्याग:

🌐 नेपाली