Pour le moment, aucun ansver pour ce problème.
Habituellement, après quelques problèmes avec les lectures ou les écritures pour bloquer le périphérique, le noyau décide de changer l'indicateur pour WHOLE DEVICE en lecture seule. Après cela, tout écrit sur n'importe quelle partition / système de fichiers situé sur ce périphérique provoque le basculement en lecture seule avec l'état du périphérique, car tout écrit est impossible.
Exemple de dmesg, il s'agit d'une simulation pour linux invité sur windows8 utilisant VirtualBox lorsque la défragmentation prend l'image du périphérique invités:
[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.
Après cela, remontez la cause:
mount / -o remount,rw
mount: cannot remount block device /dev/sda1 read-write, is write-protected
parce que tout le périphérique sda gardant rootfs sda1 est en lecture seule.
D'après mon expérience, cela se produit dans des situations:
- Le disque dur est vraiment endommagé. Les problèmes d'écriture retournés dépendent de l'état du disque dur
- La machine hôte est surchargée, puis les écritures du disque dur virtuel invité Linux sont expirées
- Le câble FC ou le périphérique SAN (disques de matrice sur Fibre Channel) est surchargé
- Connexion momentanément perdue sur FC ou FCoE. Peut-être un paquet FC perdu / expiré
Dans ces situations, le périphérique est vraiment en lecture-écriture, mais le noyau Linux marque ce périphérique en interne comme en lecture seule et est utilisé en lecture seule. Il s'agit d'une fonctionnalité du noyau conçue pour la prévention des dommages, mais elle n'est utilisable qu'à un point.
La question est. Comment dire manuellement au noyau, le périphérique de bloc hdd fonctionne normalement?
Sans cela, le noyau sert le périphérique en lecture seule, comme le «CD-ROM», et aucune autre commande n'a de chance de fonctionner correctement, y compris mount / remount -o lecture-écriture, fsck et autres.
Ansvers inutilisable, vraiment qualifié de spam de personnes qui veulent aider, mais ne comprennent pas la nature du problème:
- Essayez de remonter en lecture-écriture (impossible, l'appareil est RO)
- fsck ceci (pourquoi? l'appareil est RO, aucune réparation n'est possible)
- «Je ne sais pas» (d'abord avec sens, mais inutilisable)
- 'Remplacez votre appareil' * (généralement le problème est autre chose)
Quelqu'un at-il une formule pour la question ci-dessus? Indicateur de commutateur pour le périphérique de bloc inscriptible qui le fait passer de l'état lecture seule à l'état lecture-écriture? À l'heure actuelle, il semble que personne ne sache comment.
Il s'agit de quelques solutions de contournement, mais généralement semi-utilisables ou inutilisables:
- Le module de suppression prend en charge l'accès au disque dur ou à la baie de stockage spécifié. Malheureusement, le périphérique généralement endommagé conserve rootfs, ou le pilote conserve à la fois le périphérique endommagé et le périphérique qui conserve rootfs
- Supprimez l'accès FC à l'appareil et rejoignez-le à nouveau (fctools), ce n'est pas toujours possible, cela ne fonctionne pas toujours.
- Redémarrez la machine ENTIÈRE. Habituellement, cela est toujours possible et nous sommes toujours obligés de le faire.
Aux points 1. et 2. nous disons au noyau que nous déconnectons complètement le périphérique et que nous nous y connectons à nouveau. Le noyau a reconnu que cela rejoignait un nouveau périphérique fonctionnant correctement. Nous pouvons simuler cela en utilisant un périphérique USB et couper momentanément l'alimentation. Le point 3. est la dernière chance et fonctionne généralement. Mais pourquoi devrions-nous tout redémarrer? Malheureusement, à tout moment, nous avons perdu toutes les mises à jour des journaux et les tampons sales.
Remarquez, dans les mêmes situations, je n'ai aucun problème avec Windows (bureau et serveur).
Réponses:
essayez avec
blockdev --setrw
ouhdparm -r 0
la source
fsck
sur le système de fichiers en lecture seule, avant de pouvoir le remonter.Comme Jose Luis Martin a suggéré d'utiliser blockdev, mon 2cent est de faire un remontage rw et forcefsck
(en supposant que sda est votre disque)
la source
fsck
avant lemount
, car il ne pourra pas être monté sansfsck
. (Au moins dans mon cas, c'est le cas.)date +%Y%m%d-%H%M%S
touch: ne peut pas toucher? / tmp / 20170722-221904?: Système de fichiers en lecture seule # # mount -o remount, rw / dev / xvda1 [137010.709883] EXT4 -fs erreur (périphérique xvda1): ext4_remount: 4824: abandon forcé par le montage utilisateur: ne peut pas remonter le périphérique / dev / xvda1 en lecture-écriture, est protégé en écriture `Consultez cette page wiki, elle explique l'erreur lancée par libata:
https://ata.wiki.kernel.org/index.php/Libata_error_messages
D'après ce que je vois ci-dessus, vous avez un problème de délai d'attente et selon le document mentionné:
Vous voudrez peut-être désactiver ACPI (vérifier comment en fonction de votre distribution) ou vérifier votre noyau pour les bogues connus et éventuellement le mettre à jour s'il n'est pas le plus récent (ou le rétrograder).
la source
sudo hdparm -I /dev/sdX | grep locked
dit-on? Il faut dire: «non verrouillé». Il a montré ces délais énigmatiques dans le passé ici chaque fois qu'un disque dur était verrouillé par un mot de passe ATA (en raison d'un effacement de sécurité précédent et d'un plantage du système plus tard, ce qui empêchait le pw de sécurité d'être effacé à nouveau). Ce truc de mot de passe a vraiment un impact énorme , aussi sur vos nerfs. :) Même les outils standard livrés par votre fournisseur de lecteur HD se comportent de manière folle, comme si le disque dur était sur le point de mourir lorsque le mot de passe est actif. Le coupable pour d'innombrables touffes de cheveux arrachés au fil des ans.Redémarrez dans Windows 10, accédez aux options d'alimentation et désactivez l'arrêt rapide. puis redémarrez sous linux ..gbamm tout va bien.
un arrêt rapide dans Windows 10 met en veille certains fichiers et le lecteur est partiellement utilisé. donc Linux voit est aussi occupé.
la source