AWS扩展EBS卷——Linux文件系统

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AWS扩展EBS卷——Linux文件系统相关的知识,希望对你有一定的参考价值。

AWS扩展文件系统,目前主要是根据基于不同的实例类型:Nitro和非Nitro系统,扩展卷的方式也不一样。

我的EC2是不是基于Nitro构建的?

简单解释一下Nitro,Nitro 系统是 AWS 构建的硬件和软件组件的集合,可实现高性能、高可用性和高安全性。此外,Nitro 系统还提供了裸机功能,从而消除了所有虚拟化开销并支持需要完全访问主机硬件的工作负载。有关更多信息,请参阅 AWS Nitro 系统。
以下实例基于 Nitro 系统而构建:

  • 虚拟机:A1、C5、C5d、C5n、G4、I3en、M5、M5a、M5ad、M5d、M5dn、M5n、p3dn.24xlargeR5、R5a、R5ad、R5d、R5dn、R5n、T3、T3a 和 z1d
  • 裸机:c5.metal, c5d.metal, c5n.metal, i3.metal, i3en.metal, m5.metal, m5d.metal, r5.metal, r5d.metal, u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, u-24tb1.metal, and z1d.metal

    简单理解是,我的EC2虚拟机是5系列或T3,A1等最新机型,都是基于Nitro构建的。

    另外一些实例类型支持 EBS 卷和实例存储卷,而另一些实例类型仅支持 EBS 卷。一些实例类型支持 NVMe 实例存储卷。一些实例类型支持 NVMe EBS 卷。我使用的T3和Amazon Linux2,所以不需要安装NVMe驱动。哪儿些支持,哪儿些不支持NVMe请参考。https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/instance-types.html#ec2-nitro-instances 中的联网和存储功能摘要。

    这次实验主要以Nitro为主,分为3大步骤:

    1.在console中扩展EBS

    2.识别EBS卷的文件系统。

    3.扩展分区

    4.扩展文件系统

1.在console中扩展EBS

找到你要扩展的EC2实例,然后在Root device找到它所对应的EBS。
技术图片
然后修改Volume大小,如下图:
技术图片

由原先的8G修改到16G,如下图:
技术图片

技术图片

刷新一下扩展job的状态:卷将依次进入 modifying 状态、optimizing 状态和 completed(in-use) 状态。我好像等了大概7分钟左右...
技术图片
技术图片

到in-use的时候SSH登录到这台虚拟机上:

2.识别EBS卷的文件系统。

以下是T3,基于Nitro构建的实例,该实例具有带 XFS 文件系统的引导卷。
技术图片

3.扩展分区

基于 Nitro 的实例上的卷lsblk一下,刚才已经将卷从8GiB扩展到16GiB了。
技术图片

在根卷上扩展分区,使用以下 growpart 命令。请注意,设备名称和分区编号之间有空格。
执行命令:sudo growpart /dev/nvme0n1 1
然后再lsblk一下,看一下效果
技术图片

4.扩展文件系统

这里我们直接扩展XFS文件系统,先df -h一下:
技术图片
安装XFS工具(如果没有安装的话)sudo yum install xfsprogs
使用 xfs_growfs 命令扩展每个卷上的文件系统。为了别搞错挂载MOUNTPOINT,最好再lsblk看一下。
执行命令:sudo xfs_growfs -d /
执行成功后返回如下:
技术图片

最后df -h一下:
技术图片

视频教程参考:https://edu.51cto.com/sd/ea4e3

以上是关于AWS扩展EBS卷——Linux文件系统的主要内容,如果未能解决你的问题,请参考以下文章

将内容从旧 EBS 卷复制到 AWS 中的新 Nitro 系统 EBS 的最佳方式(最简单/最快)?

AWS 自动将 EBS 卷附加到 Elastic Beanstalk 后面的 EC2 实例

您可以将 AWS Multi-Attach EBS 卷挂载到 Terraform 中的自动扩展组吗?

如何在 Kubernetes 中使用 Aws EBS 挂载 postgresql 卷

扩大亚马逊 ebs 量

文件系统