大螃嗨

好记性不如烂笔头

用户工具

站点工具


linux挂载磁盘

https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/ebs-using-volumes.html

在 Linux 上格式化并挂载 EBS 卷

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

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

以下是基于 Nitro 的实例的示例输出,输出将 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

确定卷上是否存在文件系统。新卷为原始的块储存设备,您必须先在这种设备上创建文件系统,然后才能够装载并使用它们。从快照还原的卷可能已经含有文件系统;如果您在现有的文件系统上创建新的文件系统,则该操作将覆盖您的数据。

使用 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)

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

警告

如果要装载已具有数据的磁盘(例如,通过快照还原的磁盘),请勿使用此命令。否则,您会格式化卷并删除现有数据。

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

使用 mkdir 命令创建卷的挂载点目录。装载点是卷在文件系统树中的位置,以及您在安装卷之后读写文件的位置。下面的示例创建一个名为 /data 的目录。

[ec2-user ~]$ sudo mkdir /data

使用以下命令在您在上一步中创建的目录挂载卷。

[ec2-user ~]$ sudo mount /dev/xvdf /data

检查新卷装载的文件权限,确保您的用户和应用程序可以向该卷写入数据。有关文件权限的更多信息,请参阅 Linux 文档项目 文件安全性。

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

重启后自动挂载附加卷

(可选)创建 /etc/fstab 文件的备份,以便在编辑时误损坏或删除此文件时使用。

[ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig

使用 blkid 命令查找设备的 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"

使用任何文本编辑器(如 nano 和 vim)打开 /etc/fstab 文件。

[ec2-user ~]$ sudo vim /etc/fstab

将以下条目添加到 /etc/fstab 以在指定的挂载点挂载设备。这些字段是 blkid 返回的 UUID 值、挂载点、文件系统和建议的文件系统挂载选项。有关更多信息,请参阅 fstab 的手册页面(运行 man fstab)。

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
linux挂载磁盘.txt · 最后更改: 2019/03/04 06:27 由 螃蟹