paint-brush
डेटा माइग्रेशन उपकरण आपको मिनियो तक पहुंचने में मदद करेंगेद्वारा@minio
7,028 रीडिंग
7,028 रीडिंग

डेटा माइग्रेशन उपकरण आपको मिनियो तक पहुंचने में मदद करेंगे

द्वारा MinIO8m2023/11/01
Read on Terminal Reader
Read this story w/o Javascript

बहुत लंबा; पढ़ने के लिए

आइए S3, स्थानीय फ़ाइल सिस्टम, NFS, Azure, GCP, हिताची कंटेंट प्लेटफ़ॉर्म, Ceph, और अन्य से डेटा प्राप्त करने और MiniIO क्लस्टर में डेटा प्राप्त करने के लिए उपलब्ध कुछ टूल की समीक्षा करें।
featured image - डेटा माइग्रेशन उपकरण आपको मिनियो तक पहुंचने में मदद करेंगे
MinIO HackerNoon profile picture
0-item
1-item


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


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


ग्राहक कई कारणों से मिनियो पर स्विच करते हैं, जिनमें शामिल हैं:


  • S3 संगत एपीआई
  • मल्टी-क्लाउड क्लाउड अज्ञेयवादी परिनियोजन
  • S3 शैली IAM शैली ACL प्रबंधन
  • इरेज़र कोडिंग का उपयोग करके वितरित और दोष सहनशील भंडारण
  • एकाधिक समूहों में वस्तुओं का स्तरीकरण और संस्करणीकरण
  • बकेट और साइट-टू-साइट प्रतिकृति
  • बैच फ्रेमवर्क के माध्यम से बैच प्रतिकृति
  • सर्वर साइड ऑब्जेक्ट और क्लाइंट डेटा एन्क्रिप्शन
  • डेटा का ट्रांसपोर्ट लेयर नेटवर्क एन्क्रिप्शन


इन विविध कारणों और वातावरणों के कारण जहां मिनिओ का उपयोग और स्थापित किया जा सकता है, यह मान लेना यथार्थवादी है कि ऐसे कई डेटा स्रोत हैं जहां डेटा पहले से ही संग्रहीत है जिसे आप मिनिओ में प्राप्त करना चाहेंगे।


इस पोस्ट में, आइए S3, स्थानीय फ़ाइल सिस्टम, NFS, Azure, GCP, हिताची कंटेंट प्लेटफ़ॉर्म, Ceph और अन्य से डेटा प्राप्त करने के लिए उपलब्ध कुछ टूल की समीक्षा करें, और MiniIO क्लस्टर में जहां इसे क्लाउड-नेटिव AI के संपर्क में लाया जा सकता है। /एमएल और एनालिटिक्स पैकेज।

मिनियो क्लाइंट

आरंभ करने के लिए, हम इस पोस्ट के दौरान इनमें से कुछ विकल्पों के लिए मिनियो क्लाइंट (एमसी) का उपयोग करेंगे। कृपया इसे स्थापित करना सुनिश्चित करें और उपनाम को अपने चल रहे मिनिओ सर्वर पर सेट करें।


 mc alias set destminio https://myminio.example.net minioadminuser minioadminpassword


जैसे-जैसे हम विभिन्न तरीकों से आगे बढ़ेंगे, हम कुछ और "स्रोत" उपनाम जोड़ेंगे।

फ़ाइल सिस्टम

मिनिओ में डेटा माइग्रेट करने के अधिकांश उपयोग के मामले माउंटेड फ़ाइल सिस्टम या एनएफएस वॉल्यूम से शुरू होते हैं। इस सरल कॉन्फ़िगरेशन में, आप डेटा को स्रोत से गंतव्य तक सिंक करने के लिए एमसी मिरर का उपयोग कर सकते हैं। डेटा सिंक्रनाइज़ेशन के लिए mc mirror को स्विस आर्मी चाकू के रूप में सोचें। यह उस स्रोत के साथ बातचीत करने का सबसे अच्छा तरीका निर्धारित करने के लिए उपयोगकर्ता का बोझ कम कर देता है जहां से आप ऑब्जेक्ट ला रहे हैं। यह कई स्रोतों का समर्थन करता है और, आप जिस स्रोत से खींच रहे हैं उसके आधार पर, उन्हें सक्षम करने के लिए सही कार्यों का उपयोग किया जाता है।


