उस पर ext4 के साथ एक ext4 स्वरूपित डिस्क को LVM में बदलने का सबसे तेज़ तरीका?


12

मैं वर्तमान में cp -aRअपने (99% पूर्ण) 1TB ext4 स्वरूपित डिस्क से डेटा को एक नए LVM-with-ext4-on-it डिस्क पर कॉपी करने के लिए कर रहा हूँ । यह हमेशा के लिए ले रहा है।

क्या डिस्क में जगह को "कन्वर्ट" करने का प्रयास करने का कोई तरीका है? मैं EC2 पर हूं इसलिए बैकअप लेने में मिनट लगते हैं।

या वैकल्पिक रूप से, क्या ऐसा कोई तरीका है जो cpLVM डिस्क पर ext4 फाइल सिस्टम को सीधे कॉपी करने की तुलना में तेज़ हो सकता है ?

जवाबों:


23

मैंने ब्लॉक्स (nv lvmify) लिखा है जो इस रूपांतरण को इन-प्लेस करता है। यह फाइलसिस्टम को थोड़ा सिकोड़ कर, विभाजन के अंत में फाइलसिस्टम की शुरुआत को आगे बढ़ाता है, और इसके स्थान पर LVM सुपरब्लॉक (दाएं PV / LV / VG के साथ पूर्वनिर्मित) की प्रतिलिपि बनाता है।


यह वास्तव में दिलचस्प लगता है! मैं अपने 500GB को दूसरे पार्टीशन (जो पहले से ही lvm है) को बैकअप करने के बारे में सोच रहा हूँ, बस इसे आज़माने के लिए!
कुंभ राशि

1
@ गैब्रिएल, क्या यह लाइव एफएस पर काम करेगा? मेरा मतलब है कि मुझे FS को अनमाउंट करने की आवश्यकता है, और फिर यह इन-प्लेस करता है, या क्या यह ar / w रूट रूट FS पर भी काम करेगा?
गाव्रील

1
@AmrMostafa: "सुंदर" ठोस? मैं अपने फाइल सिस्टम के बारे में इस बात है, मैं की जरूरत है उन्हें होने के लिए रॉक ठोस ... :-)
टीजे Crowder

3
उबंटू ट्रस्टी + उपयोगकर्ताओं को आवश्यक अजगर 3.3 स्थापित करना मुश्किल होगा .. केवल 3.4 उपलब्ध है और दिसंबर 2014 से ब्लॉक अपडेट नहीं किए गए हैं: /
bksunday

1
इस तथ्य के बावजूद कि इसे 5 कान पहले अद्यतन किया गया था, यह स्टील का काम कर रहा था। NVMe SSD, GPT विभाजन योजना की पुष्टि की गई। नोट: बेहतर उपयोग पायथन 3.6।
tosh

2

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

मुझे एक ऐसी ही प्रक्रिया मिली जो किसी व्यक्ति द्वारा LVM के रूप में अपने स्थानीय सिस्टम में एक बाहरी ड्राइव को जोड़कर पूरा किया गया था। पूरी जानकारी नहीं है, लेकिन मुझे लगता है कि यह आपकी शुरुआत के लिए पर्याप्त होगा:

"तो आज मैंने कमाल की खोज की जो LVM है। डेबियन को स्थापित करते हुए, मैंने" LVM - संपूर्ण डिस्क का उपयोग करें "चुना। लेकिन मुख्य ड्राइव एक धीमी और छोटी 5200rpm लैपटॉप ड्राइव थी। आज मैंने अपना अतिरिक्त 1.5TB ड्राइव डाला और बूट किया। इसके बजाय इस बड़े तेज ड्राइव पर सिस्टम।

LVM दृष्टिकोण: वॉल्यूम समूह में / dev / sdc जोड़ें, फिर "pvmove / dev / sda" चलाएं। यह सब डेटा को sda से अन्य ड्राइव (केवल sdc उपलब्ध) में ले जाता है। न रिबूट करने की जरूरत है, न अनमाउंट करने की जरूरत है। जब मैं यह लिख रहा हूं, डेटा स्थानांतरित किया जा रहा है।

बाद में, वॉल्यूम समूह और वॉयला से धीमी ड्राइव को हटाने के लिए "वग्रेट मेगाट्रॉन / देव / एसडीए" करें। डेटा ले जाया गया। (मेगाट्रॉन वॉल्यूम ग्रुप और मेरे कंप्यूटर का नाम है)। यह कई लोगों के लिए पुरानी खबर हो सकती है लेकिन मुझे लगा कि यह वास्तव में बहुत अच्छा है :) "

