Amazon web services AWS EC2-使用运行实例连接更大的卷
使用Amazon web services AWS EC2-使用运行实例连接更大的卷,amazon-web-services,amazon-ec2,ec2-ami,Amazon Web Services,Amazon Ec2,Ec2 Ami,使用aws EC2 run instances,我很难启动EC2实例并在单个命令中增加根分区的大小: aws ec2 run-instances \ --image-id ami-0b33d91d \ --count 1 \ --instance-type m3.2xlarge \ --key-name my_key \ --security-group-ids "sg-xxxxxxx" \ --ebs-optimized \ --block-device-mapping "[ { \"Devi
aws EC2 run instances
,我很难启动EC2实例并在单个命令中增加根分区的大小:
aws ec2 run-instances \
--image-id ami-0b33d91d \
--count 1 \
--instance-type m3.2xlarge \
--key-name my_key \
--security-group-ids "sg-xxxxxxx" \
--ebs-optimized \
--block-device-mapping "[ { \"DeviceName\": \"/dev/sda1\", \"Ebs\": { \"VolumeSize\": 120 } } ]"
实例启动后,我可以在控制台中看到新的120GB卷(虽然不是根卷),但实例立即停止(而不是终止)。我已尝试根据重命名DeviceName属性,这是一个临时实例,我将启动它,执行一些操作,然后终止。也许我需要先运行create volume
,然后用一系列单独的命令附加它?AWS文档似乎到处都是,我找不到一个明确的解释,尽管我遇到了一些链接和链接。建议调整分区大小,但我不确定这是否是我需要做的。据我所知,m3.2xlarge
实例类型有EBS可用。我对分区的命名有误吗?此配置中是否有东西导致实例停止
编辑
在实例自身停止后,作为对descripe instances
的响应的一部分,我得到以下信息:
"BlockDeviceMappings": [
{
"DeviceName": "/dev/xvda",
"Ebs": {
"Status": "attached",
"DeleteOnTermination": true,
"VolumeId": "vol-xxxx",
"AttachTime": "2017-03-05T00:57:23.000Z"
}
},
{
"DeviceName": "/dev/sda1",
"Ebs": {
"Status": "attached",
"DeleteOnTermination": true,
"VolumeId": "vol-xxxx",
"AttachTime": "2017-03-05T00:57:23.000Z"
}
}
],
"Architecture": "x86_64",
"StateReason": {
"Message": "Client.InstanceInitiatedShutdown: Instance initiated shutdown",
"Code": "Client.InstanceInitiatedShutdown"
},
"RootDeviceName": "/dev/xvda",
"VirtualizationType": "hvm",
"AmiLaunchIndex": 0
我认为您遇到了与此问题相同的问题: 您的实例是一个HVM实例,希望使用
/dev/xvda
作为根设备。但是,您正在指定/dev/sda1
。这是(a)创建一个辅助卷,但是(b)阻止实例启动,因为这是一个与PV相关的设备,而不是HVM
因此,作为解决方案,使用/dev/xvda
作为设备名称。与以下命令行类似:
aws ec2 run-instances \
--image-id ami-0b33d91d \
--count 1 \
--instance-type m3.2xlarge \
--key-name my_key \
--security-group-ids "sg-xxxxxxx" \
--ebs-optimized \
--block-device-mapping "[ { \"DeviceName\": \"/dev/xvda\", \"Ebs\": { \"VolumeSize\": 120 } } ]"
如果省略
--block device mapping
命令参数,实例是否正确启动?(所有其他参数保持不变)。另外,对于停止的实例,“状态转换原因”是怎么说的?@MattHouser感谢您的回答。实例启动时没有--block设备映射。状态转换原因为空,即“”状态转换原因“:”
。实例自身停止后,StateReason属性将读取:“StateReason”:{“Message”:“Client.instanceInitiatedShutton:实例启动的关机”,“code”:“Client.instanceInitiatedShutton”},
。非常混乱,似乎实例正在自行关闭。为了更好的衡量,我将在我的问题的编辑中发布更多的回复。因此操作系统可能会触发关机。查看实例控制台日志,查看是否有提及的内容。也可以尝试使用/dev/xvda
而不是/dev/sda1
@MattHouser。先生,你是个天才,谢谢你。我没有意识到PV与HVM(准虚拟与硬件虚拟)的区别。对于阅读本文的任何人来说,这是一个相当不错的解释,说明了这种差异以及在选择实例类型时应该注意的事项。谢谢