簡體   English   中英

Amazon EC2中的磁盤空間不足,無法找到我正在使用的存儲空間

[英]Running out of disk space in Amazon EC2, can't find what I am using my storage for

我正在使用美國東部的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.7 GB的數據,但我不知道/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

/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

當你用完根文件系統空間,並且沒有做任何你知道消耗空間的事情時,99%的時間(+/- 98%)它是一個日志文件。 運行這個:

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

您將在/var/log (這是Linux系統的標准日志記錄目標)中看到所有子目錄的列表,最后您可能會看到旁邊有一個非常大的數字的條目。 如果你沒有看到任何東西,那么下一個嘗試的地方是/tmp (我用du -sh /tmp做,因為它打印一個帶有“人類”縮放的數字)。 如果這不起作用,那么你需要在文件系統的根目錄上運行原始命令/* (這可能需要一些時間)。

假設它是一個日志文件,那么你應該看一下它,看看相關應用程序中是否有錯誤。 如果沒有,您可能只需要了解logrotate

/ dev / xvda1是亞馬遜存儲系統上基於磁盤的存儲。

它是您系統上唯一的存儲器,它包含您的操作系統和所有數據。 所以我猜Ubuntu安裝使用的大部分空間

請記住:亞馬遜的T實例根本沒有任何本地磁盤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM