सबसे आसान उपाय
btrfs-zero-log /dev/sda5
आपका वह मुद्दा मिलना क्योंकि लेनदेन (लिखना या हटाना) जर्नल लॉग में अटका हुआ है और डिस्क इसे मेल नहीं खाता है।
यह काम किस प्रकार करता है:
इसलिए जब डेटा 1 लिखा जाता है तो उसका जर्नल जर्नल को डिस्क (या उसी समय पर लिखा जाता है, लेकिन जर्नल आने वाले राइट के बारे में मेटाडेटा को बचाता है - निश्चित नहीं ... उस हिस्से पर अधिक शोध की आवश्यकता है) ...
किसी भी तरह अगर आप इस राइट / डिलीट के बीच में सिस्टम को बंद कर देते हैं या सिस्टम को कुछ hickups करते हैं (USB को जो आपके btrfs माउंट पॉइंट को होल्ड करता है) को डिस्क्राइब करता है , तो जब वह रिटर्न देता है तो माउंट काम नहीं करेगा ( dmesg और btrfsck) आपको और अधिक विस्तार से त्रुटियाँ दिखाते हैं) ...
Dmesg को देखते हुए आपको वही ट्रांज़िड संदेश दिखाई देंगे।
आप कुछ इस तरह देखेंगे:
parent transid verify failed on 109973766144 wanted 1823 found 1821
इसका मतलब यह है कि btrfs 1826 को स्थानांतरित करना चाहता था (जो कि पत्रिका पर था) लेकिन डिस्क पर इसे 1821 देखा गया। इसलिए डिस्क 2 लेन-देन था जो पत्रिका के साथ सिंक होने से दूर था। मैं व्यक्तिगत रूप से एक brtfs- शून्य लॉग इन करने का जोखिम उठाऊंगा क्योंकि इसके केवल 2 लेनदेन हैं। लेकिन 100% सुरक्षित होना अगर यह आपका एकमात्र डेटा है (वैसे यदि आपके पास महत्वपूर्ण डेटा है तो आपको कभी भी इसकी केवल 1 प्रति नहीं होनी चाहिए, हमेशा एक सुरक्षित अन्य स्थान में एक कॉपी / बैकअप होना चाहिए - btrfs.nt के रचनाकारों को दोष देना एक बैकअप न होने की ज़िम्मेदारी के अभाव में व्यक्तियों के खिलाफ उचित ठहराना - btrfs बैकअप समाधान नहीं है, इसकी फाइल सिस्टम - इसके अलावा इसकी एक कॉपी होने के अलावा कुछ भी सही बैकअप समाधान नहीं है - जहां समता या मिरर ड्राइव भी नहीं है, एक सच्चा बैकअप आल्प्स में कहीं भूमिगत बैठे हैं जबकि इसकी सक्रिय प्रतिलिपि टेक्सास में आपके कार्यालय में है)
parent transid verify failed on 31302336512 wanted 62455 found 62456
यहां जर्नल 62455 चाह रहा है, लेकिन डिस्क 62456 पर आगे है, इसलिए आपके मामले में मैं पत्रिका को साफ कर दूंगा। जर्नल ने इस बार अपडेट नहीं किया। फिर से मैंने आपको बताया कि सुरक्षित चीज़ होना, अगर आपका एकमात्र डेटा और इसकी मेगा क्रिटिकल (आप पर शर्म) है, और मैं सुरक्षित होने के लिए नीचे दिए गए ऑपरेशन करूँगा।
एक btrfsck / dev / sda5 (जो वैसे ही सिर्फ एक पूरी तरह से सुरक्षित है, इसके केवल btrfsck विकल्प, जिनके बारे में आपको चिंता करने की ज़रूरत है) को चलाकर आपको उन संदेशों को भी दिखाएगा।
लेकिन सावधान रहें कि यदि डेटा महत्वपूर्ण है, तो मैं पहले करूँगा (जैसा कि अन्य जेंट्स ने कहा है)
mount -t btrfs -o rootflags=recovery,nospace_cache /dev/sda3 /mnt/sda3
mount -t btrfs -o rootflags=recovery,nospace_cache,clear_cache /dev/sda3 /mnt/sda3
mount -t btrfs -o recovery,nospace_cache,nospace_cache /dev/sda3 /mnt/sda3
फिर अपनी सभी फाइलों को सुरक्षित स्थान पर cp या rsync करें, तब जब btrfs-शून्य-लॉग सुरक्षित हो, तो यदि इसका सफल संचालन आपने अभी-अभी अपना सिस्टम बर्बाद कर दिया है, लेकिन यदि यह सफल नहीं हुआ, तो आप बस अपना गधा)
फिर यदि माउंट विफल हो जाते हैं तो एक btrfs पुनर्स्थापना (सिस्टम का डंप, जैसा कि मैं इसके एक फिर से शुरू करने योग्य संचालन को समझता हूं, हालांकि यह हर बार Y या y के लिए पूछता रहता है और फिर से आउटपुट को देखता है)
btrfs restore /dev/sda5 /USB
तब जब सुरक्षित (जब btrfs पुनर्स्थापना की जाती है) btrfs-शून्य-लॉग करते हैं, यदि इसका सफल संचालन आपने अभी-अभी अपना सिस्टम वापस करने में बहुत समय बर्बाद किया है (लेकिन यदि यह सफल नहीं हुआ, तो आपने अपना गधा बचा लिया)
आप पहले स्क्रीन चला सकते हैं
screen /bin/bash
btrfs restore /dev/sda5 /USB
स्क्रीन साइड नोट
अलग करने के लिए (कमांड अभी भी चलेगा): नियंत्रण-फिर एक प्रकार ": अलग करें" बिना उद्धरण के फिर ENTER दबाएँ
अलग करने का दूसरा तरीका: फिर पोटीन या अपने टर्मिनल से बाहर निकल जाएं और यह अलग हो जाएगा (कमांड / रिस्टोर अभी भी चलेगा)।
इस पर जांच करने के लिए, बस इसे वापस स्क्रीन करें:
screen -x
स्क्रीन -x सत्रों में संलग्न होगा, भले ही अलग हो जाए, और इसके विपरीत-यदि कहता है, तो यह संलग्न करेगा भले ही पहले से ही संलग्न हो)
यदि आपके पास कई स्क्रीन हैं, तो स्क्रीन -x आपको बताएगा कि सत्र को संलग्न करने के लिए और अधिक विशिष्ट होना चाहिए:
screen -ls
सूची को याद रखने के लिए आसान सभी सत्रों के लिए एल.एस.
पीआईडी देखने के लिए आप यह भी कर सकते हैं:
ps aux | grep screen
एक बार जब आप अपना पीआईडी खोज लेते हैं, तो स्क्रीन को इस तरह से चलाएं:
screen -x PID
जो एक विशिष्ट सत्र से जुड़ेगा। आपके पास एक ही स्क्रीन पर कई सत्र / पुट्टी संलग्न हो सकती हैं (वे एक ही पाठ को आउटपुट करेंगे, आप एक में कमांड टाइप कर सकते हैं, और उन्हें दूसरी पोटीन पर प्रतिबिंबित किया जाएगा)
nospace_cache
?