本文档列出了使用具有非易失性存储规范 (NVMe) 接口的磁盘时可能遇到的错误。
您可以将 NVMe 接口用于本地 SSD 和永久性磁盘(Persistent Disk 或 Google Cloud Hyperdisk)。只有最新的机器系列(如 Tau T2A、M3、C3、C3D 和 H3)才对 Persistent Disk 使用 NVMe 接口。机密虚拟机也使用 NVMe Persistent Disk。所有其他 Compute Engine 机器系列都为永久性磁盘使用 SCSI 磁盘接口。
I/O 操作超时错误
如果您遇到 I/O 超时错误,则延迟时间可能会超过提交到 NVMe 设备的 I/O 操作的默认超时参数。
错误消息:
[1369407.045521] nvme nvme0: I/O 252 QID 2 timeout, aborting [1369407.050941] nvme nvme0: I/O 253 QID 2 timeout, aborting [1369407.056354] nvme nvme0: I/O 254 QID 2 timeout, aborting [1369407.061766] nvme nvme0: I/O 255 QID 2 timeout, aborting [1369407.067168] nvme nvme0: I/O 256 QID 2 timeout, aborting [1369407.072583] nvme nvme0: I/O 257 QID 2 timeout, aborting [1369407.077987] nvme nvme0: I/O 258 QID 2 timeout, aborting [1369407.083395] nvme nvme0: I/O 259 QID 2 timeout, aborting [1369407.088802] nvme nvme0: I/O 260 QID 2 timeout, aborting ...
解决方法:
如需解决此问题,请增加超时参数的值。
查看超时参数的当前值。
- 确定永久性磁盘或本地 SSD 卷使用的 NVMe 控制器。
ls -l /dev/disk/by-id
显示磁盘的
io_timeout
设置(以秒为单位)。 替换以下内容:cat /sys/class/nvme/CONTROLLER_ID/NAMESPACE/queue/io_timeout
CONTROLLER_ID
:NVMe 磁盘控制器的 ID,例如nvme1
NAMESPACE
:NVMe 磁盘的命名空间,例如nvme1n1
如果您只有一个使用 NVMe 的磁盘,请使用以下命令:
cat /sys/class/nvme/nvme0/nvme0n1/queue/io_timeout
- 确定永久性磁盘或本地 SSD 卷使用的 NVMe 控制器。
如需增加提交到 NVMe 设备的 I/O 操作的超时参数,请将以下行添加到
/lib/udev/rules.d/65-gce-disk-naming.rules
文件中,然后重启虚拟机:KERNEL=="nvme*n*", ENV{DEVTYPE}=="disk", ATTRS{model}=="nvme_card-pd", ATTR{queue/io_timeout}="4294967295"
已分离的磁盘仍出现在计算实例的操作系统中
在使用 Linux 内核版本 6.0 到 6.2 的虚拟机上,涉及 Compute Engine API 方法 instances.detachDisk
或 gcloud compute instances detach-disk
命令的操作可能无法按预期运行。 Google Cloud 控制台将设备显示为已移除,计算实例元数据(compute disks describe
命令)将设备显示为已移除,但设备装载点以及由 udev 规则创建的任何符号链接仍会出现在客机操作系统。
错误消息:
尝试从虚拟机上已分离的磁盘进行读取导致 I/O 错误:
sudo head /dev/nvme0n3 head: error reading '/dev/nvme0n3': Input/output error
问题:
使用 Linux 6.0-6.2 内核但不包含 NVMe 修复的向后移植的操作系统映像在分离 NVMe 磁盘时无法识别。
解决方法:
重启虚拟机以完成移除磁盘的过程。
为避免此问题,请使用具有不存在此问题的 Linux 内核版本的操作系统:
- 5.19 或更早版本
- 6.3 或更高版本
您可以在客户机操作系统中使用 uname -r
命令查看 Linux 内核版本。
后续步骤
- 了解 Persistent Disk。
- 了解本地 SSD。
- 配置磁盘以满足性能要求
- 了解符号链接。