लिनक्स, कैसे अस्थायी रूप से दुर्घटना के बाद ReadOnly से HDD राज्य को बदलने के लिए?


17

इस समय इस समस्या के लिए कोई ansver।

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

Dmesg से उदाहरण, यह विंडोज़ 8 पर अतिथि लाइनक्स के लिए वर्चुअलबॉक्स का उपयोग कर रहा है जब डीफ़्रैग मेहमानों की डिवाइस छवि लेता है:

[11903.002030] ata3.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x6 frozen
[11903.003179] ata3.00: failed command: READ FPDMA QUEUED
[11903.003364] ata3.00: cmd 60/08:00:a8:77:57/00:00:00:00:00/40 tag 0 ncq 4096 in
[11903.003385]          res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[11903.004074] ata3.00: status: { DRDY }
[11903.004248] ata3: hard resetting link
[11903.325703] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[11903.327097] ata3.00: configured for UDMA/133
[11903.328025] ata3.00: device reported invalid CHS sector 0
[11903.329664] ata3: EH complete
[11941.000472] ata3.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x6 frozen
[11941.000769] ata3.00: failed command: READ FPDMA QUEUED
[11941.000952] ata3.00: cmd 60/08:00:c8:77:57/00:00:00:00:00/40 tag 0 ncq 4096 in
[11941.000961]          res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[11941.001353] ata3.00: status: { DRDY }
[11941.001504] ata3: hard resetting link
[11941.320297] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[11941.321252] ata3.00: configured for UDMA/133
[11941.321379] ata3.00: device reported invalid CHS sector 0
[11941.321553] ata3: EH complete
[11980.001746] ata3.00: exception Emask 0x0 SAct 0x11fff SErr 0x0 action 0x6 frozen
[11980.002070] ata3.00: failed command: WRITE FPDMA QUEUED
[11980.002255] ata3.00: cmd 61/18:00:28:23:59/00:00:00:00:00/40 tag 0 ncq 12288 out
[11980.002265]          res 40/00:01:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
-------------------
There are many other errors, like "lost write page", "Journal has aborted", "Buffer I/O error", "hard resetting link" and many others.

इसके बाद, रिमाउंट कारण:

mount / -o remount,rw
mount: cannot remount block device /dev/sda1 read-write, is write-protected

क्योंकि WHOLE डिवाइस sda में रूटफ्ड sda1 को रखना पूरी तरह से है।

मेरे अनुभव में यह स्थितियों में होता है:

  1. एचडीडी वास्तव में क्षतिग्रस्त है। वापसी की लेखन समस्याएं एचडीडी स्थिति पर निर्भर हैं
  2. मेजबान मशीन अतिभारित है, तो linux अतिथि वर्चुअल HDD लेखन समयबद्ध हैं
  3. FC केबल या SAN डिवाइस (फाइबर चैनल पर सरणी डिस्क) अतिभारित है
  4. एफसी या एफसीओई पर मोमेंट्री का कनेक्शन खत्म हो गया। शायद एफसी पैकेट खो गया / समय समाप्त हो गया

इस स्थिति में डिवाइस वास्तव में पढ़ा-लिखा है, लेकिन लिनक्स कर्नेल इस डिवाइस को आंतरिक रूप से केवल-पढ़ने के लिए चिह्नित करता है और इसे केवल-पढ़ने के लिए उपयोग किया जाता है। यह क्षति की रोकथाम के लिए कर्नेल कार्यक्षमता है, लेकिन यह केवल 1. बिंदु पर प्रयोग करने योग्य है।

प्रश्न है। कर्नेल को मैन्युअल रूप से कैसे बताएं, एचडीडी ब्लॉक डिवाइस सामान्य रूप से संचालित होता है?

इसे Witiout करें, कर्नेल डिवाइस को रीड-ओनली, जैसे 'CD-ROM', और किसी अन्य कमांड को ठीक से काम करने का मौका न दें, जिसमें माउंट / रिमाउंट-रीड-राइट, fsck और अन्य शामिल हैं।

वास्तव में मदद नहीं करना चाहता है, लेकिन लोगों से स्पैम के रूप में योग्य चींटियों, लेकिन समस्या प्रकृति के बारे में समझ में नहीं आता है:

  1. पढ़ने-लिखने के रूप में रीमाउंट की कोशिश करें (असंभव, डिवाइस आरओ है)
  2. इस fsck (क्या के लिए? डिवाइस आरओ है, कोई मरम्मत संभव नहीं है)
  3. 'मैं नहीं जानता' (पहले समझदारी से, लेकिन अनुपयोगी)
  4. 'अपना डिवाइस बदलें' * (आमतौर पर समस्या कुछ और है)

