繁体   English   中英

使用ebs音量附加ec2

[英]Attaching ec2 with ebs volume

这是我的EC2与EBS卷附件的代码。

 private static AttachVolumeResult attachEBSVolume(String volumeId, String instanceId, String device){
     AttachVolumeRequest attachVolReq = new AttachVolumeRequest(volumeId, instanceId, device);
     return ec2.attachVolume(attachVolReq);
 }

它第一次工作正常,但是当我再次运行它时会出现以下异常。 请告诉我如何解决它,并请告诉我参数中的deviceName(第三个参数)参数是什么,它可能是什么值。 谢谢

This is function call shown below 
attachEBSVolume(createRes.getVolume().getVolumeId(), "InstanceIDhere", "xvdg");

以下是Exception Arise ::

AWS Error Code: InvalidParameterValue, AWS Error Message: Invalid value 'xvdg' for unixDevice. Attachment point xvdg is already in use.

您正尝试将不同的卷附加到同一“xvdg”设备。

您也应该使用不同的设备 - xvdh,xvdi,... xvdp。
然后在实例内部,您将看到它们为/ dev / xvdg,/ dev / xvdh等。

您只能使用一个EC2设备连接一个EBS卷。 有多个设备可用,例如xvdg,xvdh,/ dev / sdf。 在代码中,您正在尝试将不同的EBS卷附加到同一设备,这是AWS不允许的。 所以您只能在一台设备上附加一个EBS卷。

您可以使用此功能保存EBS卷的ID

CreateVolumeResult createRes = makeEBSVolume(volSize, availabilityZone, "taghere");
 createRes.getVolume().getVolumeId()     // to save the volume ID

保存此ID后,您可以在每次需要时将此ID附加到EC2(实例ID)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM