Saya pikir ini perilaku yang diharapkan.
Katakanlah Anda memiliki server dengan sistem file yang dipasang sebagai /foo
dan bahwa filesem mengandung dua direktori bar
dan baz
memberi 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/bar
melalui 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, df
menunjukkan statistik untuk seluruh sistem file yang dipasang di server jauh. du
menunjukkan ukuran total file yang dapat Anda akses.
Catatan: Ada banyak alasan lain yang du
mungkin 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.
du
tidak 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 fsck
disk Anda.
du
ataudf
di server NFS?