如何增加 AWS EBS NVME 大小

How to increase AWS EBS NVME size

我已经将一个 EC2 实例从 m4 升级到 m5,现在我想增加容量。

我确实执行了这个命令并得到了错误:

growpart /dev/nvme0n1 p1
FAILED: partition-number must be a number

无法从 AWS 文档和论坛中找到说明。

知道如何增加 NVME 磁盘吗?

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html

growpart [OPTIONS] DISK PARTITION-NUMBER

$ lsblk
NAME          MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
nvme0n1       259:0    0  16G  0 disk 
├─nvme0n1p1   259:1    0   8G  0 part /
└─nvme0n1p128 259:2    0   1M  0 part 

因此,为了增大分区,我们使用磁盘名 nvme0n1(请参阅 TYPE 下的 disk),所需的分区是 1

sudo growpart /dev/nvme0n1 1

然后扩展 fs - resize2fs device [ size ]

(设备指的是目标文件系统的位置)

$ df -h
Filesystem                                 Size  Used Avail Use% Mounted on
devtmpfs                                   470M   52K  470M   1% /dev
tmpfs                                      480M     0  480M   0% /dev/shm
/dev/nvme0n1p1                             7.8G  7.7G  3.1M 100% /

所以为了扩展 fs,我们使用设备名称 /dev/nvme01np1:

sudo resize2fs /dev/nvme0n1p1

瞧!

$ df -h
Filesystem                                 Size  Used Avail Use% Mounted on
devtmpfs                                   470M   52K  470M   1% /dev
tmpfs                                      480M     0  480M   0% /dev/shm
/dev/nvme0n1p1                              16G  7.7G  7.9G  50% /

resize2fs 对我不起作用,所以我用这个代替:

xfs_growfs /dev/nvme0n1p1

resize2fs 在我使用的时候出现了这个错误:

[root@ip-1-2-3-4 ~]# resize2fs /dev/nvme0n1p1
resize2fs 1.42.9 (28-Dec-2013)
resize2fs: Bad magic number in super-block while trying to open /dev/nvme0n1p1
Couldn't find valid filesystem superblock.

我注意到磁盘在 /etc/fstab 下使用 xfs:

UUID=4cbf4a19-1fba-4027-bf92-xxxxxxxxxxxx     /           xfs    defaults,noatime  1   1

先决条件:

  1. 您找到了要扩展的分区,并且此特定 NVME 上只有一个分区:/dev/nvme0n1p1 但不是 /dev/nvme0n1p2。注意挂载位置:/
df
Filesystem     1K-blocks     Used Available Use% Mounted on
...
/dev/nvme0n1p1 _________ ________  ________  99% /
  1. 你 运行 lsblk 它确认了卷 nvme0n1
  2. 下的单个分区
lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
nvme0n1     259:2    0   400G  0 disk
└─nvme0n1p1 259:3    0   400G  0 part /

比起您先通过 AWS 控制台扩展卷然后 运行 下一个代码块。

单处脚本:

# /dev/nvme0n1 - volume name, 1 - partition index
sudo growpart /dev/nvme0n1 1 
# block for xfs
# / - mount from above. Command will safely fail for non xfs
sudo xfs_growfs -d / 
# block for ext4
# /dev/nvme0n1p1 - partition you would like to extend
sudo resize2fs /dev/nvme0n1p1

从该资源汇编:Extend a Linux file system after resizing a volume

下面是我在 AWS CENTOS - Amazon Linux 2 AMIS( Karoo)

中的工作

步骤 1:从连接的 EC2 的 AWS 控制台更新 EBS 卷

步骤 2:登录( SSH )到附加了卷的 EC2 实例

第 3 步: 按照以下命令操作,只需替换磁盘名称。即 xda 或 nvme0n1

命令:

lsblk

sudo growpart /dev/nvme0n1 1

df -h

sudo xfs_growfs /dev/nvme0n1p1

注意: 你必须使用xfs_growfs而不是resize2fs