उदाहरण के लिए, आइए एक साधारण फ़ाइल सिस्टम से शुरू करें जो भौतिक हार्ड डिस्क, वर्चुअल डिस्क, या यहां तक कि ग्लस्टरएफएस माउंट जैसी किसी चीज़ से माउंट किया गया है। जब तक यह OS द्वारा पढ़ने योग्य फ़ाइल सिस्टम है, MiniIO भी इसे पढ़ सकता है:


 filesystem kbytes used avail capacity mounted on /dev/root 6474195 2649052 3825143 41% / /dev/stand 24097 5757 18340 24% /stand /proc 0 0 0 0% /proc /dev/fd 0 0 0 0% /dev/fd /dev/_tcp 0 0 0 0% /dev/_tcp /dev/dsk/c0b0t0d0s4 10241437 4888422 5353015 48% /home /dev/dsk/c0b0t1d0sc 17422492 12267268 5155224 71% /home2


आइए मान लें कि आपकी वस्तुएं /home/mydata में हैं, फिर आप वस्तुओं को प्रतिबिंबित करने के लिए निम्न कमांड चलाएंगे (यदि mydata बाल्टी पहले से मौजूद नहीं है, तो आपको इसे पहले बनाना होगा):


 mc mirror /home/mydata destminio/mydata


यह आदेश यह सुनिश्चित करेगा कि जो वस्तुएं अब स्रोत स्थान पर नहीं हैं उन्हें गंतव्य से हटा दिया जाएगा या जब स्रोत में नई वस्तुएं जोड़ी जाएंगी तो वे गंतव्य पर कॉपी हो जाएंगी। लेकिन यदि आप स्रोत में संशोधित मौजूदा ऑब्जेक्ट को अधिलेखित करना चाहते हैं, तो --overwrite ध्वज पास करें।

एनएफएस

नेटवर्क फ़ाइल शेयर (एनएफएस) का उपयोग आम तौर पर उन वस्तुओं या डेटा को संग्रहीत करने के लिए किया जाता है जिन्हें अक्सर एक्सेस नहीं किया जाता है, क्योंकि सर्वव्यापी होते हुए भी, अक्सर प्रोटोकॉल पूरे नेटवर्क में बहुत धीमा होता है। बहरहाल, बहुत सारे ईटीएल और कुछ लीगेसी सिस्टम ऑपरेशन, एनालिटिक्स, एआई/एमएल और अतिरिक्त उपयोग के मामलों के लिए उपयोग किए जाने वाले डेटा के भंडार के रूप में एनएफएस का उपयोग करते हैं। मिनियो क्लस्टर की स्केलेबिलिटी, सुरक्षा और उच्च प्रदर्शन के साथ-साथ एस3 एपीआई का उपयोग करके क्लाउड-नेटिव एप्लिकेशन को सेवाएं प्रदान करने की मिनियो की क्षमता के कारण इस डेटा को मिनियो पर रखना बेहतर होगा।


एनएफएस वॉल्यूम माउंट करने के लिए आवश्यक पैकेज स्थापित करें

 apt install nfs-common


/home निर्देशिका को /etc/exports में जोड़ना सुनिश्चित करें


 /home client_ip(rw,sync,no_root_squash,no_subtree_check)


नोट: अपने एनएफएस सर्वर को पुनः आरंभ करना सुनिश्चित करें, उदाहरण के लिए उबंटू सर्वर पर

 systemctl restart nfs-kernel-server


एनएफएस माउंट को माउंट करने के लिए एक निर्देशिका बनाएं

 mkdir -p /nfs/home


एनएफएस वॉल्यूम माउंट करें

 mount <nfs_host>:/home /nfs/home


एनएफएस से डेटा को मिनिओ में कॉपी करें

 mc mirror /nfs/home destminio/nfsdata


लीजिए, अब आप अपनी बड़ी वस्तुओं को एनएफएस से मिनिओ में ले जा सकते हैं।

एस3

जैसा कि हमने पहले बताया, mc mirror डेटा सिंक्रोनाइज़ेशन का एक स्विस आर्मी चाकू है। फ़ाइल सिस्टम के अलावा, यह S3 या S3 API संगत स्टोर से ऑब्जेक्ट की प्रतिलिपि भी बनाता है और इसे MiniIO पर मिरर करता है। इसके अधिक लोकप्रिय उपयोग मामलों में से एक अमेज़न S3 बाल्टी को प्रतिबिंबित करना है।


