Désactiver le Native Command Queuing (NCQ)
Rédigé par Nicolas Sulek
Aucun commentaire
Classé dans : Système
La technique NCQ permet à un disque SATA de recevoir plusieurs requêtes de entrée/sortie et de décider l'ordre dans lesquelles les accomplir.
En effet, les tests avec les outils du constructeur, badblocks et smartmontools indiquaient que les disques étaient sains, le changement de carte contrôleur et câbles SATA n'améliorait nullement la situation. Il ne restait donc plus qu'à jouer sur les paramètres gérant les entrées/sorties des disques.
Pour désactiver le NCQ sous Linux, plusieurs méthodes sont possibles.
Désactiver le NCQ pour l'ensemble des disques
Pour désactiver le NCQ, il faut passer le paramètre force=noncq au module libata, ce qui est faisable soit par le chargeur de démarrage GRUB, soit par les options des modules.
Passage par GRUB
- éditer /etc/default/grub
- rajouter libata.force=noncq aux paramètres par défaut :
GRUB_CMDLINE_LINUX_DEFAULT="quiet libata.force=noncq"
- mettre à jour GRUB avec update-grub
Passage par les options des modules
- éditer /etc/modprobe.d/options.conf
- rajouter :
options libata force=noncq
Désactiver NCQ uniquement pour certains disques
Il faut changer la profondeur de la queue de NCQ en la mettant à 1 au lieu de 31.
Par exemple, pour le disque /dev/sda:
echo 1 > /sys/block/sda/device/queue_depth