क्या किसी के पास प्रश्न के लिए कोई सूत्र है? लिखने योग्य ब्लॉक डिवाइस के लिए झंडे को स्विच करें जो इसे रीड-ओनली से रीड-राइट स्टेट में बदल देता है? इस समय ऐसा लगता है कि कोई नहीं जानता कि कैसे।

यह कुछ वर्कअराउंड है, लेकिन आमतौर पर अर्ध या अनुपयोगी है:

  1. निकालें मॉड्यूल निर्दिष्ट HDD या भंडारण सरणी तक पहुंच का समर्थन करता है। दुर्भाग्य से आमतौर पर क्षतिग्रस्त डिवाइस रूटफ़्स रखता है, या ड्राइवर क्षतिग्रस्त डिवाइस और डिवाइस दोनों को रखता है जो रूटफ़्स रखता है
  2. डिवाइस तक एफसी पहुंच निकालें और फिर से इसमें शामिल हों (fctools), जो संभव नहीं हैं, न कि सभी रास्ते काम करते हैं।
  3. WHOLE मशीन को पुनरारंभ करें। आमतौर पर केवल यह ही संभव है और हम मजबूर हैं।

अंक 1 और 2 में, हम कर्नेल को बताते हैं कि हम डिवाइस को पूरी तरह से डिस्कनेक्ट कर देते हैं और फिर से कनेक्ट करते हैं। कर्नेल ने इसे नए ठीक से संचालित करने वाले उपकरण में शामिल होने के रूप में पहचाना। हम USB डिवाइस और क्षणिक हटाने की शक्ति का उपयोग करके इसे अनुकरण कर सकते हैं। प्वाइंट 3. आखिरी मौका है और आमतौर पर काम करता है। लेकिन हम सभी को पुनरारंभ क्यों करना चाहिए? दुर्भाग्य से सभी बिंदुओं पर हमने सभी पत्रिकाओं के अपडेट और गंदे बफ़र्स खो दिए।

ध्यान दें, उन्हीं स्थितियों में मुझे विंडोज (डेस्कटॉप और सर्वर) से कोई समस्या नहीं है।


उत्तर नहीं है, लेकिन संभवतः # 2 (उच्च होस्ट लोड, अतिथि एचडीडी टाइमआउट) के मामले में संबंधित है: अतिथि सिस्टम में एचडीडी टाइमआउट के कारण फाइल सिस्टम भ्रष्टाचार को रोकने के लिए लिनक्स एचडीडी टाइमआउट बढ़ाएं।
basic6

@Znik, ये अतिथि वर्चुअल मशीन Citrix XenServer पर चल रहे हैं? या भौतिक हार्डवेयर? हमारे StorageServer पुलों में ईथरनेट की भूमि से लेकर मिनी-एसएएस की भूमि शामिल है। जब यह पुल मशीन घबराती है, तो इसे बलपूर्वक रिबूट करना पड़ता है। Windows अतिथि VMs वापस आते हैं। लिनक्स अतिथि आभासी मशीनें आपके पास उसी सटीक समस्या को प्रदर्शित करती हैं। यहां सुझाए गए कुछ भी नहीं आरडब्ल्यू को माउंट अंक वापस लाता है।
आरजेटी

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

जवाबों:


12

blockdev --setrwया के साथ प्रयास करेंhdparm -r 0


धन्यवाद, यह उपयोगी होना चाहिए। मैं किसी भी समय के लिए इंतज़ार कर रहा हूँ
FCP

एक महत्वपूर्ण हिस्सा जिसे जोड़ना होगा: कभी-कभी fsckरीड-ओनली फाइल सिस्टम पर करना आवश्यक होता है , इससे पहले कि इसे फिर से माउंट किया जा सके।
Evi1M4chine

3
मेरे लिए डिडंट काम। मैं इसी तरह की समस्या है
jonneymendoza

1
Fsck से भी मेरे लिए काम नहीं किया। Citrix XenServer लिनक्स मेहमान।
rjt

काम नहीं कर रहा ! यह आदेश प्रभावी लगता है, लेकिन डोंगल अभी भी आरओ है। (यह सॉफ्टवेयर है, लेकिन कहाँ से ???) यदि आप कोशिश करना चाहते हैं, तो कोई भी डेबियन iso 9.4 लें।
सैंडबर्ग

