在將大量檔案從 Linux Redhat 工作站傳輸到FAT32
格式化的外部硬碟(WD 2 TB
由 Mac 磁碟實用程式格式化)時,我遇到了磁碟上沒有足夠空間的錯誤。但我檢查了仍然有~700 GB
剩餘的磁碟空間,所以我猜我由於檔案名稱太長而耗盡了磁碟空間(不確定?)?如何檢查?
我的外部硬碟詳細資料是
/dev/sdc1 on /media/GUDDULINUX3 type vfat (rw,nosuid,nodev,relatime,uid=988,gid=2000,fmask=0022,dmask=0077,codepage=cp437,iocharset=ascii,s
目前,每個目錄中都有~545
一些目錄,其中包含文件之間的任何內容~7000
。每個文件都是一個大小為(用 du -sh 檢查)或(大約各一半)~11000
的二進位文件,名稱類似於(字元長)。檔案大小看起來不錯,因為它們應該是帶有浮點數的二進位檔案。~32K
96K
XC6_9k.131_132.12.2012.210.s3
29
8000
24000
有沒有可能還有其他問題?不幸的是,我無法檢查目錄消耗的確切磁碟空間,嘗試du -sh
需要很長時間。
編輯1- 我使用 Mac 磁碟實用程式來驗證外部硬碟,它顯示 -
11361590 files, 1076797472 KiB free (33649921 clusters)
編輯2-
按照 Angelo 的建議,我在連接到我的筆記型電腦(mac)的外部硬碟上df -h
進行了嘗試。df -i
看起來我已經用完了 中的可用索引節點/Volumes/GUDDULINUX3
。關於做什麼的任何建議 - 如果我將每個目錄的tar
小檔案放在一個tar
檔案中,我會獲得索引節點嗎?我應該移動到NTFS
格式化磁碟嗎?
avinash$ df -h
Filesystem Size Used Avail Capacity iused ifree %iused Mounted on
/dev/disk0s2 233Gi 216Gi 17Gi 93% 56587186 4482254 93% /
devfs 187Ki 187Ki 0Bi 100% 646 0 100% /dev
map -hosts 0Bi 0Bi 0Bi 100% 0 0 100% /net
map auto_home 0Bi 0Bi 0Bi 100% 0 0 100% /home
/dev/disk1s1 1.8Ti 836Gi 1.0Ti 45% 0 0 100% /Volumes/GUDDULINUX3
avinash$ df -i
Filesystem 512-blocks Used Available Capacity iused ifree %iused Mounted on
/dev/disk0s2 488555536 452185504 35858032 93% 56587186 4482254 93% /
devfs 373 373 0 100% 646 0 100% /dev
map -hosts 0 0 0 100% 0 0 100% /net
map auto_home 0 0 0 100% 0 0 100% /home
localhost:/rGEmV8JCfpffeQBEQFAlLe 488555536 488555536 0 100% 0 0 100% /Volumes/MobileBackups
/dev/disk1s1 3906009792 1752414720 2153595072 45% 0 0 100% /Volumes/GUDDULINUX3
這些是磁碟連接到我的 Linux 工作站的結果,它不顯示 inode 資訊。
seismo82% df -h /media/GUDDULINUX3/
Filesystem Size Used Avail Use% Mounted on
/dev/sdc1 1.9T 836G 1.1T 45% /media/GUDDULINUX3
seismo82% df -i /media/GUDDULINUX3/
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sdc1 0 0 0 - /media/GUDDULINUX3
編輯3-
似乎inode
事情不適用於FAT32
.我認為問題在於FAT32
目錄中可以有多少文件有一個下限,低於~65k
取決於文件名的上限。首先,我在 ext HDD 中壓縮了許多現有的文件,這應該釋放了很多inodes
(或FAT32
同等的)。但仍然移動大目錄(它有~23k
檔案)顯示“設備上沒有空間”錯誤。然後,我沒有移動單個文件,而是製作了目錄的 tar 並將其移至外部磁碟!嘗試將其解壓縮到擴充磁碟中時再次出現錯誤。所以,我想我遇到了目錄中文件數量的限制。看w3dk對此的評論
每個目錄的最大檔案數
我檢查了在移動時報告錯誤的目錄。該限制似乎是16383
檔案名稱包含29
字元的檔案和21843
檔案名稱包含20
字元的檔案。理論上,限制是~65k
名稱格式為檔案的檔案數8.3
。感謝所有幫助我診斷問題的人。現在,我只會把我擁有的一切都塗上柏油。
答案1
除了 FAT32 檔案系統的分割區大小限制、檔案大小限制和目錄大小限制(所有這些聽起來您似乎都知道)外,FAT32 磁碟區上的總檔案總數最大限制為 268,435,437 個,無論的目錄。
快速算一下,545 個目錄,每個目錄有 7000 個文件,幾乎是 4百萬文件-遠遠超出了 FAT32 的處理能力。