दी यह स्थानीय स्तर पर किया गया था, लेकिन मुझे लगता है कि अतिरिक्त शोध के साथ, आप शायद इसे पूरा करने में सक्षम होंगे।

स्रोत


2

एलवीएम रूपांतरण "मक्खी पर" करने के लिए कोई विधि मौजूद नहीं है।

LVM वास्तव में कई भौतिक उपकरणों में इसका विस्तार करने के लिए आपके फाइल सिस्टम के अंतर्गत रहता है, या इसे स्ट्राइप या मिरर इत्यादि में देता है। लॉजिकल वॉल्यूम बनाने का अंतिम चरण इसके ऊपर एक फाइल सिस्टम रखना है। यहाँ RHEL6 से उदाहरण दिए गए हैं

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

तेज प्रतियों के लिए, मैं शौकीन हूं dd, लेकिन मैं अक्सर इसका उपयोग नहीं करता हूं। के साथ गलती करना ddखतरनाक है। एक चीज़ tar czv <source fs> | (cd <destination fs>; tar x)जो आप आज़मा सकते हैं, वह है मक्खी पर एक संकुचित टार फ़ाइल स्थानांतरित करना।

सौभाग्य!


1
टार ऑपरेशन में कम्प्रेशन का उपयोग करने से कोई मतलब नहीं है। डेटा संकुचित हो जाएगा केवल एक ही जगह में स्मृति है क्योंकि यह पाइप किया गया है; डिस्क पर लिखे जाने से पहले यह तुरंत फिर से असम्पीडित है। केवल अब, ऑपरेशन कई बार सीपीयू लोड के रूप में उत्पन्न करता है क्योंकि यह दोनों संपीड़ित और असंवेदनशील है, बेकार, मक्खी पर। इसके अलावा, इस तरह के किसी भी ऑपरेशन के लिए पूरे फाइलसिस्टम को शामिल करने के लिए, आपको कम से कमtar cSf - | tar xvpf - स्पार्स फ़ाइलों और अनुमतियों को संभालना चाहिए। संभवतः --selinuxभी (यदि गंतव्य की मात्रा बाद में स्रोत को बदल देगी)।
FeRD

यदि आपके स्रोत और गंतव्य उपकरण एक ही होस्ट पर हैं या यदि आपके पास स्पेयर करने के लिए सीपीयू साइकिल नहीं है तो यह एक अच्छी बात है। वे मामले द्वारा मामले पर विचार करने के लिए बिंदु हैं। मुझे "S" और "p" स्विच और "--selinux" तर्क पसंद है।
डेफिड

मिमी, ठीक है, अगर किसी ने नेटवर्क लिंक पर एक ऑन-द-फ्लाई टार ऑपरेशन को पाइप करके एक फाइल सिस्टम को क्लोन किया है, तो (ए) वे मेरी तुलना में एक साहसी आत्मा हैं, लेकिन (बी) आप -pतब तक नहीं चाहते जब तक कि मेजबान उपयोगकर्ता का नाम साझा न करें / यूआईडी (हालांकि मैनपेज मुझे याद दिलाता है कि -pरूट के रूप में चलाने पर जीएनयू टार के लिए डिफ़ॉल्ट है), और --selinuxइससे भी अधिक जोखिम के साथ भरा हुआ है - शायद पूरी तरह से बेहतर restorecon -Rv(या -Rp) एक बार सही में घुड़सवार होने के बाद (अंतिम) ) स्थान।
FeRD

dd इस ऑपरेशन के लिए उचित उपकरण है क्योंकि आप एक पार्टीशन को कॉपी कर रहे हैं। dd नए विभाजन पर एक सटीक प्रतिलिपि बनाएगा, फिर आप पुराने के बजाय नए विभाजन से लोड करने के लिए fstab बदलें। एक बार जब आप पुरानी ड्राइव से सभी विभाजनों को आगे बढ़ाते हैं, तो आप फाइलसिस्टम को नष्ट कर सकते हैं और ड्राइव को LVM भौतिक डिस्क समूह में जोड़ सकते हैं, और फिर विभाजन का उपयोग करने के लिए स्पेस का उपयोग कर सकते हैं, हालांकि आप चाहें।
Xororous
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.