今天给客户购买了 aws 的 c5.xlarge 的 ec2 云服务器给我做配置,但是客户购买时默认了 Storage 选项,即默认8G 硬盘容量,这个显然不够,但是服务器已经购买,不能退掉重买,只能使用动态扩容方案。
当然如果购买时容量较小,使用一段时间后想扩容也是如下操作,aws 的 volume 动态扩容是不会中断和影响正常服务的。
首先登录 aws 后台,客户一般是 root 权限,技术人员可让客户帮开通 IAM账号并授权即可,具体操作步骤如下:
1. 创建 IAM 用户账号
IAM 控制台 → 左侧菜单点击 “Users”
点击 “Add users”
输入用户名(例如:
dev-john
)选择访问方式:
勾选 “Programmatic access”(用于命令行、SDK 等操作)
勾选 “AWS Management Console access”(Web 控制台登录)
设置初始密码(可以要求用户首次登录时重置)
2. 附加权限策略
在“Set permissIONs”这一步,选择:
“Attach policies directly”
搜索并勾选你想要的权限策略
权限需求 策略名 管理 EC2 AmazonEC2FullAccess
只查看资源 ReadOnlyAccess
管理所有 AWS 服务(管理员) AdministratorAccess
(⚠️谨慎使用)
3. 动态扩容
登录到 ec2管理后台,并找到 volumes,并点击 Create volume 如下图
填写好 Size 后,其它保持默认就行,然后点击 Create 稍等几分钟即可创建完成。
这里有一点需要注意,硬盘是100G,但是我们通过 df -hl 命令可看到 /dev/root 这个挂载到根目录的文件系统还是占用 6.8G ,并不是我们刚才添加的 100G
已经在 AWS 控制台把根卷磁盘大小改成了 100GB,但系统中仍显示 /dev/root
是 6.8GB,这是因为:
⚠️ 修改了 EBS 卷大小后,还需要在实例内部扩展文件系统才能真正使用新空间。就是 windows 系统硬盘的扩容一样,必须要追加卷才可以使用
这时可以通过执行以下几条命令进行使用
1. 使用 lsblk 命令 确认磁盘和分区状态 root@ip-172-31-*-**:/home/ubuntu# lsblk Name MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 27.2M 1 loop /snap/amazon-ssm-agent/11320 loop1 7:1 0 73.9M 1 loop /snap/core22/1981 loop2 7:2 0 50.9M 1 loop /snap/snapd/24505 loop3 7:3 0 50.9M 1 loop /snap/snapd/24718 loop4 7:4 0 73.9M 1 loop /snap/core22/2010 nvme0n1 259:0 0 100G 0 disk ├─nvme0n1p1 259:1 0 7G 0 part / ├─nvme0n1p14 259:2 0 4M 0 part ├─nvme0n1p15 259:3 0 106M 0 part /boot/efi └─nvme0n1p16 259:4 0 913M 0 part /boot 2. 扩展根分区(nvme0n1p1),即挂载到 / 目录的分区为根分区 root@ip-172-31-*-**:/home/ubuntu# growpart /dev/nvme0n1 1 CHANGED: partition=1 start=2099200 old: size=14677983 end=16777182 new: size=207615967 end=209715166 3. 查看文件系统格式(ext4 /xfs) root@ip-172-31-*-**:/home/ubuntu# df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/root ext4 7034376 2181480 4836512 32% / tmpfs tmpfs 3960928 0 3960928 0% /dev/shm tmpfs tmpfs 1584372 888 1583484 1% /run tmpfs tmpfs 5120 0 5120 0% /run/lock efivarfs efivarfs 128 4 120 3% /sys/firmware/efi/efivars /dev/nvme0n1p16 ext4 901520 87324 751068 11% /boot /dev/nvme0n1p15 vfat 106832 6250 100582 6% /boot/efi tmpfs tmpfs 792184 12 792172 1% /run/user/1000 4. resize 根分区(nvme0n1p1)即可 root@ip-172-31-*-**:/home/ubuntu# resize2fs /dev/nvme0n1p1 resize2fs 1.47.0 (5-Feb-2023) Filesystem at /dev/nvme0n1p1 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 13 The filesystem on /dev/nvme0n1p1 is now 25951995 (4k) blocks long. 5. 确认是否成功扩充硬盘,可见根分区(/dev/root)这个文件系统占用空间已经是扩容之后的了(不是刚好100G,因为其它分区也占空间) root@ip-172-31-*-**:/home/ubuntu# df -hl Filesystem Size Used Avail Use% Mounted on /dev/root 96G 2.1G 94G 3% / tmpfs 3.8G 0 3.8G 0% /dev/shm tmpfs 1.6G 892K 1.6G 1% /run tmpfs 5.0M 0 5.0M 0% /run/lock efivarfs 128K 3.6K 120K 3% /sys/firmware/efi/efivars /dev/nvme0n1p16 881M 86M 734M 11% /boot /dev/nvme0n1p15 105M 6.2M 99M 6% /boot/efi tmpfs 774M 12K 774M 1% /run/user/1000
还没有评论,来说两句吧...