Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Ce document répertorie les erreurs que vous pouvez rencontrer lors de l'utilisation de disques avec l'interface NVMe (nonvolatile memory express).
Vous pouvez utiliser l'interface NVMe pour les disques SSD locaux et les disques persistants (Persistent Disk ou Google Cloud Hyperdisk). Seules les séries de machines les plus récentes, telles que Tau T2A, M3, C3, C3D et H3, utilisent l'interface NVMe pour les disques Persistent Disk. Confidential VMs utilisent également le NVMe pour les disques Persistent Disk. Toutes les autres séries de machines Compute Engine utilisent l'interface disque SCSI pour les disques persistants.
Erreur d'expiration de délai d'une opération d'E/S
Si vous rencontrez des erreurs d'expiration de délai d'E/S, il est possible que la latence dépasse le paramètre de délai avant expiration par défaut pour les opérations d'E/S envoyées à des appareils NVMe.
Pour augmenter le paramètre de délai avant expiration pour les opérations d'E/S envoyées à des appareils NVMe, ajoutez la ligne suivante au fichier /lib/udev/rules.d/65-gce-disk-naming.rules, puis redémarrez la VM :
Les disques dissociés apparaissent toujours dans le système d'exploitation d'une instance de calcul
Sur les VM qui utilisent le noyau Linux version 6.0 à 6.2, les opérations impliquant la méthode d'API Compute Engine instances.detachDisk ou la commande gcloud compute instances detach-disk peuvent ne pas fonctionner comme prévu.
La console Google Cloud indique que l'appareil a été supprimé, les métadonnées de l'instance de calcul (commande compute disks describe) indiquent que l'appareil a été supprimé, mais le point de montage de l'appareil et tous les liens symboliques créés par les règles udev sont toujours visibles dans le système d'exploitation invité.
Message d'erreur :
Toute tentative de lecture à partir du disque dissocié sur la VM entraîne des erreurs d'E/S :
sudo head /dev/nvme0n3
head: error reading '/dev/nvme0n3': Input/output error
Problème :
Les images du système d'exploitation qui utilisent un noyau Linux 6.0-6.2, mais qui n'incluent pas de rétroportage d'une correction NVMe ne parviennent pas à détecter quand un disque NVMe est dissocié.
Solution :
Redémarrez la VM pour terminer le processus de suppression du disque.
Pour éviter ce problème, utilisez un système d'exploitation avec une version du noyau Linux qui ne présente pas ce problème :
5.19 et versions ultérieures
6.3 et versions ultérieures
Vous pouvez utiliser la commande uname -r dans l'OS invité pour afficher la version du noyau Linux.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eThis document details common errors encountered when using disks with the NVMe interface, including I/O timeout errors, detached disk visibility issues, and symlink creation failures.\u003c/p\u003e\n"],["\u003cp\u003eI/O timeout errors on NVMe devices can be resolved by increasing the timeout parameter, typically by modifying the \u003ccode\u003e/lib/udev/rules.d/65-gce-disk-naming.rules\u003c/code\u003e file, although most Google-provided OS images already have this change implemented.\u003c/p\u003e\n"],["\u003cp\u003eDetached NVMe disks might remain visible in the guest OS on VMs using Linux kernel versions 6.0 to 6.2 without a specific NVMe fix; rebooting the VM is required to fully detach the disk, and using kernel versions 5.19 or older, or 6.3 or newer, avoids this issue.\u003c/p\u003e\n"],["\u003cp\u003eC3 and C3D VMs with Local SSDs and certain public SUSE images or custom images might require manual configuration of \u003ccode\u003eudev\u003c/code\u003e rules to create the necessary symlinks for Local SSD devices, which involves updating or creating the \u003ccode\u003e65-gce-disk-naming.rules\u003c/code\u003e and \u003ccode\u003egoogle_nvme_id\u003c/code\u003e files.\u003c/p\u003e\n"]]],[],null,["# Troubleshooting NVMe disks\n\n*** ** * ** ***\n\nThis document lists errors that you might encounter when using disks with the\nnonvolatile memory express (NVMe) interface.\n\nYou can use the NVMe interface for Local SSDs and persistent disks (Persistent Disk\nor Google Cloud Hyperdisk). Only the\nmost recent machine series, such as Tau T2A, M3, C3, C3D, and H3 use the\n[NVMe](http://wikipedia.org/wiki/NVM_Express) interface for\nPersistent Disk. Confidential VMs also use NVMe for Persistent Disk. All other\nCompute Engine machine series use the\n[SCSI](http://wikipedia.org/wiki/SCSI) disk interface for\npersistent disks.\n\nI/O operation timeout error\n---------------------------\n\nIf you are encountering I/O timeout errors, latency could be exceeding the\ndefault timeout parameter for I/O operations submitted to NVMe devices.\n\n**Error message**: \n\n```\n[1369407.045521] nvme nvme0: I/O 252 QID 2 timeout, aborting\n[1369407.050941] nvme nvme0: I/O 253 QID 2 timeout, aborting\n[1369407.056354] nvme nvme0: I/O 254 QID 2 timeout, aborting\n[1369407.061766] nvme nvme0: I/O 255 QID 2 timeout, aborting\n[1369407.067168] nvme nvme0: I/O 256 QID 2 timeout, aborting\n[1369407.072583] nvme nvme0: I/O 257 QID 2 timeout, aborting\n[1369407.077987] nvme nvme0: I/O 258 QID 2 timeout, aborting\n[1369407.083395] nvme nvme0: I/O 259 QID 2 timeout, aborting\n[1369407.088802] nvme nvme0: I/O 260 QID 2 timeout, aborting\n...\n```\n\n\u003cbr /\u003e\n\n**Resolution**:\n\nTo resolve this issue, increase the value of the timeout parameter.\n| **Note:** Most of the operating system images provided by Google already include this change.\n\n1. View the current value of the timeout parameter.\n\n 1. Determine which NVMe controller is used by the persistent disk or Local SSD volume. \n\n ```\n ls -l /dev/disk/by-id\n ```\n 2. Display the `io_timeout` setting, specified in seconds, for the disk.\n\n ```\n cat /sys/class/nvme/CONTROLLER_ID/NAMESPACE/queue/io_timeout\n ```\n Replace the following:\n\n \u003cbr /\u003e\n\n - \u003cvar translate=\"no\"\u003eCONTROLLER_ID\u003c/var\u003e: the ID of the NVMe disk controller, for example, `nvme1`\n - \u003cvar translate=\"no\"\u003eNAMESPACE\u003c/var\u003e: the namespace of the NVMe disk, for example, `nvme1n1`\n\n If you only have a single disk that uses NVMe, then use the command: \n\n ```\n cat /sys/class/nvme/nvme0/nvme0n1/queue/io_timeout\n ```\n\n \u003cbr /\u003e\n\n2. To increase the timeout parameter for I/O operations submitted to NVMe\n devices, add the following line to the\n `/lib/udev/rules.d/65-gce-disk-naming.rules` file, and then restart the VM:\n\n ```\n KERNEL==\"nvme*n*\", ENV{DEVTYPE}==\"disk\", ATTRS{model}==\"nvme_card-pd\", ATTR{queue/io_timeout}=\"4294967295\"\n ```\n\nDetached disks still appear in the operating system of a compute instance\n-------------------------------------------------------------------------\n\nOn VMs that use Linux kernel version 6.0 to 6.2, operations\ninvolving the Compute Engine API method `instances.detachDisk` or the\n`gcloud compute instances detach-disk` command might not work as expected.\nThe Google Cloud console shows the device as removed, the compute instance metadata\n(`compute disks describe` command) shows the device as removed, but the device\nmount point and any symlinks created by udev rules are still visible in the\nguest operating system.\n\n**Error message**:\n\nAttempting to read from the detached disk on the VM results in I/O errors: \n\n```\nsudo head /dev/nvme0n3\n\nhead: error reading '/dev/nvme0n3': Input/output error\n```\n\n**Issue**:\n\nOperating system images that use a Linux 6.0-6.2 kernel but don't include\na backport of a [NVMe fix](https://github.com/torvalds/linux/commit/0dd6fff2aad4e35633fef1ea72838bec5b47559a)\nfail to recognize when an NVMe disk is detached.\n\n**Resolution**:\n\nReboot the VM to complete the process of removing the disk.\n\nTo avoid this issue, use an operating system with a\nLinux kernel version that doesn't have this problem:\n\n- 5.19 or older\n- 6.3 or newer\n\nYou can use the `uname -r` command in the guest OS to view the Linux kernel\nversion.\n\nWhat's next?\n------------\n\n- Learn about [Persistent Disk](/compute/docs/disks/persistent-disks).\n- Learn about [Local SSDs](/compute/docs/disks/local-ssd).\n- [Configure disks to meet performance requirements](/compute/docs/disks/performance).\n- Learn about [symlinks](/compute/docs/disks/disk-symlinks)."]]