BTRFS फाइलसिस्टम UUID को संशोधित करना


14

मैंने Clonezilla का उपयोग करके अपने BTRFS फाइलसिस्टम का बैकअप बना लिया है, और उन बैकअप में से एक को एक फ़ाइल नाम से पुनर्स्थापित किया है 2013-11-29.sda3.img

मुझे इस बैकअप से कुछ फ़ाइलों को प्राप्त करने की आवश्यकता है, लेकिन एक अड़चन है। चूंकि बैकअप इस मशीन का है, इसलिए मैं अपने फाइलसिस्टम पर कहीं भी बैकअप माउंट नहीं कर सकता, क्योंकि इसका UUID UUID से मेल खाता है /

क्या कोई तरीका है जिससे मैं बैकअप वॉल्यूम का UUID बदल सकता हूं? जैसा कि मैं इसे समझता हूं, BTRFS फाइल सिस्टम पर हर ब्लॉक में UUID जानकारी संग्रहीत करता है, जो मेरे उद्देश्यों के लिए चीजों को जटिल करता है। हालाँकि, वहाँ एक रास्ता है कि मैं इसे संशोधित कर सकता है? मैं समझता हूं कि ऐसा करने में शायद लंबा समय लगेगा, लेकिन इससे मुझे चिंता नहीं है। मेरी मुख्य चिंता सर्वर को ऑनलाइन रखना है। बैकअप काफी बड़ा है, इसलिए इसे दूसरी मशीन में स्थानांतरित करने में काफी समय लगेगा।

मेरे विकल्प क्या हैं?

जवाबों:


0

फिलहाल ऐसा करने का कोई तरीका नहीं है। असल में, मात्रा यूयूआईडी का उपयोग चंक के पेड़ के प्रत्येक नोड में किया जाता है । आपको उन्हें यह भी बदलना होगा कि यह मानते हुए कि चंक्स / डिवाइस के हेडर हैशेड नहीं हैं। BTRFS वास्तव में इस तरह के बैकअप की अनुमति देने के लिए डिज़ाइन नहीं किया गया था।

यह वास्तव में दुखद है, लेकिन इसे संभालने का सबसे आसान तरीका है कि दूसरे कंप्यूटर का उपयोग करें।

यदि मैं कर सकता हूं, तो मैं आपको इस तरह से अपना डेटा बैकअप देना बंद करने का सुझाव देना चाहूंगा।

  1. यदि आपके विभाजन एक पूरे के रूप में महत्वपूर्ण हैं, तो dd/ के साथ बैकअप clonezilla। जब आपको अपने बैकअप को पुनर्स्थापित करने की आवश्यकता होती है, तो एक बार में पूरे विभाजन को पुनर्स्थापित करें। इस तरह के हाइब्रिड बैकअप न करें: आपने खासतौर पर अपने विभाजन को ब्लॉक स्तर पर सहेजा है। इसलिए आपको इसे ब्लॉक स्तर पर पुनर्स्थापित करना होगा। अन्यथा, आप मांस को काटने के लिए एक चम्मच का उपयोग कर रहे हैं। जैसा कि आपने निश्चित रूप से देखा है, इस समाधान का आमतौर पर उपयोग नहीं किया जाता है क्योंकि यह कोई बहुमुखी प्रतिभा प्रदान नहीं करता है।

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

ध्यान दें कि BTRFS में कुछ (अब सीमित) बैकअप सुविधाएँ हैं । BTRFS तेजी से आगे बढ़ रहा है, मुझे लगता है कि भविष्य में और अधिक बैकअप सुविधाएँ सामने आएंगी।

ओह, आपको पहले ही चेतावनी दी गई है;) स्वचालित क्लोनज़िला बैकअप और जीपीजी एन्क्रिप्शन

BTW, एन्क्रिप्शन विभाजन आधारित एन्क्रिप्शन या EnFS या फ़ाइल आधारित एन्क्रिप्शन के लिए EncryptFS के लिए LUKS का उपयोग कर फ़ाइलों पर लागू करने के लिए आसान है।


मुख्य प्रश्न यह था कि छवि बैकअप को कैसे माउंट किया जाए, जब छवि FS BTRFS है। मुझे लगता है कि मुझे अपने वर्तमान ऑपरेटिंग सिस्टम स्टेटस का एक और क्लोनज़िला बैकअप बनाना है, पुराने बैकअप को पुनर्स्थापित करना है, जो मुझे करने की ज़रूरत है उसे करें, और फिर वापस वर्तमान में पुनर्स्थापित करें। काश कोई आसान तरीका होता, लेकिन हे, अगर यह काम करता है, तो यह काम करता है।
नत्फ़ुली के

मुख्य उत्तर यह है कि यदि आप डिस्क पर किसी अन्य विभाजन के समान UUID को साझा करते हैं तो आप इसे नहीं कर सकते :)

23

कार्यक्रम के साथ btrfstune, जो सामान्य btrfs-tools के अधिक हाल के संस्करणों का हिस्सा है, एक ऑफ़लाइन फ़ाइल सिस्टम के UUID को बदला जा सकता है। यदि विभाजन उदाहरण के लिए है। /dev/sda1, एक नया, यादृच्छिक UUID उत्पन्न करने के लिए निम्नलिखित आदेश का उपयोग करें:

btrfstune -u /dev/sda1

यह निर्दिष्ट करने के लिए कि किस मूल्य का उपयोग किया जाना चाहिए -U, उदाहरण के लिए (मान्य) UUID स्ट्रिंग के बाद एक अपरकेस का उपयोग करें :

sudo btrfstune -U e0c5b943-1c02-44a2-bbaf-87ebda5e363b /dev/sdaX

-m/ -Mऔर -u/ के बीच अभ्यास में क्या अंतर है -U?
व्लादिमीर पेंटेलेव

लगता है -m/ -Mबहुत नया है। अधिक जानकारी में btrfs-progsप्रतिबद्ध और गिरी प्रतिबद्ध संदेशों।
व्लादिमीर पेंटेलेव

दोनों - इस की कोशिश की करने के बाद -Uऔर -M दुर्घटना एक साथ BUG_ONमुझे और भ्रष्ट फाइल सिस्टम के लिए। बैकअप के बिना यह कोशिश मत करो!
व्लादिमीर पेंटेलेव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.