根据AWS的说法,中型EC2服务器具有850 GB的存储空间。但是当我创建Amazon Linux AMI时,无法使用所提供的850 GB。
创建它时,确实在实例存储卷的存储设备配置中显示了它的设备将位于/ dev / sdb,但是当我启动VM时,我只是找到了/ dev / sda1。
您能帮我安装此存储吗?谢谢
另外,当亚马逊声称实例存储对于长期使用不安全并且应该优先使用EBS时,那么这850 GB的意义何在?
谢谢
根据AWS的说法,中型EC2服务器具有850 GB的存储空间。但是当我创建Amazon Linux AMI时,无法使用所提供的850 GB。
创建它时,确实在实例存储卷的存储设备配置中显示了它的设备将位于/ dev / sdb,但是当我启动VM时,我只是找到了/ dev / sda1。
您能帮我安装此存储吗?谢谢
另外,当亚马逊声称实例存储对于长期使用不安全并且应该优先使用EBS时,那么这850 GB的意义何在?
谢谢
Answers:
使用实例本地存储在实例停止时不是持久性的,这非常简单:这是一个很大的空间,可用于临时事物。它们是安装到的理想目标,/tmp
如果您的服务器临时处理非常大的文件,它们将非常有用。
例如,如果您要构建一组实例来对上载的视频文件进行语音到文本的转换,则本地实例存储就是您要放入处理中文件的东西。在处理文件的过程中,它可能会存在几个小时,但是一旦完成,便可以将其删除,并占用另一个文件。您不需要EBS,并且在实例本地而不是EBS之外运行这种存储要便宜得多。
实例本地存储旨在用作运行处理的暂存空间,而不是长期存储。如果您的工作负载不占用任何暂存空间,或者所需的资源太小而不重要,那么它就不适合您。
如果尚未将其挂载在例如/ mnt下,并且尚未创建文件系统,请执行以下操作:
检查设备名称
须藤fdisk -l
将目录建立到您要挂载卷的位置
须藤mkdir / mnt
在卷上创建文件系统(确保选择正确的卷,因为这将在卷上创建新的文件系统)
须藤mkfs.ext4 / dev / xvdj
挂载量
须藤挂载-t ext4 / dev / xvdj / mnt
如果要在重新启动后保留挂载,请打开/ etc / fstab并将挂载添加到其中
echo“ / dev / xvdj / mnt auto noatime 0 0” | sudo tee -a / etc / fstab
通过挂载所有文件来确保fstab没问题
挂载-a
fdisk -l
lsblk
。
lsblk -f
这是查找磁盘卷的最佳方法-挂载的所有卷都将显示挂载路径,并显示卷的标签(建议在Linux上挂载文件系统时使用UUID或标签)。
我为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
/mnt
用作卷的安装点,因为约定是/mnt/foo
每个卷都使用的约定。如果您必须在某个时候挂载另一个卷/mnt/bar
,那意味着/mnt
在/mnt/bar
挂载时无法卸载卷。grep
如果您正在使用,/mnt
并且有诸如这样的挂载点,则这很危险/mnt/foo
,因为它/mnt
可以匹配多行-因此该脚本在某些情况下可能会挂载或mkfs错误的磁盘。
\b
但使用YMMV。这/mnt
只是您可以更改自己的默认设置,仅作为示例。另外,您可以将参数传递给脚本,它将使用该安装点代替。我要添加set -e
以便所有失败都将终止整个脚本
\b
为\s
实例存储的安装还取决于映像:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/add-instance-store-volumes.html
启动实例时,默认的块设备映射由指定的AMI提供。如果需要其他实例存储卷,则必须在启动实例时将它们添加到实例中。请注意,您也可以省略在AMI块设备映射中指定的设备。
一些图像将使用所有可用资源。