如何配置 Xen 映像以在具有不同驱动器名称的 EC2 上运行?

如何配置 Xen 映像以在具有不同驱动器名称的 EC2 上运行?

我正在创建一些 Amazon 机器映像 (AMI),这些映像将在我们的 Xen 映像的基础上上传和运行。但是,我遇到了一些问题,这些平台在 EC2 上运行时分配的驱动器名称与我们在本地运行映像时 Xen 命名的名称不同。

例如,在本地运行的 SUSE 下我们看到以下内容:

brw-rw---- 1 根磁盘 202,1 月 30 日 07:49 xvda1
brw-rw---- 1 根磁盘 202,2 月 30 日 07:49 xvda2
brw-rw---- 1 根磁盘 202,3 月 30 日 07:49 xvda3

亚马逊提供的图像在 t1.micro 上运行时报告以下内容:

brw-rw---- 1 根磁盘 8,1 月 30 日 13:18 sda1

我如何准备我的 Xen 镜像,以便我们使用ec2-bundle-image是否会自动选择正确的磁盘名称?

答案1

最好的方法是不要使用实际名称来引用驱动器,而是使用文件系统 UUID 或标签。它们分别在和中显示/dev/disk/by-uuid,并可以使用或语法/dev/disk/by-label指定:/etc/fstabUUID=LABEL=

UUID=e6c4e981-ce1d-423e-9f23-167f8b370021   /   ext4    defaults    0   0

这对于引导加载程序中配置的内核参数也是可接受的root=,因此使用 GRUB1 例如:

kernel  /vmlinuz-3.2.0-31-virtual root=UUID=e6c4e981-ce1d-423e-9f23-167f8b370021 ro

GRUB2 和一些修补过的 GRUB1 版本支持使用 UUID 来查找包含 的分区/boot。但这应该不是问题,因为引导加载程序不会以不同的方式命名虚拟磁盘。

相关内容