Linux: tidak ada ruang tersisa pada kesalahan perangkat dengan ruang kosong 50%

8

Setelah menghabiskan satu hari menghancurkan kepala saya di atas meja saya akan sangat menghargai bantuan.

Saya menjalankan Squid-Proxy di Fedora 14. Bahkan jika saya mencoba, touch /tmp/foosaya akan menerima kesalahan "tidak ada ruang yang tersisa di perangkat". Saya sudah berlari fsck. Jika saya menghapus file katakanlah, 1MB, saya dapat menyimpan 1MB data lagi tetapi tidak lebih dari itu. Yang perlu diperhatikan adalah saya memiliki banyak ruang kosong:

df keluaran:

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda3             16311208   7614872   7867768  50% /
tmpfs                  1028548         0   1028548   0% /dev/shm
/dev/sda1               198337     55345    132752  30% /boot
/dev/sdb1             25803036  19407324   5084996  80% /mnt/squid-cache

Adakah yang tahu apa yang bisa saya coba untuk "merebut kembali" ruang kosong itu?

Layticia
sumber

Jawaban:

16

Pada tebakan Anda kehabisan inode daripada blok disk - artinya Anda memiliki batasan jumlah file yang dapat disimpan oleh filesystem daripada batas pada jumlah total data.

Anda dapat menggunakannya df -iuntuk memeriksa ini.

TomH
sumber
Aneh bahwa ia akan kehabisan inode pada ruang disk 50% bagus putaran ... tapi layak melihat ke dalam; Squid memang membuat banyak file.
LawrenceC
TomH kau berhasil. Persis seperti itu ... "iFree = 0" Terima kasih banyak atas petunjuk ini!
Layticia
@ultrasawblade squid-cache-dir ada di disk lain (sdb) masalahnya ada di system-disk (sda). Saya membuat laporan "sarg" dan ini berarti banyak file dari 12 bulan terakhir.
Layticia
B / c disk saya penuh .. dan membutuhkan lebih banyak ruang, sepertinya forums.fedoraforum.org/showthread.php?t=246302 mengatakan saya perlu memformat ulang. Ketika memformat ulang, akan memilih XFS - sepertinya akan membiarkan saya skala.
jedierikb
0

Linux menyimpan persentase blok untuk superuser. Biasanya ditetapkan pada 5%. 50% sangat tinggi. Dengan tune2fs -mAnda dapat mengubahnya.

LawrenceC
sumber
0

Ini bisa terjadi jika Anda menggunakan btrfs, dan dalam hal ini, solusi ini tidak akan berfungsi.

Setelah mengikuti banyak jejak palsu saya akhirnya sampai di jalur yang benar setelah saya memulai pencarian dengan

btrfs no

dan mendapatkan

btrfs tidak ada ruang yang tersisa di perangkat

sebagai penyelesaian pertama. Itu mengarah ke masalah BTRFS wiki. Ini tampaknya masalah umum.

Tetapi bahkan dari sana tidak mudah untuk menyelesaikan masalah saya. Saya dapat menjalankan utilitas yang tepat dengan boot ke mode pemulihan, mengambil pilihan yang me-mount sistem file saya, dan kemudian jatuh ke root.

Artikel wiki mengatakan jalankan btrfs balance, tetapi itu tidak akan berjalan untuk semua sistem file, dan akhirnya saya menemukan jalan saya di sini (yang juga merupakan hasil pencarian kedua.)

Jika sistem file Anda benar-benar penuh, maka keseimbangan pun tidak akan berjalan. Atau itu akan berjalan hanya untuk nilai-nilai kecil -dosis.

Resep dalam hal ini di bagian bawah pos. Saya merasa itu membingungkan dan menolaknya sebagai solusi pada awalnya karena poster itu menghapus snapshot, yang saya anggap penting, dan karena saya tidak mengambil snapshot, saya pikir itu tidak berlaku. Tapi itu terjadi. Langkah snapshot mungkin penting bagi sebagian orang, tetapi itu bukan untuk saya.

Obatnya, dalam ikhtisar adalah:

  1. Buat file besar
  2. Jadikan itu perangkat loop
  3. Pasang perangkat ke fs yang tidak bisa menyeimbangkan
  4. Jalankan keseimbangan
  5. Lepaskan perangkat
  6. Nuke file untuk mendapatkan ruang itu kembali

Posting yang direferensikan memberikan langkah-langkah baris perintah.

WolfReporter
sumber