AWS EC2 Linux实例扩容分区遇权限拒绝及磁盘满问题求助
AWS EC2 Ubuntu 磁盘扩容失败解决指南
问题背景
EC2 Ubuntu服务器磁盘耗尽导致Web应用无法加载,已完成EBS卷扩容,但执行分区扩容时遇两个核心错误:
growpart因根目录无剩余空间无法创建临时目录resize2fs调用/dev/root时权限拒绝
错误详情
ubuntu@***:~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 24.8M 1 loop /snap/amazon-ssm-agent/6563 loop1 7:1 0 24.4M 1 loop /snap/amazon-ssm-agent/6312 loop2 7:2 0 63.3M 1 loop /snap/core20/1879 loop3 7:3 0 55.6M 1 loop /snap/core18/2751 loop4 7:4 0 111.9M 1 loop /snap/lxd/24322 loop5 7:5 0 63.5M 1 loop /snap/core20/1891 loop6 7:6 0 53.3M 1 loop /snap/snapd/19361 loop7 7:7 0 53.2M 1 loop /snap/snapd/19122 loop8 7:8 0 55.6M 1 loop /snap/core18/2745 nvme0n1 259:0 0 25G 0 disk ├─nvme0n1p1 259:1 0 11.9G 0 part / ├─nvme0n1p14 259:2 0 4M 0 part └─nvme0n1p15 259:3 0 106M 0 part /boot/efi ubuntu@***:~$ df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/root ext4 12G 12G 0 100% / tmpfs tmpfs 471M 0 471M 0% /dev/shm tmpfs tmpfs 189M 20M 169M 11% /run tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock /dev/nvme0n1p15 vfat 105M 6.1M 99M 6% /boot/efi tmpfs tmpfs 95M 4.0K 95M 1% /run/user/1000 ubuntu@***:~$ growpart /dev/nvme0n1p1 1 mkdir: cannot create directory ‘/tmp/growpart.10717’: No space left on device FAILED: failed to make temp dir ubuntu@***:~$ resize2fs /dev/root 1 resize2fs 1.46.5 (30-Dec-2021) open: Permission denied while opening /dev/root
解决步骤
1. 临时释放空间修复growpart报错
根目录耗尽导致growpart无法创建临时目录,先清理可快速释放的文件:
- 清理APT缓存:
sudo apt clean - 删除旧Snap包:
sudo snap remove --purge $(snap list --all | awk '/disabled/{print $1, $3}') - 清空系统日志:
sudo truncate -s 0 /var/log/*.log
修复参数格式后重新运行growpart(注意:正确参数是磁盘设备+分区编号,不是分区路径):
sudo growpart /dev/nvme0n1 1
2. 修复resize2fs权限问题
/dev/root是软链接,直接使用真实分区路径并添加sudo权限执行:
sudo resize2fs /dev/nvme0n1p1
无需指定大小,resize2fs会自动扩容到分区最大可用空间。
3. 验证扩容结果
执行以下命令确认磁盘空间更新:
df -hT lsblk
4. 排查磁盘耗尽根源(可选)
用以下命令定位大文件,找出空间占用异常:
sudo du -sh /* | sort -hr
重点检查/var/log、/tmp、容器存储目录(如/var/lib/docker)等位置。
内容的提问来源于stack exchange,提问作者Drake
相关产品推荐
相关产品推荐

