Amazon EC2磁盘空间不足,无法找到存储使用情况

11

我正在使用位于美国东部的T2.large实例运行AWS ami。我试图上传一些数据,然后在终端中运行了以下命令:

df -h

我得到了这个结果:

Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           799M  8.6M  790M   2% /run
/dev/xvda1      9.7G  9.6G   32M 100% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
tmpfs           799M     0  799M   0% /run/user/1000

我知道我没有上传9.7GB的数据到这个实例,但是我不知道 /dev/xvda1 是什么或如何访问它。

我还假设所有的 tmpfs 都是临时文件,那我怎样才能删除它们?

回答一些评论中的问题,我运行了

sudo du -sh /*

我得到:

16M /bin
124M    /boot
0   /dev
6.5M    /etc
2.7G    /home
0   /initrd.img
0   /initrd.img.old
4.0K    /jupyterhub_cookie_secret
16K /jupyterhub.sqlite
268M    /lib
4.0K    /lib64
16K /lost+found
4.0K    /media
4.0K    /mnt 
562M    /opt
du: cannot access '/proc/15616/task/15616/fd/4': No such file or directory
du: cannot access '/proc/15616/task/15616/fdinfo/4': No such file or directory
du: cannot access '/proc/15616/fd/4': No such file or directory
du: cannot access '/proc/15616/fdinfo/4': No such file or directory
0   /proc
28K /root
8.6M    /run
14M /sbin
8.0K    /snap 
8.0K    /srv
0   /sys
64K /tmp
4.7G    /usr
1.5G    /var
0   /vmlinuz
0   /vmlinuz.old

1
磁盘空间不足?sudo du -sh /*的输出是什么? - helloV
Xvda1是挂载到虚拟机文件系统的磁盘驱动器。这明确表明AMI上安装了某个消耗大量数据的东西。它就是文件系统。你的文件系统中肯定有过多的文件。你可以看到它被挂载到“/”。 - Dandy
3个回答

11
当你的根文件系统空间耗尽,并且没有进行任何你知道会占用空间的操作时,99%的情况下(+/- 98%),是由于日志文件。运行以下命令: sudo du -s /var/log/* | sort -n 你将看到列出了/var/log/中的所有子目录(这是Linux系统的标准日志记录目的地),最后你可能会看到一个非常大的数字条目。如果在那里什么都没看到,那么下一个尝试的地方就是/tmp(我会使用du -sh /tmp,因为它打印带有“human”缩放的单个数字)。如果还不行,则需要在文件系统的根目录上运行原始命令/*(这可能需要一些时间)。 假设这是一个日志文件,则应查看它以查看相关应用程序是否存在错误。如果没有,您可能只需要了解logrotate

/opt/python/log 是使用 Python 的实例的日志文件夹。 - Greg Holst
我们能删除日志文件吗?这会对服务器上运行的任何内容产生影响吗? 我有以下输出(命令的最后几个条目): 28 /var/log/syslog 28 /var/log/syslog.1 52 /var/log/unattended-upgrades 68 /var/log/amazon 100 /var/log/apt 312 /var/log/cloud-init.log 408 /var/log/auth.log.2.gz 476 /var/log/auth.log.4.gz 1764 /var/log/nginx 1968 /var/log/auth.log 4416 /var/log/btmp 4828 /var/log/auth.log.1 24832 /var/log/btmp.1 - Lalitesh Upadhyaya
在运行此命令后,/var/log/journal对我来说非常大,因此我通过运行sudo journalctl --vacuum-size=100M来减小大小,如https://askubuntu.com/questions/1238214/big-var-log-journal中所示。 - Dylan w

3

/dev/xvda1是您的根卷。如您在此处所见,您所列出的AMI具有默认的根卷大小为20GB

描述映像并获取其块设备映射:

aws ec2 describe-images --image-ids ami-3b0c205e --region us-east-2 | jq .Images[].BlockDeviceMappings[]

查看卷大小

{
  "DeviceName": "/dev/sda1",
  "Ebs": {
    "Encrypted": false,
    "DeleteOnTermination": true,
    "VolumeType": "gp2",
    "VolumeSize": 20,
    "SnapshotId": "snap-03341b1ff8ee47eaa"
  }
}
{
  "DeviceName": "/dev/sdb",
  "VirtualName": "ephemeral0"
}
{
  "DeviceName": "/dev/sdc",
  "VirtualName": "ephemeral1"
}

当使用正确的20GB容量大小启动时,有足够的10GB自由空间。

root@ip-10-100-0-64:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            488M     0  488M   0% /dev
tmpfs           100M  3.1M   97M   4% /run
/dev/xvda1       20G  9.3G   11G  49% /
tmpfs           496M     0  496M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           496M     0  496M   0% /sys/fs/cgroup
tmpfs           100M     0  100M   0% /run/user/1000

看起来问题出在实例启动时使用了 10GB 的存储空间(我不知道怎么可能),而非默认的 20GB


你在哪里看到ami-3b0c205e?无法使用比AMI关联快照更小的卷启动实例,因此它不能是此实例的源映像。 - Michael - sqlbot
糟糕,你说得完全正确。我应该检查编辑历史。但我认为 OP 在那一点上可能是错的。卷不可能更小,因为 EBS 不允许它。从快照创建一个卷只能创建相同大小或更大的卷,而 EBS 不支持缩小现有卷的大小。(支持那肯定很有趣?会出什么问题呢?) - Michael - sqlbot
@Michael-sqlbot 我也认为这是不可能的,尝试使用10 GB启动会出现预期的错误。在编辑之前,ami已经在问题中了。因此,要么提问者给出了错误的ami,要么成功使用10 GB启动了。无论如何,在这种情况下,您可以清楚地看到默认使用量约为9.3 GB,应该帮助提问者意识到他们没有上传9.7 GB。 - Brandon Miller
1
@Michael-sqlbot 我更新了我的回答,反映出我似乎无法做到同样的事情,所以不确定他们是如何完成的。 - Brandon Miller
1
@Michael-sqlbot 所以我做的是获取一个保留实例,(我非常新手,并且该实例是由我的公司获得的)。我不知道有关弹性块存储器的任何信息,它具有我的 EC2 的存储空间,(仍在适应中)。现在我看到,使用保留实例,我们可以获得一个 10 GB 的 EBS 卷,作为免费套餐的一部分,可免费使用 1 年。 - Derek Corcoran

0

/dev/xvda1是亚马逊存储系统上基于磁盘的存储。

它是您系统上唯一的存储,包含您的操作系统和所有数据。因此,我猜大部分空间被Ubuntu安装使用了。

请记住:亚马逊的T实例根本没有任何本地磁盘。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接