我试图build立一个基于“debian-6.0-squeeze-64bit-minimal-pvgrub-20110222-05(ami-1e39ca77)”的新映像,并且它似乎缺less临时磁盘:
fdisk -l仅显示/ dev / xvda1(ebs根设备),并且块设备映射不显示本地磁盘。
GET http://169.254.169.254/latest/meta-data/block-device-mapping/ ami
实例types是m1.xlarge,带有4个本地磁盘:
echo $(GET http://169.254.169.254/latest/meta-data/instance-type) m1.xlarge
任何想法?
如果从EBS根AMI启动实例,则在绝大多数情况下,默认情况下不会附加临时存储。
可用于m1.xlarge的临时磁盘被标记为临时[0-3],每个磁盘都有420GiB。 启动后,您不能将这些附加到实例上。 (另一方面,您可以在运行时将EBS卷添加到实例中)。
为了更改连接到实例的临时磁盘,您需要:
启动显式指定临时磁盘映射的实例
ec2-run-instances ami-1e39ca77 -b /dev/xvdb=ephemeral0 -b /dev/xvdc=ephemeral1 -b /dev/xvdd=ephemeral2 -b /dev/xvde=ephemeral3
注册新的AMI,明确指定临时磁盘映射
ec2-register -n Image_Name -d Image_Description --root-device-name /dev/xvda1 -b /dev/xvda1=snap-5241973e -b /dev/xvdb=ephemeral0 -b /dev/xvdc=ephemeral1 -b /dev/xvdd=ephemeral2 -b /dev/xvde=ephemeral3
这个例子是使用AMI所基于的快照作为根映像。 如果您对根卷进行了更改,那么您当然会使用自己的快照。
请注意,在这两种情况下,块设备将不会自动挂载(除非您修改了fstab),但它们将立即显示在/proc/partitions
(或使用fdisk -l
)。
m1.xlarge有四个420GiB临时磁盘可用,但默认情况下在大多数AMI上只有一个被连接,格式化和挂载。
您需要使用块设备映射选项在运行时将其他临时存储器附加到新实例,然后在裸设备上创build文件系统,然后挂载文件系统。
亚马逊的更多信息:
http://docs.amazonwebservices.com/AWSEC2/latest/UserGuide/index.html?InstanceStorage.html
顺便说一句,在我的情况下,我不得不使用/ dev / sdX设备名称,否则实例将不会启动并立即终止。 我也不需要重新映射根设备,所以我用“-s”来表示根设备的音量。 虽然我不得不使用/ dev / sdX,但是在我的Debian Squeeze 6.0.3 EBS支持的EC2 AMI中显示为/ dev / xvdX。
ec2-register -n Image_Name -d Image_Description -s snapId_num -b /dev/sda1=snap-5241973e -b /dev/sdb=ephemeral0 -b /dev/sdc=ephemeral1 -b /dev/sdd=ephemeral2 -b /dev/sde=ephemeral3