0

我需要创建多个 EBS 卷并使用 python+boto3 将一些数据放在那里。

总的来说,我的流程是:

  • 创建卷。
  • 等待他们的available状态。
  • 附上一卷。
  • 等待它的attached状态。
  • 列出 NVMe 设备,检测卷的设备。<-- 问题发生在这里。
  • 挂载 NVMe 设备。
  • 复制数据。
  • 卸载并分离卷。
  • ...下一卷。

大多数时候它工作正常。卷正确附加并链接到 NVMe 设备(如/dev/nvme2p1)。但是在某些时候linux没有为卷设置块设备:卷状态是attachednvme list不显示它。

如果使用 boto3 或在 AWS 控制台中手动重新附加此类卷,则它将具有块设备。

例如,它发生在us-east-2region 但不在ap-south-1.

我尝试在单线程和多线程模式下附加/分离。在多线程模式下,我为每个线程使用了单独的 boto3 客户端和一个锁来顺序附加。还尝试了不同的boto3版本并在附加后等待一段时间。没有任何帮助。

我的环境:

  • EC2 实例:t3a.small,AMI:ubuntu 20.04.2
  • python2(是的,我们仍在使用它)。
  • botocore==1.12.253
  • boto3==1.9.199

有没有人遇到过同样的问题?

4

0 回答 0