xvda1 jest w 100% pełny, co to jest? jak naprawić?

41

Używam instancji Linuksa na EC2 (mam MongoDB i node.js) i otrzymuję ten błąd:

Cannot write: No space left on device

Myślę, że prześledziłem to do tego pliku, oto wyjście df

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda1             1032088   1032088         0 100% /

Problem polega na tym, że nie wiem, co to za plik, a także nie wiem, czy ten plik w ogóle stanowi problem.

Więc moje pytanie brzmi: jak naprawić błąd „Brak miejsca na urządzeniu”?

Chris Biscardi
źródło

Odpowiedzi:

67

Ten plik /to katalog główny. Jeśli jest to jedyny system plików, w którym widzisz df, to wszystko. Masz system plików 1 GB i jest w 100% pełny. Możesz zacząć zastanawiać się, jak się to stosuje:

sudo du -x / | sort -n | tail -40

Następnie możesz zastąpić /ścieżki, które zajmują najwięcej miejsca. (Będą na końcu, dzięki sort. Polecenie może chwilę potrwać.)

David Schwartz
źródło
19
Aby uzyskać wynik w formacie czytelnym dla człowieka, możesz użyć sudo du -x -h / | sort -h | tail -40(z tej odpowiedzi ).
mkobit
W przypadku instancji micro AWS AMI uruchomienie może potrwać około minuty. Bądź cierpliwy!
Dr Rob Lang
co z tym zrobić:sort: write failed: /tmp/sortGmL8oF: No space left on device
dOM
1
@dOM Ouch. Spróbuj wyczyścić trochę miejsca /tmp. Lub, jeśli musisz, zawęź to krok po kroku za pomocą poleceń takich jak du -xhs /*.
David Schwartz,
du -x -h / | sort -h | tail -40 | sort -h -rmoże być używany do sortowania w porządku malejącym, gdy używane są dane wyjściowe czytelne dla człowieka.
Vigs
14

Wiem, że odpowiadam w tym wątku po prawie 5 latach, ale może to komuś pomóc, miałem ten sam problem, miałem instancję m4.xlarge df -h powiedział, że plik / dev / xvda1 jest pełny, - 100%

Filesystem      Size  Used Avail Use% Mounted on
udev            7.9G     0  7.9G   0% /dev
tmpfs           1.6G  177M  1.4G  12% /run
/dev/xvda1      7.7G  7.7G     0 100% /
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
tmpfs           1.6G     0  1.6G   0% /run/user/1000

próbowałem to rozwiązać tutaj są kroki

sudo find / -type f -printf '%12s %p\n' 2>/dev/null|awk '{if($1>999999999)print $0;}'

Pomógł mi wiedzieć, że to kontener dokerów mówił o całej mojej przestrzeni, więc popchnąłem cały mój kontener do rejestru dokerów, a następnie zrobiłem sudo rm -rf / var / lib / docker / to wyczyściło moją przestrzeń :) mam nadzieję, że pomoże komuś :)

Pacnięcie
źródło
8

Jeśli używasz instancji rozruchowej EBS (zalecane), możesz zwiększyć rozmiar woluminu root (/), stosując procedurę opisaną w tym artykule:

Zmiana rozmiaru dysku głównego na działającej instancji rozruchowej EBS EC2
http://alestic.com/2010/02/ec2-resize-running-ebs-root

Jeśli korzystasz z instancji magazynu instancji (niezalecane), nie możesz zmienić rozmiaru dysku głównego. Musisz usunąć pliki lub przenieść je do efemerycznego magazynu (np. / Mnt) lub dołączyć woluminy EBS i przenieść tam pliki.

Oto artykuł, który napisałem, który opisuje, jak przenieść bazę danych MySQL z dysku głównego na wolumin EBS:

Uruchamianie MySQL na Amazon EC2 z EBS
http://aws.amazon.com/articles/1663

... i rozważ przejście na instancje rozruchowe EBS. Jest wiele powodów, dla których później podziękujesz sobie.

Eric Hammond
źródło
Korzystam z EBS. Rozbudowanie dysku root jest dość tanie, prawda? Na szczęście nie mam do czynienia z MySQL, Moje projekty to obecnie Mongo / Redis. świetny materiał tutaj. +1
2

Niedawno napotkałem ten problem na Amazon Linux. Moja kolejka poczty wychodzącej crontab /var/spool/clientmqueuewynosiła 4,5 GB.

Rozwiązałem to przez:

  1. Lokalizowanie dużych plików: sudo find / -type f -size +10M -exec ls -lh {} \;
  2. Usuwanie dużych plików: /bin/rm -f <path-to-large-file>
  3. Zrestartuj instancję serwera

Problem rozwiązany!

Gabe Karkanis
źródło
1

Właśnie rozwiązałem ten problem, uruchamiając następujące polecenie:

sudo apt autorove

i wiele starych pakietów zostało usuniętych, uwalniając 5 gigabajtów, na przykład było wiele pakietów takich jak ten „linux-aws-headers-4.4.0-1028”

Paulo
źródło