我正在遵循此处的介绍说明:http : //docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html
当我添加 EBS 卷时,我在检查 EC2 实例时看到一些乱码:
[ec2-user@ip-10-0-0-32 var]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
ââxvda1 202:1 0 8G 0 part /
xvdf 202:80 0 10G 0 disk
[ec2-user@ip-10-0-0-32 var]$ lsblk | xxd
0000000: 4e41 4d45 2020 2020 4d41 4a3a 4d49 4e20 NAME MAJ:MIN
0000010: 524d 2053 495a 4520 524f 2054 5950 4520 RM SIZE RO TYPE
0000020: 4d4f 554e 5450 4f49 4e54 0a78 7664 6120 MOUNTPOINT.xvda
0000030: 2020 2032 …Run Code Online (Sandbox Code Playgroud) 我想使用 python boto 库启动一个 EC2 实例,并附加一个先前创建的 EBS 卷(除了根卷)。
连接后,我通过名称标签查找卷,并尝试创建包含该卷的块设备列表。我遇到了各种错误,但最终创建了以下代码,该代码至少成功启动了一个实例。
volumes=conn.get_all_volumes(filters={'tag:Name':'TestVolume'})
vol=volumes[0]
print repr(vol)
disks=ec2.blockdevicemapping.BlockDeviceMapping()
xvdf=ec2.blockdevicemapping.BlockDeviceType(volume_id=vol.id,
size=vol.size,volume_type=vol.type)
disks['/dev/xvdf']=xvdf
base_image="ami-9a562df2" #ubuntu 14.04
reservation=conn.run_instances(
base_image,
instance_type="t2.micro",
block_device_map=disks)
Run Code Online (Sandbox Code Playgroud)
打印语句显示它能够查找卷并报告正确的卷 ID。但是,当实例启动时,会创建一个新的未格式化的 32GB 卷并将其附加到该卷。
我很难找到说明这一点的文档。将特定 EBS 卷添加到 block_device_map 的正确方法是什么?