aws EC2相关内容

本文介绍了在Web服务器挂载磁盘并配置fstab实现重启自动挂载的方法,还说明了调整数据盘容量、扩展文件系统的操作步骤,包括标识卷的文件系统、扩展分区等。此外,讲解了ssh - add命令的语法、选项和实例,最后给出挂载硬盘问题的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

通过UserData在根目录创建文件夹:

 

在Web服务器挂载两个磁盘一个10G系统 盘,一个10G数据盘(挂载点/goclouds), 并配置fstab做重启自动挂磁盘:

(参考aws官方文档:https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/ebs-using-volumes.html)

使用以下命令在您在上一步中创建的目录挂载卷: sudo mount /dev/xvdf /data

重启后自动挂载附加卷

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

    [ec2-user ~]$ sudo cp /etc/fstab /etc/fstab.orig
  2. 使用 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"
  3. 使用任何文本编辑器(如 nano 和 vim)打开 /etc/fstab 文件。

    [ec2-user ~]$ sudo vim /etc/fstab
  4. 将以下条目添加到 /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 装载选项。

  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

调整数据盘从10G扩展至20G:

在console中点击你需要扩容的EC2实例,找到对应的磁盘

 

点击进入:

 

 

点击修改卷:

 

 修改卷大小后,需要通过命令扩展文件系统

