Saat ini tidak ada jawaban untuk masalah ini.
Biasanya setelah beberapa masalah dengan pembacaan atau tulisan untuk memblokir perangkat, kernel memutuskan untuk mengganti flag untuk PERANGKAT SELURUH sebagai hanya-baca. Setelah ini setiap tulisan ke partisi / sistem file yang terletak di perangkat ini menyebabkan pergantian sebagai hanya dibaca bersama dengan keadaan perangkat, karena tulisan apa pun tidak mungkin.
Contoh dari dmesg, ini adalah simulasi untuk linux tamu di windows8 menggunakan VirtualBox ketika defrag mengambil gambar perangkat tamu:
[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.
Setelah ini, remount penyebab:
mount / -o remount,rw
mount: cannot remount block device /dev/sda1 read-write, is write-protected
karena perangkat WHOLE sda menjaga rootfs sda1 SIAP.
Dalam pengalaman saya ini terjadi dalam situasi:
- HDD benar-benar rusak. Masalah penulisan yang dikembalikan tergantung pada kondisi HDD
- Mesin host kelebihan beban, maka tulisan HDD virtual guest linux akan habis
- Kabel FC atau perangkat SAN (disk array di atas Fibre Channel) kelebihan beban
- Koneksi terputus sesaat melalui FC atau FCoE. Mungkin paket FC hilang / habis waktu
Pada situasi ini perangkat benar-benar read-write, tetapi kernel linux menandai perangkat ini secara internal sebagai read-only dan digunakan sebagai read-only. Ini adalah fungsi kernel yang dibuat untuk pencegahan kerusakan, tetapi hanya bisa digunakan pada 1. point.
Pertanyaan adalah. Bagaimana cara memberitahu kernel secara manual, perangkat hdd block beroperasi secara normal?
Ketahuilah ini, perangkat kernel berfungsi sebagai read-only, seperti 'CD-ROM', dan tidak ada perintah lain yang dapat berfungsi dengan baik, termasuk mount / remount -untuk read-write, fsck dan lainnya.
Ansvers yang tidak dapat digunakan, benar-benar memenuhi syarat sebagai spam dari orang yang ingin membantu, tetapi tidak mengerti tentang sifat masalah:
- Coba remount sebagai baca-tulis (tidak mungkin, perangkat adalah RO)
- fsck ini (untuk apa perangkat RO, tidak ada perbaikan yang mungkin)
- 'Aku tidak tahu' (pertama dengan akal, tetapi tidak dapat digunakan)
- 'Ganti perangkat Anda' * (biasanya masalahnya adalah hal lain)
Adakah formula untuk pertanyaan di atas? Ganti bendera untuk perangkat blok yang dapat ditulisi yang mengembalikannya dari status baca-saja menjadi baca-tulis? Pada saat ini sepertinya tidak ada yang tahu caranya.
Ini adalah beberapa solusi, tetapi biasanya semiusable atau tidak dapat digunakan:
- Remove module mendukung akses ke hdd atau array penyimpanan yang ditentukan. Sayangnya biasanya perangkat yang rusak menyimpan rootfs, atau driver membuat perangkat dan perangkat yang rusak tetap rootfs
- Hapus akses FC ke perangkat dan gabung ini lagi (fctools), tidak mungkin, tidak selalu berfungsi.
- Mulai ulang mesin SELURUH. Biasanya hanya ini yang mungkin dan kita selalu terpaksa.
Pada poin 1. dan 2. kami memberi tahu kernel bahwa kami sepenuhnya memutuskan perangkat dan menghubungkannya lagi. Kernel mengenali ini sebagai bergabung dengan perangkat yang beroperasi dengan benar. Kita dapat mensimulasikan ini menggunakan perangkat USB dan daya penghapus sesaat. Poin 3. adalah kesempatan terakhir dan biasanya berhasil. Tapi mengapa kita harus me-restart semua? Sayangnya, kami kehilangan semua pembaruan jurnal dan buffer kotor.
Perhatikan, pada situasi yang sama saya tidak memiliki masalah dengan Windows (desktop dan server).