本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
让 Amazon EBS 卷可供使用
将 Amazon EBS 卷连接到您的实例后,该卷将作为块储存设备公开。您可以使用任何文件系统将卷格式化,然后进行挂载。使该EBS卷可供使用后,您可以像访问任何其他卷一样访问该卷。写入该文件系统的所有数据都将写入该EBS卷,并且对使用该设备的应用程序是透明的。
您可以为EBS卷拍摄快照以进行备份,也可以在创建另一个卷时用作基准。有关更多信息,请参阅 亚马逊EBS快照。
如果您准备使用的EBS卷大于 2 TiB,则必须使用GPT分区方案来访问整个卷。有关更多信息,请参阅 Amazon 的EBS交易量限制。
格式化并挂载附加的卷
假设您有一个带有根设备EBS卷的EC2实例/dev/xvda
,并且您刚刚使用将一个空EBS卷连接到该实例/dev/sdf
。按照以下过程使新附加的卷可用。
在 Linux 上格式化并装入EBS卷
-
使用连接到您的实例SSH。有关更多信息,请参阅连接到您的 Linux 实例。
-
设备可附加到设备名称与您在块储存设备映射中指定的设备名称不同的实例。有关更多信息,请参阅 Linux 实例上的设备名称。使用 lsblk 命令可查看可用磁盘设备及其挂载点(如果适用),以帮助您确定要使用的正确设备名称。lsblk 的输出从完整的设备路径中去掉了
/dev/
前缀。以下是基于 Nitro System 构建的实例的输出示例,该系统将EBS卷公开为NVMe块设备。根设备为
/dev/nvme0n1
,它有两个名为nvme0n1p1
和nvme0n1p128
。如果没有分区且尚未附加,则附加卷为/dev/nvme1n1
。[ec2-user ~]$
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 10G 0 disk nvme0n1 259:1 0 8G 0 disk -nvme0n1p1 259:2 0 8G 0 part / -nvme0n1p128 259:3 0 1M 0 part
以下是 T2 实例的示例输出。根设备为
/dev/xvda
,它有名为xvda1
的一个分区。如果没有分区且尚未附加,则附加卷为/dev/xvdf
。[ec2-user ~]$
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk -xvda1 202:1 0 8G 0 part / xvdf 202:80 0 10G 0 disk
-
确定卷上是否存在文件系统。新卷为原始的块储存设备,您必须先在这种设备上创建文件系统,然后才能够挂载并使用它们。从快照创建的卷可能已经含有文件系统;如果您在现有的文件系统上创建新的文件系统,则该操作将覆盖您的数据。
使用以下一种或两种方法来确定卷上是否有文件系统:
-
使用 file -s 命令获取有关特定设备的信息,例如其文件系统类型。如果输出仅显示
data
(如以下示例输出所示),则说明设备上没有文件系统。[ec2-user ~]$
sudo file -s
/dev/xvdf
/dev/xvdf: data
如果设备有文件系统,该命令会显示有关文件系统类型的信息。例如,以下输出显示了带有XFS文件系统的根设备。
[ec2-user ~]$
sudo file -s
/dev/xvda1
/dev/xvda1: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
-
使用 lsblk -f 命令获取有关连接到实例的所有设备的信息。
[ec2-user ~]$
sudo lsblk -f
例如,以下输出显示有三个设备连接到实例 –
nvme1n1
、nvme0n1
和nvme2n1
。第一列列出了设备及其分区。FSTYPE
列显示每个设备的文件系统类型。如果该列对于特定设备为空,则表示该设备没有文件系统。在这种情况下,设备nvme0n1p1
上的设备nvme1n1
和分区nvme0n1
都使用XFS文件系统进行格式化,而设备nvme0n1p128
上的设备nvme2n1
和分区nvme0n1
没有文件系统。NAME FSTYPE LABEL UUID MOUNTPOINT nvme1n1 xfs 7f939f28-6dcc-4315-8c42-6806080b94dd nvme0n1 ├─nvme0n1p1 xfs / 90e29211-2de8-4967-b0fb-16f51a6e464c / └─nvme0n1p128 nvme2n1
如果这些命令的输出显示设备上没有文件系统,则必须创建一个文件系统。
-
-
(有条件)如果您在上一步中发现设备上存在文件系统,请跳过此步骤。如果您有一个空卷,请使用 mkfs -t 命令在该卷上创建一个文件系统。
警告
如果要挂载已具有数据的卷(例如,从快照创建的卷),请勿使用此命令。否则,您会格式化卷并删除现有数据。
[ec2-user ~]$
sudo mkfs -t xfs
/dev/xvdf
如果您遇到未发现的错误,请使用以下命令安装XFS工具,然后重复前面的命令:
mkfs.xfs
[ec2-user ~]$
sudo yum install xfsprogs
-
使用 mkdir 命令创建卷的挂载点目录。挂载点是卷在文件系统树中的位置,以及您在安装卷之后读写文件的位置。下面的示例创建一个名为
/data
的目录。[ec2-user ~]$
sudo mkdir
/data
-
在您于上一步创建的挂载点目录中挂载卷或分区。
如果该卷没有分区,请使用以下命令并指定设备名称来挂载完整的卷。
[ec2-user ~]$
sudo mount
/dev/xvdf
/data
如果该卷有分区,请使用以下命令并指定分区名称来挂载分区。
[ec2-user ~]$
sudo mount
/dev/xvdf1
/data
-
检查新卷挂载的文件权限,确保您的用户和应用程序可以向该卷写入数据。有关文件权限的更多信息,请参阅 Linux 文档项目 文件安全性
。 -
重启实例后,挂载点不会自动保留。要在重新启动后自动装入此EBS卷,请执行以下步骤。
重启后自动挂载附加的卷
要在每次系统重启时挂载连接的EBS卷,请在/etc/fstab
文件中添加该设备的条目。
您可以在中使用设备名称,例如 /dev/xvdf
/etc/fstab
,但我们建议改用设备的 128 位通用唯一标识符 (UUID)。设备名称可以更改,但会在分区的整个生命周期中UUID持续存在。通过使用UUID,可以减少在硬件重新配置后系统变得无法启动的可能性。有关更多信息,请参阅 将 Amazon EBS 卷映射到NVMe设备名称。
重启后自动附加附加卷
-
(可选)创建
/etc/fstab
文件的备份,以便在编辑时误损坏或删除此文件时使用。[ec2-user ~]$
sudo cp /etc/fstab /etc/fstab.orig
-
使用blkid命令查找设备UUID的。记下您要UUID在重启后挂载的设备。在下一步中您将需要用到它。
例如,以下命令显示实例上装载了两台设备,并显示了这两台设备UUIDs的。
[ec2-user ~]$
sudo blkid
/dev/xvda1: LABEL="/" UUID="ca774df7-756d-4261-a3f1-76038323e572" TYPE="xfs" PARTLABEL="Linux" PARTUUID="02dcd367-e87c-4f2e-9a72-a3cf8f299c10" /dev/xvdf: UUID="aebf131c-6957-451e-8d34-ec978d9581ae" TYPE="xfs"
对于 Ubuntu 18.04,请使用 lsblk 命令。
[ec2-user ~]$
sudo lsblk -o +UUID
-
使用任何文本编辑器(如
/etc/fstab
和 nano)打开 vim 文件。[ec2-user ~]$
sudo vim /etc/fstab
-
将以下条目添加到
/etc/fstab
以在指定的挂载点挂载设备。这些字段是由blkid(或lsblk对于 Ubuntu 18.04)、挂载点、文件系统和推荐的文件系统挂载选项返回的UUID值。有关必填字段的更多信息,请运行man fstab
以打开 fstab 手册。在以下示例中,我们将设备挂载UUID
aebf131c-6957-451e-8d34-ec978d9581ae
到挂载点,/data
然后使用xfs
文件系统。我们还使用defaults
和nofail
标志。我们指定0
以防止文件系统被转储,并且我们指定2
以指示它是非根设备。UUID=
aebf131c-6957-451e-8d34-ec978d9581ae
/data
xfs
defaults,nofail 0 2注意
如果您要在未附加此卷的情况下启动实例(例如,将卷移动到另一个实例之后),
nofail
附加选项允许该实例即使在卷附加过程中出现错误时也可启动。Debian 衍生物(包括早于 16.04 的 Ubuntu 版本)还必须添加nobootwait
挂载选项。 -
要检查条目是否有效,请在
/etc/fstab
中运行以下命令以卸载设备,然后挂载所有文件系统。如果未产生错误,则说明/etc/fstab
文件正常,您的文件系统会在重启后自动挂载。[ec2-user ~]$
sudo umount
/data
[ec2-user ~]$
sudo mount -a
如果收到错误消息,请解决文件中的错误。
警告
/etc/fstab
文件中的错误可能显示系统无法启动。请勿关闭/etc/fstab
文件中有错误的系统。如果您无法确定如何更正
/etc/fstab
中的错误并且您在此过程的第一步中创建了一个备份文件,则可以使用以下命令从您的备份文件还原。[ec2-user ~]$
sudo mv /etc/fstab.orig /etc/fstab
使用以下任一方法在 Windows 实例上启用卷。