![如何在 Amazon EC2 中使用“实例存储卷”存储?](https://linux22.com/image/597412/%E5%A6%82%E4%BD%95%E5%9C%A8%20Amazon%20EC2%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E2%80%9C%E5%AE%9E%E4%BE%8B%E5%AD%98%E5%82%A8%E5%8D%B7%E2%80%9D%E5%AD%98%E5%82%A8%EF%BC%9F.png)
根据 AWS 的说法,我使用中型 EC2 服务器获得了 850 GB 的存储空间。但是当我创建 Amazon Linux AMI 时,我无法使用提供的 850 GB。
在创建时确实显示存储设备配置在实例存储卷它的设备将位于 /dev/sdb,但是当我启动虚拟机时,我只找到 /dev/sda1。
您能帮我安装这个存储吗?谢谢
此外,当亚马逊声称实例存储不适合长期使用并且应该优先使用 EBS 时,那么这 850 GB 有什么意义呢?
谢谢
答案1
使用实例本地存储(实例停止时不持久)非常简单:这是一块非常大的空间,可用于临时存储。它们是安装到 的完美目标/tmp
,如果您的服务器临时处理非常大的文件,则非常有用。
例如,如果您正在构建一组实例来对上传的视频文件进行语音到文本的翻译,那么实例本地存储就是您想要放置正在处理的文件的地方。在处理文件时,它可能会在那儿停留几个小时,但一旦完成,就可以删除它并占用另一个。您不需要 EBS 来实现这一点,而且它是一种很多与 EBS 相比,在本地实例中运行这种存储更便宜。
实例本地存储旨在用作运行处理的临时空间,而不是长期存储。如果您的工作负载不使用临时空间,或者它所需的空间太小而无足轻重,那么它就不适合您。
答案2
如果它尚未安装在 /mnt 下,并且尚未创建文件系统,则执行以下操作:
检查设备名称
sudo fdisk -l
创建要挂载卷的目录
sudo mkdir /mnt
在您的卷上创建文件系统(确保您选择了正确的卷,因为这会在该卷上创建一个新的文件系统)
sudo mkfs.ext4 /dev/xvdj
装载卷
sudo mount -t ext4 /dev/xvdj /mnt
如果要在重启后保留挂载,请打开 /etc/fstab 并将挂载添加到其中
回显“ / dev / xvdj / mnt auto noatime 0 0” | sudo tee -a / etc / fstab
通过挂载所有文件确保 fstab 没有问题
安装 -a
答案3
我为 Ubuntu 创建了一个脚本,可以在启动时和启动/停止循环后运行,因为在 AWS 世界中,这是两个非常不同的事情。重新启动时,您仍然拥有相同的临时磁盘,您所要做的就是挂载(/etc/fstab 应该会自动处理这个问题),但是当实例停止然后重新启动时,您会得到一个新的未格式化的临时磁盘,需要更多的爱才能准备好使用。只要您的 /etc/fstab 条目正确,您可以随时运行它,它将根据需要挂载/格式化设备。它将接受挂载点的参数,但如果未提供,它将假定 /mnt 您可以调用脚本 mount_ephemeral.sh 并在启动服务中以 root 身份运行。
#!/bin/sh
set -e
mountPoint=${1:-'/mnt'}
rawDevice=$(grep "\s$mountPoint\s" /etc/fstab |cut -f1)
#echo checking $mountPoint on $rawDevice
[ "$rawDevice" = "" ] && { echo -e "$mountPoint not in /etc/fstab"; exit 1; }
mountpoint -q $mountPoint
[ "$?" = "0" ] && { echo -e "$mountPoint mounted"; exit; }
hasFS=$(blkid |grep $rawDevice)
[ ! "$hasFS" = "" ] && { echo -e "$mountPoint has FS:$hasFS"; mount $mountPoint; exit; }
echo initializing $mountPoint on $rawDevice
mkdir -p $mountPoint
mkfs.ext4 $rawDevice
mount $mountPoint
chmod 777 $mountPoint
exit 0
答案4
实例存储的挂载也依赖于镜像:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/add-instance-store-volumes.html
启动实例时,默认块储存设备映射由指定的 AMI 提供。如果您需要额外的实例存储卷,则必须在启动实例时将它们添加到实例中。请注意,您也可以忽略 AMI 块储存设备映射中指定的设备。
一些图像将使用所有可用资源。