Amazon EBS 卷可用于 Linux

将 Amazon EBS 卷附加到您的实例后,它会作为块设备公开。您可以使用任何文件系统格式化卷,然后安装它。使 EBS 卷可供使用后,您可以像访问任何其他卷一样访问它。写入此文件系统的任何数据都会写入 EBS 卷,并且对使用该设备的应用程序是透明的。

您可以拍摄 EBS 卷的快照以用于备份目的或在创建另一个卷时用作基准。有关更多信息,请参阅Amazon EBS 快照

您可以从Amazon EC2 User Guide for Windows Instances 中的Make a volume available for use on Windows中获取有关 Windows 实例上的卷的说明

格式化并挂载附加卷

假设您有一个 EC2 实例,其根设备有一个 EBS 卷 /dev/xvda,并且您刚刚使用 将一个空的 EBS 卷附加到该实例/dev/sdf使用以下过程使新附加的卷可供使用。

在 Linux 上格式化和挂载 EBS 卷

  1. 使用 SSH 连接到您的实例。有关更多信息,请参阅连接到您的 Linux 实例

  2. 设备可以使用与您在块储存设备映射中指定的设备名称不同的设备名称附加到实例。更多信息请参见Linux 实例上的设备名称使用 lsblk命令查看可用磁盘设备及其安装点(如果适用)以帮助您确定要使用的正确设备名称。lsblk的输出/dev/从完整设备路径中删除前缀。

    以下是在Nitro System上构建的实例的示例输出,它将 EBS 卷公开为 NVMe 块设备。根设备是/dev/nvme0n1附加的卷是/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附加的卷是/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
  3. 确定卷上是否有文件系统。新卷是原始块设备,您必须在其上创建文件系统,然后才能挂载和使用它们。从快照创建的卷上可能已经有一个文件系统;如果您在现有文件系统之上创建新文件系统,该操作将覆盖您的数据。

    使用以下一种或两种方法来确定卷上是否存在文件系统:

    • 使用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列显示每个设备的文件系统类型。如果特定设备的列为空,则表示该设备没有文件系统。在这种情况下,nvme1n1,nvme0n1都使用 XFS 文件系统进行格式化,而nvme2n1 没有文件系统。

       
      NAME		FSTYPE	LABEL	UUID						MOUNTPOINT
      nvme1n1	        xfs		7f939f28-6dcc-4315-8c42-6806080b94dd
      nvme0n1
      ├─nvme0n1p1	xfs	    /	90e29211-2de8-4967-b0fb-16f51a6e464c	        /
      └─nvme0n1p128
      nvme2n1

    如果这些命令的输出显示设备上没有文件系统,则必须创建一个。

  4. (有条件)如果您在上一步中发现设备上存在文件系统,请跳过此步骤。如果您有一个空卷,请使用mkfs -t命令在该卷上创建文件系统。

    警告

    如果您正在挂载已经有数据的卷(例如,从快照创建的卷),请不要使用此命令。否则,您将格式化卷并删除现有数据。

     
    [ec2-user ~]$ sudo mkfs -t xfs /dev/xvdf

    如果出现mkfs.xfs未找到的错误,请使用以下命令安装 XFS 工具,然后重复前面的命令:

     
    [ec2-user ~]$ sudo yum install xfsprogs
  5. 使用mkdir命令为卷创建挂载点目录。挂载点是卷在文件系统树中的位置,也是挂载卷后读取和写入文件的位置。以下示例创建一个名为/data.

     
    [ec2-user ~]$ sudo mkdir /data
  6. 使用以下命令将卷挂载到您在上一步中创建的目录中。

     
    [ec2-user ~]$ sudo mount /dev/xvdf /data
  7. 检查新卷挂载的文件权限,以确保您的用户和应用程序可以写入该卷。有关文件权限的更多信息,请参阅文件安全Linux 文档项目中

  8. 重启实例后,挂载点不会自动保留。要在重启后自动挂载此 EBS 卷,请参阅重启后自动挂载附加卷

重启后自动挂载附加卷

要在每次系统重新启动时挂载附加的 EBS 卷,请将设备条目添加到/etc/fstab文件中。

您可以使用设备名称,例如/dev/xvdf, in /etc/fstab,但我们建议改用设备的 128 位通用唯一标识符 (UUID)。设备名称可以更改,但 UUID 会在分区的整个生命周期中保持不变。通过使用 UUID,您可以减少系统在硬件重新配置后无法启动的可能性。有关更多信息,请参阅识别 EBS 设备

重新启动后自动挂载附加卷

  1. (可选)为您的/etc/fstab文件创建一个备份,如果您在编辑时不小心破坏或删除了该文件,您可以使用该备份

     
    [ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig
  2. 使用blkid命令查找设备的 UUID。记下您要在重启后挂载的设备的 UUID。您将在以下步骤中需要它。

    例如,以下命令显示有两个设备安装到实例,并显示两个设备的 UUID。

     
    [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
  3. /etc/fstab使用任何文本编辑器打开文件,例如 nanovim

     
    [ec2-user ~]$ sudo vim /etc/fstab
  4. 添加以下条目以/etc/fstab在指定的挂载点挂载设备。这些字段是blkid (或lsblk对于 Ubuntu 18.04)返回的 UUID 值、挂载点、文件系统和推荐的文件系统挂载选项。有关必填字段的更多信息,请运行man fstab以打开fstab手册。

    在下面的示例中,我们将带有 UUID 的设备挂载 aebf131c-6957-451e-8d34-ec978d9581ae到挂载点,/data 并使用xfs文件系统。我们也使用defaults和 nofail标志。我们指定0防止文件系统被转储,我们指定2表明它是一个非root设备。

     
    UUID=aebf131c-6957-451e-8d34-ec978d9581ae  /data  xfs  defaults,nofail  0  2
    笔记

    如果您在没有附加此卷的情况下启动您的实例(例如,在将卷移动到另一个实例之后),则nofail即使在安装卷时出现错误安装选项也会使实例启动。Debian 衍生产品,包括早于 16.04 的 Ubuntu 版本,也必须添加 nobootwaitmount 选项。

  5. 要验证您的条目是否有效,请运行以下命令卸载设备,然后将所有文件系统挂载到/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
posted on 2021-06-27 14:27  卖小女孩的小男孩  阅读(100)  评论(0)    收藏  举报