Amazon EC2 中的磁盘空间不足,无法找到我正在使用的存储空间

Der*_*ran 7 amazon-ec2 amazon-web-services ubuntu-16.04 amazon-ami

我正在使用美国东部的 T2.large 实例运行 AWS ami。我试图上传一些数据,但我在终端中运行:

df -h
Run Code Online (Sandbox Code Playgroud)

我得到了这个结果:

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
Run Code Online (Sandbox Code Playgroud)

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

我还假设所有tmpfs都是临时文件,我该如何删除它们?

回答评论里的一些问题,我跑了

sudo du -sh /*
Run Code Online (Sandbox Code Playgroud)

我得到了:

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
Run Code Online (Sandbox Code Playgroud)

小智 11

当您用完根文件系统空间,并且没有执行任何您知道会消耗空间的操作时,那么 99% 的时间 (+/- 98%) 它是一个日志文件。运行这个:

sudo du -s /var/log/* | sort -n

您将看到其中所有子目录的列表/var/log(这是 Linux 系统的标准日志记录目标),最后您可能会看到旁边有一个非常大的数字的条目。如果你在那里没有看到任何东西,那么下一个要尝试的地方是/tmp(我会这样做,du -sh /tmp因为它以“人类”缩放打印单个数字)。如果这不起作用,那么您需要在文件系统的根目录上运行原始命令/*(这可能需要一些时间)。

假设它是一个日志文件,那么您应该查看它以查看相关应用程序中是否有错误。如果没有,您可能只需要了解logrotate


Bra*_*ler 3

/dev/xvda1是你的根卷。您列出的 AMI 的默认根卷大小为20GB

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

aws ec2 describe-images --image-ids ami-3b0c205e --region us-east-2 | jq .Images[].BlockDeviceMappings[]
Run Code Online (Sandbox Code Playgroud)

看体积大小

{
  "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"
}
Run Code Online (Sandbox Code Playgroud)

当以正确的卷大小 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
Run Code Online (Sandbox Code Playgroud)

看来这里的问题是实例是使用存储10GB(不知何故,我认为这是不可能的)而不是默认的存储启动的20GB