अपने खाते में AWS S3 बकेट बनाने के लिए इन चरणों का पालन करें। यदि आपके पास पहले से ही डेटा वाला एक मौजूदा खाता है तो हम उसका भी उपयोग कर सकते हैं।


एक बार जब एक बकेट बन जाता है या किसी मौजूदा बकेट में डेटा जोड़ दिया जाता है, तो एक्सेस कुंजी और गुप्त कुंजी के साथ एक नई IAM नीति बनाएं जो केवल हमारी बकेट तक पहुंच की अनुमति देती है। अगले चरण के लिए जेनरेट किए गए क्रेडेंशियल्स को सहेजें।


हम MiniIO क्लाइंट का उपयोग करके किसी भी S3 संगत स्टोरेज के साथ काम कर सकते हैं। इसके बाद अपने द्वारा डाउनलोड किए गए क्रेडेंशियल के साथ बनाए गए S3 बकेट नाम का उपयोग करके एक उपनाम जोड़ते हैं


 mc alias set s3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 --api S3v4


S3 से MinIO में डेटा कॉपी करने के लिए mc मिरर का उपयोग करें

 mc mirror s3/mybucket destminio/mydata


डेटा की मात्रा, नेटवर्क गति और उस क्षेत्र से भौतिक दूरी के आधार पर जहां बकेट डेटा संग्रहीत है, आपको सभी डेटा को मिरर करने में कुछ मिनट या उससे अधिक समय लग सकता है। जब एमसी सभी ऑब्जेक्ट की प्रतिलिपि बना लेगा तो आपको एक संदेश दिखाई देगा।

एचडीएफएस

टूल के अगले सेट के लिए, हम कुछ गैर-मानक एज केस डेटा माइग्रेशन आवश्यकताओं को पूरा करने के लिए समर्पित स्क्रिप्ट लिखते हैं जिन्हें हमें पूरा करने की आवश्यकता होती है। इनमें से एक HDFS और Hadoop से माइग्रेट हो रहा है। कई उद्यमों के पास Hadoop में इतना अधिक डेटा संग्रहीत है कि इसे अनदेखा करना और क्लाउड-नेटिव प्लेटफ़ॉर्म के साथ नए सिरे से शुरुआत करना असंभव है। उस डेटा को मिनिओ जैसी किसी और आधुनिक (और क्लाउड-नेटिव) चीज़ में स्थानांतरित करना और अपनी ईटीएल और अन्य प्रक्रियाओं को उसी तरह से चलाना अधिक संभव है। इसे स्थापित करना काफी सरल है।


निम्नलिखित सामग्री के साथ core-site.xml नामक एक फ़ाइल बनाएँ


 <configuration> <property> <name>fs.s3a.path.style.access</name> <value>true</value> </property> <property> <name>fs.s3a.endpoint</name> <value>https://minio:9000</value> </property> <property> <name>fs.s3a.access.key</name> <value>minio-sample</value> </property> <property> <name>fs.s3a.secret.key</name> <value>minio-sample123</value> </property> </configuration>


निम्नलिखित पर्यावरण चर सेट करें


 export HDFS_SOURCE_PATH=hdfs://namenode:8080/user/minio/testdir export S3_DEST_PATH=s3a://mybucket/testdir


निम्न फ़ाइल डाउनलोड करें, chmod +x और इसे चलाएँ


 curl -LSs -o https://github.com/minio/hdfs-to-minio/blob/master/hdfs-to-minio.sh chmod +x hdfs-to-minio.sh ./hdfs-to-minio.sh


यदि आप कई वर्षों से Hadoop में डेटा संग्रहीत कर रहे हैं, तो इस प्रक्रिया में कई घंटे लग सकते हैं। यदि यह उत्पादन क्लस्टर पर है, तो हम डेटा को मिरर करते समय आपके Hadoop क्लस्टर पर किसी भी प्रदर्शन में गिरावट के प्रभाव को कम करने के लिए रखरखाव विंडो के दौरान ऑफ घंटों में डेटा माइग्रेट करने की सलाह देते हैं।


एचडीएफएस से मिनिओ में माइग्रेट करने के बारे में अधिक विवरण इस गिटहब रेपो में उपलब्ध हैं, और हमें एक ब्लॉग पोस्ट भी मिला है, एचडीएफएस से ऑब्जेक्ट स्टोरेज में माइग्रेट करना

एच.सी.पी

