Linux

AWS S3 設備上沒有剩餘空間

  • January 11, 2019

我正在使用 S3FS 在亞馬遜 EC2 實例上安裝 S3 儲存桶。18 個月以來,一切都很好。

今天我嘗試使用 wget 直接在 S3 儲存桶上下載一個 5GB 的文件(我之前已經做過的事情沒有問題),但我遇到了No space left on device錯誤。

user@ec2-instance:$ /home/workspaces/$ wget http://example.org/file.xml.gz 
Cannot write to ‘files.xml.gz’ (No space left on device).

user@ec2-instance:$ df
Filesystem        1K-blocks    Used    Available Use% Mounted on
/dev/xvda1          8125880 6576804      1113264  86% /
none                      4       0            4   0% /sys/fs/cgroup
udev               15400288      12     15400276   1% /dev
tmpfs               3082424     216      3082208   1% /run
none                   5120       0         5120   0% /run/lock
none               15412116       0     15412116   0% /run/shm
none                 102400       0       102400   0% /run/user
s3fs           274877906944       0 274877906944   0% /home/workspaces

user@ec2-instance:$ df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/xvda1      524288 119569  404719   23% /
none           3853029      2 3853027    1% /sys/fs/cgroup
udev           3850072    380 3849692    1% /dev
tmpfs          3853029    262 3852767    1% /run
none           3853029      5 3853024    1% /run/lock
none           3853029      1 3853028    1% /run/shm
none           3853029      3 3853026    1% /run/user
s3fs                 0      0       0     - /home/workspaces

我不明白什麼df -i回報。我懷疑 s3fs 顯示 0 個 inode 是一個問題,但我不知道下一步該做什麼。

這與s3fs 中的問題 288 無關:對於大於 5GB 的文件,設備上沒有剩餘空間,因為:

  1. 現在已修復
  2. 我已經能夠下載大於 5GB 的文件

根據這篇如何將文件從遠端伺服器直接上傳到 Amazon S3,您必須先將文件下載到本地伺服器,然後再將其上傳到 S3 儲存桶。

由於您尚未定義保存路徑,恐怕您將大文件本地儲存在 /tmp 文件夾中,您沒有足夠的空間來儲存 5 GB 文件。

您可以進一步參考:如何在不創建臨時本地文件的情況下將文件上傳到 S3以查看是否可以擺脫創建的臨時文件或擴展您的 EBS 卷以保存大文件,然後再上傳到 S3 儲存桶。不想寫上傳程序。

引用自:https://serverfault.com/questions/795643