(参考: https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html

查看对应的文件扩展系统命令:df - hT

根据对应的执行命令即可。本次实验是ext4,因此执行  sudo resize2fs /dev/xvdf1

标识卷的文件系统

要验证文件系统是否用于您实例上的每个卷,请连接到您的实例并运行 file -s 命令。

例 示例:基于 Nitro 的实例上的文件系统

以下示例显示了一个基于 Nitro 的实例,该实例具有带 XFS 文件系统的启动卷和带 XFS 文件系统的额外卷。

 

[ec2-user ~]$ sudo file -s /dev/nvme?n* /dev/nvme0n1: x86 boot sector ... /dev/nvme0n1p1: SGI XFS filesystem data ... /dev/nvme0n1p128: data /dev/nvme1n1: SGI XFS filesystem data ...

例 示例:T2 实例上的文件系统

以下示例显示了一个 T2 实例,该实例具有带 ext4 文件系统的启动卷和带 XFS 文件系统的额外卷。

 

[ec2-user ~]$ sudo file -s /dev/xvd* /dev/xvda: DOS/MBR boot sector .. /dev/xvda1: Linux rev 1.0 ext4 filesystem data ... /dev/xvdf: SGI XFS filesystem data ...

扩展分区(如果需要)

您的 EBS 卷可能有一个包含文件系统和数据的分区。增加卷的大小不会增加分区的大小。在调整大小后的卷上扩展文件系统之前,请检查卷是否具有必须扩展到卷的新大小的分区。

使用 lsblk 命令显示有关附加到实例的块储存设备的信息。如果调整大小后的卷有一个分区且该分区不反映卷的新大小,请使用 growpart 命令扩展该分区。有关扩展 LVM 分区的信息,请参阅扩展逻辑卷

例 示例:基于 Nitro 的实例上的分区

以下示例显示了基于 Nitro 的实例上的卷:

 

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 8G 0 part / └─nvme0n1p128 259:3 0 1M 0 part

  • 根卷 /dev/nvme0n1 具有一个分区 /dev/nvme0n1p1。当根卷的大小反映新大小 16 GB 时,分区的大小会反映原始大小 8 GB 并且必须先进行扩展,然后才能扩展文件系统。

  • 卷 /dev/nvme1n1 没有分区。卷的大小反映新大小 30 GB。

要在根卷上扩展分区,请使用以下 growpart 命令。请注意,设备名称和分区编号之间有空格。

 

[ec2-user ~]$ sudo growpart /dev/nvme0n1 1

您可以再次使用 lsblk 命令来验证分区是否反映增加的卷大小。

 

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT nvme1n1 259:0 0 30G 0 disk /data nvme0n1 259:1 0 16G 0 disk └─nvme0n1p1 259:2 0 16G 0 part / └─nvme0n1p128 259:3 0 1M 0 part

例 示例:T2 实例上的分区

以下示例显示了 T2 实例上的卷:

 

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 30G 0 disk └─xvdf1 202:81 0 8G 0 part /data

  • 根卷 /dev/xvda 具有一个分区 /dev/xvda1。当卷的大小为 16 GB 时,分区的大小仍为 8 GB 且必须进行扩展。

  • 卷 /dev/xvdf 具有一个分区 /dev/xvdf1。当卷的大小为 30G 时,分区的大小仍为 8 GB 且必须进行扩展。

要在每个卷上扩展分区,请使用以下 growpart 命令。请注意,设备名称和分区编号之间有空格。

 

[ec2-user ~]$ sudo growpart /dev/xvda 1 [ec2-user ~]$ sudo growpart /dev/xvdf 1

您可以再次使用 lsblk 命令来验证分区是否反映增加的卷大小。

 

[ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 16G 0 disk └─xvda1 202:1 0 16G 0 part / xvdf 202:80 0 30G 0 disk └─xvdf1 202:81 0 30G 0 part /data

扩展文件系统

可使用特定于文件系统的命令将每个文件系统调整为新的卷容量。有关此处显示的示例以外的文件系统,请参阅文件系统的文档以了解相关说明。

例 示例:扩展 ext2、ext3 或 ext4 文件系统

使用 df -h 命令验证每个卷的文件系统的大小。在此示例中,/dev/xvda1 和 /dev/xvdf 均反映卷的原始大小 8 GB。

 

[ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 8.0G 1.9G 6.2G 24% / /dev/xvdf1 8.0G 45M 8.0G 1% /data ...

使用 resize2fs 命令扩展每个卷上的文件系统。

 

[ec2-user ~]$ sudo resize2fs /dev/xvda1 [ec2-user ~]$ sudo resize2fs /dev/xvdf1

您可以再次使用 df -h 命令来验证每个文件系统是否反映增加的卷大小。

 

[ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 16G 1.9G 6.2G 12% / /dev/xvdf1 30G 45M 8.0G 1% /data ...

例 示例:扩展 XFS 文件系统

使用 df -h 命令验证每个卷的文件系统的大小。在此示例中,每个文件系统均反映原始卷大小 8 GB。

 

[ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 8.0G 1.6G 6.5G 20% / /dev/nvme1n1 8.0G 33M 8.0G 1% /data ...

要扩展 XFS 文件系统,请按以下方式安装 XFS 工具(如果尚未安装)。

 

[ec2-user ~]$ sudo yum install xfsprogs

使用 xfs_growfs 命令扩展每个卷上的文件系统。在此示例中,/ 和 /data 是 df -h 的输出中显示的卷挂载点。

 

[ec2-user ~]$ sudo xfs_growfs -d / [ec2-user ~]$ sudo xfs_growfs -d /data

您可以再次使用 df -h 命令来验证每个文件系统是否反映增加的卷大小。

 

[ec2-user ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/nvme0n1p1 16G 1.6G 15G 10% / /dev/nvme1n1 30G 33M 30G 1% /data ...

 

可以通过跳板机使用WEB服务器密钥访问到web服务器(上次演示过了,参考上次文章)

ssh-add命令

ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。该命令位置在/usr/bin/ssh-add。

语法

ssh-add [-cDdLlXx] [-t life] [file...]ssh-add -s pkcs11ssh-add -e pkcs11

选项

-D:删除ssh-agent中的所有密钥.

-d:从ssh-agent中的删除密钥

-e pkcs11:删除PKCS#11共享库pkcs1提供的钥匙。

-s pkcs11:添加PKCS#11共享库pkcs1提供的钥匙。

-L:显示ssh-agent中的公钥

-l:显示ssh-agent中的密钥

-t life:对加载的密钥设置超时时间,超时ssh-agent将自动卸载密钥

-X:对ssh-agent进行解锁

-x:对ssh-agent进行加锁

实例

1、把专用密钥添加到 ssh-agent 的高速缓存中:

ssh-add ~/.ssh/id_dsa

2、从ssh-agent中删除密钥:

ssh-add -d ~/.ssh/id_xxx.pub

3、查看ssh-agent中的密钥:

ssh-add -l

 

挂载硬盘遇到的问题

mount: wrong fs type, bad option, bad superblock on /dev/sdb1,      

 missing codepage or helper program, or other error

解决办法:输入下面的命令,创建文件系统,然后重新挂载

mkfs.ext4 /dev/sdb1

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值