Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
413 views
in Technique[技术] by (71.8m points)

amazon ec2 - EC2: EBS device id confusion (/dev/sdf vs. /dev/xvdf)

I attached an EBS volume to my EC2 instance, turned it into a EXT3 file system, and successfully mounted it. However, I was thrown off a little bit initially mainly due to what the AWS console said my EBS device ID was.

According to the AWS console:

i-xxxxxxx :/dev/sdf (attached)

I took this to mean that my attached EBS device id was /dev/sdf. So when I attempted to turn the device into a file system using this device id, I received the following error message.

ubuntu@ip-xx-xx-xx-xx:~$ mkfs -t ext3 /dev/sdf
mke2fs 1.42 (29-Nov-2011)
Could not stat /dev/sdf --- No such file or directory
The device apparently does not exist; did you specify it correctly?

Then after researching a little bit, I found this article and then subsequently found out by running cat /proc/partitions that my true device id was /dev/xvdf not /dev/sdf.

My question is why is the AWS console saying it's /dev/sdf when it's actually /dev/xvdf? I think there has to be some kind of logical explanation for this.

question from:https://stackoverflow.com/questions/12102551/ec2-ebs-device-id-confusion-dev-sdf-vs-dev-xvdf

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

AWS provides the following message/warning when attaching a volume via the AWS Management Console:

Note: Newer linux kernels may rename your devices to /dev/xvdf through /dev/xvdp internally, even when the device name entered here (and shown in the details) is /dev/sdf through /dev/sdp.

I don't have any upstream source for this information handy, but Jay Rum's answer to the (not longer relevant) temporary problem EBS Disks starting as device /dev/xvde, but mapped as /dev/sda attributes this functionality to the xen-blkfront driver:

The "xen-blkfront" driver, which allows the virtual machines (i.e. the EC2 instances) to access the underlying block devices, traditionally mapped sda, sdb... to xvda, xvdb..., [...]

Finally, cyberx86' answer to How do I access the attached volume in Amazon EC2 provides a detailed and illustrated explanation of this device naming mismatch and how to deal with it, i.e. identify the currently available devices etc.

Note: This question had already been answered in Aug 24 '12, but that answer with 6 upvotes got deleted in May 01 '13 by the Community Moderator (i.e. a resp. automation process) for non transparent reasons (apparently because the User was removed) - anyway, I've added back a slight variation of the original content from my point of view.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...