Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 分离ec2实例的根卷_Linux_Amazon Web Services_Amazon Ec2_Hardware - Fatal编程技术网

Linux 分离ec2实例的根卷

Linux 分离ec2实例的根卷,linux,amazon-web-services,amazon-ec2,hardware,Linux,Amazon Web Services,Amazon Ec2,Hardware,我正在使用一个spot实例来做一些工作并保存数据,我正在重新安装一个以前存在的卷作为当前实例的根卷。因此,实例启动时使用的根卷已不再使用,我希望删除它以节省成本 我已卸载上一个根卷,并尝试使用--force参数和不使用--force参数将其从cli中分离,但均以失败告终,出现以下错误: An error occurred (IncorrectState) when calling the DetachVolume operation: Unable to detach root volume

我正在使用一个spot实例来做一些工作并保存数据,我正在重新安装一个以前存在的卷作为当前实例的根卷。因此,实例启动时使用的根卷已不再使用,我希望删除它以节省成本

我已卸载上一个根卷,并尝试使用--force参数和不使用--force参数将其从cli中分离,但均以失败告终,出现以下错误:

An error occurred (IncorrectState) when calling the DetachVolume operation: Unable to detach root volume 
我意识到这是因为aws在xv/s da1中安装了初始根,aws阻止我分离它


是否可以按照任何步骤分离已卸载的根卷?

不,没有。分离根卷需要停止实例,而不能停止点实例

为了保留数据,我将重新装入以前存在的卷作为当前实例的根卷

这不是正确的做法。Spot实例本质上是短暂的,重用根卷不是预期的操作

如果您所在地区有弹性文件系统,则使用弹性文件系统是理想的选择。EFS文件系统安装到您需要的层次结构中的任何位置,例如
/srv/data
,这些文件系统也可以同时安装到多个实例

S3也可以使用,尽管在编写代码时必须牢记这一点


或者,如果要移动卷,请将您的工作保存在不是根卷的EBS卷上。

谢谢您的回答。但是我必须重用根卷,我正在构建一些库,这些库的构建时间超过45分钟,我不想每次都重建它们,我开始做一些事情。我必须在标准的/usr/lib等位置安装一些库来构建库。我想如果我继续使用同一个ami并在单独的文件系统中构建库,它可能会工作。不,不。。。按照您想要的方式构建机器,创建机器的自定义AMI,并从自定义AMI启动未来的spot实例。每次spot机器启动时,您的所有库都将位于自定义根卷的新克隆副本上。为什么我没有想到这一点:)我可以从存储的数据创建AMI吗?所以每次,我都想关闭实例,创建一个AMI,它将存储所有的数据+库,然后从该AMI启动一个新实例?可能吗?aws对创建AMI收费吗。再次感谢您的帮助。每次从AMI启动时,创建AMI时机器EBS卷上的所有内容都将在那里。AMI是免费的,但是您会为支持它们的快照收取EBS快照存储费用。请记住,如果您删除AMI,也会删除快照。每个EBS卷都将有一个快照。