tom*_*m-g 3 amazon-ec2 amazon-web-services ec2-ami
我在启动 EC2 实例并在单个命令中增加根分区的大小时遇到了困难aws ec2 run-instances:
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 } } ]"
Run Code Online (Sandbox Code Playgroud)
实例启动,我可以在控制台中看到列出的新 120GB 卷(虽然不是 root),但随后实例立即停止(不终止)。我已经尝试按照这些约定重命名 DeviceName 属性,这是一个临时实例,我将要启动、执行操作,然后终止。也许我需要先运行create-volume,然后用一系列单独的命令附加它?AWS 文档似乎到处都是,我找不到明确的解释,尽管我在这里和这里找到了一些链接。This SO question建议调整分区大小,但我不确定这是否是我需要做的。据我所知,m3.2xlarge实例类型有 EBS 可用。我是否错误地命名了分区?此配置中的某些内容是否导致实例停止?
编辑
实例自行停止后,我收到以下响应作为对以下内容的响应describe-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
Run Code Online (Sandbox Code Playgroud)
我认为您遇到了与此 SO 问题相同的问题:
您的实例是 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 } } ]"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1738 次 |
| 最近记录: |