5

जोस लुइस मार्टिन ने ब्लॉकदेव का उपयोग करने का सुझाव दिया, मेरा 2cent रीमाउंट आरडब्ल्यू और फोर्सफॉस्क करना है

(यह मानते हुए कि एसडी आपकी डिस्क है)

blockdev --setrw /dev/sda
mount /dev/sda -o remount,rw
touch /forcefsck

1
यह सिर्फ चलाने fsckसे पहले अधिक समझ में आता है mount, क्योंकि यह बिना माउंट करने में विफल हो जाएगा fsck। (कम से कम मेरे मामले में यह किया।)
Evi1M4chine

`# ब्लॉकदेव - setrw / देव / xvda1 # # स्पर्श / tmp / date +%Y%m%d-%H%M%Sस्पर्श: स्पर्श नहीं कर सकता? / tmp / 20170722-221904 ?: केवल-फ़ाइल सिस्टम # पढ़ें # माउंट-रे रीमाउंट, आरडब्ल्यू / देव / xvda1 [137010.709883] EXT4 -fs त्रुटि (डिवाइस xvda1): ext4_remount: 4824: उपयोगकर्ता माउंट द्वारा निरस्त किया गया: ब्लॉक डिवाइस / देव / xvda1 को रीड-राइट नहीं कर सकता है, लिखने के लिए सुरक्षित है
rjt

2

इस विकी पृष्ठ की जाँच करें, यह libata द्वारा फेंकी गई त्रुटि की व्याख्या करता है:

https://ata.wiki.kernel.org/index.php/Libata_error_messages

जो मैं ऊपर देख रहा हूँ, उससे आपको एक समयबाह्य मुद्दा मिल गया है और दस्तावेज के अनुसार:

नियंत्रक सक्रिय ATA कमांड का जवाब देने में विफल रहा। यह किसी भी कारण से हो सकता है। ज्यादातर यह एक असंबंधित इंटरप्ट सबसिस्टम बग के कारण होता है ('pci = nomsi' या 'acpi = off' या 'noapic' के साथ बूट करने की कोशिश करें), जो हार्डवेयर से एक की उम्मीद करते समय एक अवरोधक देने में विफल रहा।

आप एसीपीआई को निष्क्रिय करना चाहते हैं (अपने डिस्ट्रो के आधार पर जांच करें) या आपको ज्ञात बग के लिए कर्नेल की जांच करें और संभवतः इसे अपडेट करें यदि यह नवीनतम नहीं है (या इसे डाउनग्रेड करें)।


हां, यह वास्तव में टाइमआउट है। आमतौर पर यह एफ़सी नियंत्रक पर होता है जब सरणी डिवाइस अतिभारित होता है। आप सही हैं, स्थानीय एटीए सबसिस्टम पर यह आमतौर पर किसी भी हार्डवेयर बग या ड्राइवर / चिपसेट कार्यान्वयन है
ज़नीक

तो यह एक समयबाह्य है? खैर, क्या sudo hdparm -I /dev/sdX | grep lockedकहता है? यह कहना होगा : 'लॉक नहीं'। यह अतीत में इन रहस्यपूर्ण समय समाप्ति से पता चला यहां जब भी कोई HDD गया था बंद कर दिया (पिछले सुरक्षा मिटा और एक सिस्टम क्रैश बाद में जिसके कारण सुरक्षा पीडब्लू फिर से साफ किया जा करने के लिए नहीं होने के कारण) एटीए पासवर्ड द्वारा। यह पासवर्ड सामान वास्तव में एक बहुत बड़ा प्रभाव डालता है , आपकी तंत्रिकाओं पर भी। :) यहां तक ​​कि आपके एचडी ड्राइव विक्रेता द्वारा भेजे गए मानक उपकरण भी पागलपन का व्यवहार करते हैं, जैसे कि पासवर्ड सक्रिय होने पर एचडीडी मरने वाला है। बाल के अनगिनत गुच्छे वर्षों के माध्यम से बाहर फटे के लिए दोषी।
वाक्यविन्यास

1

विंडोज़ 10 में रिबूट, बिजली के विकल्प पर जाएं और तेजी से बंद करें। फिर लिनक्स को रिबूट करें।

विंडोज़ 10 में तेजी से शटडाउन कुछ फ़ाइलों को हाइबरनेट करता है और ड्राइव को आंशिक रूप से उपयोग किया जाता है। इसलिए linux व्यस्त है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.