Amazon ec2 boto和连接ebs到ec2…现在怎么办?

Amazon ec2 boto和连接ebs到ec2…现在怎么办?,amazon-ec2,boto,Amazon Ec2,Boto,我已经使用下面的方法使用boto将卷连接到ec2。我正在使用ubuntu 12.04 region_id=boto.ec2.get_region(region,aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key) conn = ec2.connection.EC2Connection(region=region_id,aws_access_key_id=aws_access_ke

我已经使用下面的方法使用boto将卷连接到ec2。我正在使用ubuntu 12.04

region_id=boto.ec2.get_region(region,aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)
    conn = ec2.connection.EC2Connection(region=region_id,aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key)
    vol = conn.create_volume(gigs,placement)
    vol.attach(intsance_id, '/dev/sdh')
我不是驾驶方面的专家。我想把它用在mongo上。我假设我必须登录实例并准备EBS。我的问题是怎么做?我试过下面的方法

grep -q xfs /proc/filesystems || sudo modprobe xfs
sudo mkfs.xfs /dev/sdh
sudo mkfs.xfs /dev/sdh
/dev/sdh: No such file or directory

它可能没有作为/dev/sdh/连接。试着做:

$ sudo fdisk -l

要找到正确的设备名称。

在最近的Ubuntu机器上,设备会映射到
/dev/xvdX
。在您的情况下,应该是
/dev/xvdh
。尝试使用此设备id创建文件系统,然后将其装载

首先是你附加广告的方式和额外不必要的步骤。因此,将其作为/dev/sdh1进行连接,下面的操作将起作用。否则,还需要使用fdisk在磁盘上创建分区

实例启动后,您需要在设备上创建一个文件系统,然后装载它

mount -t xfs /dev/md0 /mnt/more_storage
/dev/md0    /mnt/more_storage xfs     defaults,noatime  0   0
看起来像这样

创建xfs文件系统的步骤

mkfs.xfs -f /dev/xvdh1
要装载(将新文件系统附加到目录):

最后,如果您想在下次重新启动时看到这一点,您需要在/etc/fstab中添加如下内容

/dev/xvdh1    /mnt/more_storage xfs     defaults,noatime  0   0
本例使用xfs,您可以选择ext3/ext4或任何您喜欢的

目录/mnt/more_存储可以是系统上的任何空目录。在运行mount命令之前,目录必须存在,并且必须为空。它也可以是/var/mongo/data

不过,正如你所说,这是为mongo设计的,我将提出进一步的建议。把你需要的空间至少分成5块,但可能是8块或10块。因此,如果您需要100GB,请创建5个EBS卷(每个20GB)或10个10GB卷。然后像最初那样附加它们,不指定分区号或/dev/sdh。因此,例如,我将坚持使用5来节省键入,尽管有些地方大约8将为您提供最佳吞吐量。现在您已经附加了/dev/sdh、/dev/sdi、/dev/sdj、/dev/sdk和/dev/sdl

现在,您需要从上面开始执行一个额外步骤,跨这些EBS卷创建条带化raid

mdadm --create --verbose /dev/md0 --level=0 --raid-device=5 /dev/xvdh /dev/xvdi /dev/xvdj /dev/xvdk /dev/xvdl
这将创建一个位于/dev/md0的新设备。现在,在上面的示例中将/dev/xvdh1替换为/dev/md0,并创建文件系统并装载它

mount -t xfs /dev/md0 /mnt/more_storage
/dev/md0    /mnt/more_storage xfs     defaults,noatime  0   0
您还希望此功能在重新启动后工作,因此需要以下命令:

echo "DEVICE /dev/xvdh /dev/xvdi /dev/xvdj /dev/xvdk /dev/xvdl" >> /etc/mdadm.conf
mdadm --detail --scan >> /etc/mdadm.conf
echo "/dev/md0    /mnt/more_storage xfs     defaults,noatime  0   0" >> /etc/fstab