Linux

磁碟空間失去之謎

  • August 26, 2022

我有大約 350Gb 想要從伺服器複製到我為該任務購買的新本地 1Tb 外部 ssd。所以我使用了 rsync,但是 1Tb 磁碟在復製過程中空間不足,這很奇怪。所以我重新格式化(exfat,因為我想在 mac 和 linux 上訪問)並再次嘗試,並註意到使用的磁碟(du)比文件本身保證的要多得多(ls)。檢查 stackexchange 似乎“稀疏文件”或精簡配置可以解釋它 - 但不,稀疏文件使用磁碟空間(如 所見du)比文件需要(如所見ls)要少。最後想檢查一下du在單個文件中,很明顯即使是最小的文件也需要 128K。這顯然是由於格式化為 exfat 時的預設塊大小,我在傳輸的存檔中有幾百萬個小文件,所以我不能承受這種浪費。所以在mac上我嘗試設置1K塊大小,

diskutil info 
diskutil unmountDisk disk4
newfs_exfat -R -v JR_SSD_1Tb -b 1024 /dev/disk4

這似乎沒問題(根據diskutil報告),但是 linux 機器沒有自動掛載 ssd 並且手動掛載遇到了錯誤。因此,考慮到 mac cli 實用程序不完全兼容,我嘗試在 linux 上進行格式化,但這似乎並沒有真正完成工作:當我創建一個幾個字節的新測試文件時,它的最小大小為 512K。

sudo mkfs.exfat -s 1024 -n JR_SSD  /dev/sda
  mkexfatfs 1.3.0
  Creating... done.
  Flushing... done.a
  File system created successfully.
cat > /media/jeremy/JR_SSD/test.txt
ls -l /media/jeremy/JR_SSD/test.txt
  -rwxrwxrwx 1 jeremy jeremy 4 Aug 25 20:14 /media/jeremy/JR_SSD/test.txt
du -h /media/jeremy/JR_SSD/test.txt
   512K /media/jeremy/JR_SSD/test.txt

那麼 - 我該怎麼做呢?

-s選項是每個集群的mkfs.exfat塊(扇區)數。集群是文件系統可以操作的最小空間量。

您要求每個群有 1024 個 512 字節的扇區,因此文件的最小大小為 512 KB。如果您想要 1 千字節的集群,請使用-s 2.

引用自:https://unix.stackexchange.com/questions/714927