हमने पहले हिताची कंटेंट प्लेटफ़ॉर्म पर एक अद्भुत ब्लॉग पोस्ट लिखा था और बताया था कि अपने डेटा को मिनियो क्लस्टर में कैसे स्थानांतरित किया जाए। मैं पूरी जानकारी के लिए ब्लॉग पोस्ट पढ़ने की सलाह दूंगा लेकिन सार इस प्रकार है।


एक बार जब आपके पास आवश्यक एचसीपी क्लस्टर और इनपुट फ़ाइल कॉन्फ़िगर हो जाए, तो माइग्रेशन टूल डाउनलोड करें और माइग्रेशन प्रक्रिया शुरू करने के लिए निम्न कमांड चलाएँ


 $ hcp-to-minio migrate --namespace-url https://finance.europe.hcp.example.com --auth-token "HCP bXl1c2Vy:3f3c6784e97531774380db177774ac8d" --host-header "s3testbucket.sandbox.hcp.example.com" --data-dir /mnt/data --bucket s3testbucket --input-file /tmp/data/to-migrate.txt

सेफ

अंतिम लेकिन महत्वपूर्ण बात यह है कि हमने हाथी को अंत तक कमरे में ही रखा है। हालांकि उम्र बढ़ने के बावजूद, सेफ डेटा के लिए एक लोकप्रिय स्टोर है और इसमें S3 संगत एपीआई है। इसका उपयोग अन्य कुबेरनेट्स परियोजनाओं द्वारा ऑब्जेक्ट स्टोरेज के लिए बैकएंड के रूप में किया जाता है, जैसे कि रूक। हालाँकि, सेफ स्थापित करने और चलाने के लिए एक बोझिल राक्षस है। इसलिए यह स्वाभाविक है कि लोग अपने डेटा को किसी सरल, रखरखाव में आसान और बेहतर प्रदर्शन के साथ स्थानांतरित करना चाहेंगे।


सेफ से डेटा कॉपी करने के दो तरीके हैं:


  • बकेट प्रतिकृति: ऑब्जेक्ट बनाता है लेकिन यदि ऑब्जेक्ट को स्रोत से हटा दिया जाता है तो यह इसे गंतव्य पर नहीं हटाएगा। https://min.io/docs/minio/linux/administration/bucket-replication.html

  • मैक मिरर: वस्तुओं और संस्करणों को सिंक्रनाइज़ करता है, यह उन वस्तुओं को भी हटा देगा जो मौजूद नहीं हैं https://min.io/docs/minio/linux/reference/minio-mc/mc-mirror.html


S3 के समान, चूंकि Ceph में S3 संगत API है, आप MiniIO क्लाइंट में एक उपनाम जोड़ सकते हैं


 mc alias set ceph http://ceph_host:port cephuser cephpass


फिर आप डेटा को अपने मिनिओ क्लस्टर में कॉपी करने के लिए mc mirror उपयोग कर सकते हैं


 mc mirror ceph/mydata destminio/mydata


हमारा सुझाव है कि आप वस्तुओं की लगातार निगरानी करने और उन्हें मिनिआईओ के साथ सिंक करने के लिए --watch फ़्लैग के साथ mc mirror कमांड चलाएं।

आज ही अपना डेटा मिनियो में माइग्रेट करें!

यहां कुछ उदाहरण हैं जो आपको बताएंगे कि अपने डेटा को मिनिओ में स्थानांतरित करना कितना आसान है। इससे कोई फर्क नहीं पड़ता कि आप एनएफएस जैसे पुराने विरासत प्रोटोकॉल या एस 3 जैसे नवीनतम और महानतम का उपयोग कर रहे हैं, मिनिओ यहां आपका समर्थन करने के लिए है।


इस पोस्ट में हमने फाइल सिस्टम और अन्य डेटा स्टोर जैसे एनएफएस, फाइल सिस्टम, ग्लस्टरएफएस, एचडीएफएस, एचसीपी और अंतिम लेकिन कम से कम सेफ से माइग्रेट करने के तरीके के बारे में विस्तार से बताया। तकनीकी स्टैक के विरुद्ध चलने के बावजूद, बैकएंड मिनिओ एक प्रदर्शनशील, टिकाऊ, सुरक्षित और स्केलेबल लेकिन सरल सॉफ़्टवेयर-परिभाषित ऑब्जेक्ट स्टोरेज समाधान प्रदान करता है।


यदि आपके कोई प्रश्न हों तो बेझिझक स्लैक पर हमसे संपर्क करें!


यहाँ भी प्रकाशित किया गया है.