Jejak file yang tak terlihat (du vs df)

2

Saya menyadari alasan yang diharapkan bahwa du dan df akan melaporkan perbedaan , namun saya tidak dapat membayangkan ini akan membenarkan perbedaan yang saya lihat:

[[email protected] mynfsmount]# df -h /opt/mynfsmount
Filesystem            Size  Used Avail Use% Mounted on
192.168.0.92:/data/export/examplecom
                      3.0T  2.7T  391G  88% /opt/mynfsmount
[[email protected] mynfsmount]# du -sh /opt/mynfsmount
13G     /opt/mynfsmount

mis. df melaporkan ~ 300 kali penggunaan du laporan.

Mungkin penting bahwa server NFS adalah kotak Synology, host adalah Centos 5.11 (erk!) Dan tidak ada direktori yang hilang + ditemukan di / opt / mynfsmount. Ini adalah sistem yang saya warisi dan ada sedikit informasi yang tersedia tentang berapa banyak data yang diharapkan ada di sana.

Saat ini hanya laporan satu file yang dihapus masih terbuka.

Adakah saran dari apa yang saya coba selanjutnya?

symcbean
sumber
Bagaimana dengan menjalankan duatau dfdi server NFS?
muru

Jawaban:

1

Saya pikir ini perilaku yang diharapkan.

Katakanlah Anda memiliki server dengan sistem file yang dipasang sebagai /foodan bahwa filesem mengandung dua direktori bardan bazmemberi Anda /foo/bar/dan /foo/baz/. Katakanlah:

  • /foo adalah sistem file 100GB
  • /foo/bar/ berisi 10GB file
  • /foo/baz/ berisi 20GB file
  • meninggalkan 70GB gratis.

Jika Anda mengekspor /foo/barmelalui NFS. Dan pasang pada klien sebagai /mnt/bar. Kemudian pada clint Anda menjalankan keduanya:

df -h /mnt/bar
du -hs /mnt/bar

Saya harapkan:

  • df untuk menampilkan 30GB bekas, 70GB gratis, 100GB totoal.
  • du hanya menampilkan 10GB yang digunakan.

20GB lainnya belum terekspos melalui NFS, tetapi akan muncul pada penggunaan Anda ketika diinterogasi df. Ini adalah perilaku normal untuk protokol sistem file jarak jauh pada sebagian besar sistem operasi.

Singkatnya, dfmenunjukkan statistik untuk seluruh sistem file yang dipasang di server jauh. dumenunjukkan ukuran total file yang dapat Anda akses.


Catatan: Ada banyak alasan lain yang dumungkin tidak memiliki akses ke beberapa file yang terdapat pada sistem file. Beberapa alasan lain termasuk:

  • Dimungkinkan untuk menghapus ( membatalkan tautan ) file saat program masih menulisnya. Jika ini terjadi, file akan tetap berada di disk hingga semua referensi (termasuk pegangan file yang terbuka) dihapus. dutidak dapat menemukan ini karena mereka tidak memiliki nama file. Tapi mereka masih memiliki inode dan masih muncul saat diperiksa df.
  • Demikian pula filesystem kadang-kadang bisa rusak. File masih dapat ada setelah semua referensi telah ditutup karena korupsi. Ini adalah salah satu alasan bagus untuk melakukan pemeriksaan fsck semi-reguler pada disk Anda.

Sejauh ini, yang paling mungkin dalam skenario Anda adalah contoh ekspor yang saya tunjukkan di atas. Tetapi jika Anda khawatir maka lakukan unmount dan fsckdisk Anda.

Philip Couling
sumber