xvda1 đã đầy đủ 100%, nó là gì? làm thế nào để khắc phục?


41

Tôi đang chạy phiên bản Linux trên EC2 (Tôi đã cài đặt MongoDB và node.js) và tôi gặp lỗi này:

Cannot write: No space left on device

Tôi nghĩ rằng tôi đã theo dõi nó xuống tập tin này, đây là đầu ra df

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

Vấn đề là, tôi không biết tập tin này là gì và tôi cũng không biết liệu tập tin này có phải là vấn đề không.

Vì vậy, câu hỏi của tôi là: Làm cách nào để khắc phục lỗi "Không còn chỗ trống trên thiết bị"?

Câu trả lời:


66

Tập tin đó, /là thư mục gốc của bạn. Nếu đó là hệ thống tập tin duy nhất bạn thấy df, thì đó là tất cả mọi thứ. Bạn có hệ thống tập tin 1GB và nó đã đầy đủ 100%. Bạn có thể bắt đầu tìm hiểu làm thế nào nó được sử dụng như thế này:

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

Sau đó, bạn có thể thay thế /bằng các đường dẫn đang chiếm nhiều không gian nhất. (Họ sẽ ở cuối, nhờ vào sort. Lệnh có thể mất một lúc.)


19
Để có được đầu ra ở định dạng có thể đọc được, bạn có thể sử dụng sudo du -x -h / | sort -h | tail -40(từ câu trả lời này ).
mkobit

Đối với những người trên các phiên bản micro AWS AMI, việc này có thể mất một phút hoặc lâu hơn để chạy. Kiên nhẫn!
Bác sĩ Rob Lang

phải làm gì với điều này:sort: write failed: /tmp/sortGmL8oF: No space left on device
dOM

1
@dOM Ouch. Cố gắng dọn sạch một số không gian trên /tmp. Hoặc, nếu bạn phải, thu hẹp nó từng bước với các lệnh như du -xhs /*.
David Schwartz

du -x -h / | sort -h | tail -40 | sort -h -rcó thể được sử dụng để sắp xếp theo thứ tự giảm dần khi sử dụng đầu ra có thể đọc được của con người.
Vigs

14

Tôi biết tôi đã trả lời trong chủ đề này sau gần 5 năm nhưng nó có thể giúp được ai đó, tôi gặp vấn đề tương tự, tôi đã có phiên bản m4.xlarge df -h nói rằng / dev / xvda1 đã đầy, - 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

tôi đã cố gắng giải quyết nó ở đây là các bước

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

Giúp tôi biết rằng đó là container docker đang nói về tất cả không gian của tôi vì vậy tôi đã đẩy tất cả container của mình vào registry docker sau đó đã sudo rm -rf / var / lib / docker / nó đã dọn sạch không gian của tôi :) hy vọng nó sẽ giúp được ai đó :)


8

Nếu bạn đang chạy một phiên bản khởi động EBS (được khuyến nghị) thì bạn có thể tăng kích thước của âm lượng gốc (/) bằng cách sử dụng quy trình tôi mô tả trong bài viết này:

Thay đổi kích thước đĩa gốc khi khởi động EBS Boot EC2
http://alests.com/2010/02/ec2-resize-rucky-ebs-root

Nếu bạn đang chạy một cá thể cửa hàng cá thể (không được khuyến nghị) thì bạn không thể thay đổi kích thước của đĩa gốc. Bạn có thể phải xóa các tệp hoặc di chuyển các tệp vào bộ lưu trữ phù du (ví dụ: / mnt) hoặc đính kèm các khối EBS và di chuyển các tệp ở đó.

Đây là một bài viết tôi đã viết mô tả cách di chuyển cơ sở dữ liệu MySQL từ đĩa gốc sang ổ đĩa EBS:

Chạy MySQL trên Amazon EC2 với EBS
http://aws.amazon.com/articles/1663

... Và xem xét chuyển sang các trường hợp khởi động EBS. Có nhiều lý do tại sao bạn sẽ cảm ơn chính mình sau này.


Tôi đang chạy trên EBS, nó khá rẻ để mở rộng đĩa gốc phải không? May mắn là tôi không phải đối phó với MySQL, các dự án của tôi hiện là Mongo / Redis. một số tài liệu tuyệt vời ở đây. +1

2

Gần đây tôi đã gặp phải vấn đề này trên Amazon Linux. Hàng đợi email crontab của tôi /var/spool/clientmqueuelà 4,5 GB.

Tôi đã giải quyết nó bằng cách:

  1. Định vị các tệp lớn: sudo find / -type f -size +10M -exec ls -lh {} \;
  2. Xóa các tệp lớn: /bin/rm -f <path-to-large-file>
  3. Khởi động lại máy chủ

Vấn đề được giải quyết!


1

Tôi vừa giải quyết vấn đề đó bằng cách chạy lệnh này:

sudo apt autoremove

và rất nhiều gói cũ đã bị xóa, giải phóng 5 gigabyte, ví dụ, có rất nhiều gói như "linux-aws-headers-4.4.0-1028" này


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.