看板 Linux 關於我們 聯絡資訊
在 8T 的外接硬碟 (My Book) 上格式化了 ext3 , 但不知道是什麼原因,檔案大小上限只能到 20G 。 truncate -s 19G 還能成功, 20G 就會報錯了。 google 到的說法, 如果 block size 是 4k ,那上限應該是 16T , 用 tune2fs 列出的 block size 也的確是 4096 ; 但實際上卻只能建立最大 20G (2048000000 byte) 大小的檔案。 不知道為什麼是 20G 這個奇怪的數字。 在掛載的時候,的確是用 ext3 去掛載的,沒有用到 ext2 。 用 tune2fs 列出的屬性: ``` tune2fs 1.44.5 (15-Dec-2018) Filesystem volume name: <none> Last mounted on: /mnt/backup Filesystem UUID: xxxx Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype sparse_super large_file Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 488382464 Block count: 1953506299 Reserved block count: 97675313 Free blocks: 1274808137 Free inodes: 487903751 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 558 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8192 Inode blocks per group: 512 Filesystem created: Fri Aug 2 18:49:51 2019 Last mount time: Wed Apr 8 10:13:34 2020 Last write time: Wed Apr 8 10:46:48 2020 Mount count: 93 Maximum mount count: -1 Last checked: Sat Aug 3 08:03:15 2019 Check interval: 0 (<none>) Lifetime writes: 2774 GB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 32 Desired extra isize: 32 Journal inode: 8 Default directory hash: half_md4 Directory Hash Seed: 1430fead-0972-4ab8-90aa-784a0b48e68d Journal backup: inode blocks ``` -- 一位記者問總理:「請問總理先生,現在的中國人都窮吧?」不少人納悶:怎麼提這種問題?大家都關注總理怎樣回答。總理肯定地說:「不是的!」全場嘩然,議論紛紛。總理看出了大家的疑惑,補充說了一句:「當官的不窮。」頓時掌聲雷動。總理的機智打動了在場的所有人,掌聲經久不息。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.127.95 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1586316991.A.0EF.html
bitlife: 主機是cpu和os是幾bit的作業系統? truncate理論上是用 04/08 13:17
bitlife: truncate system call去實作,而trucate的長度參數是off_t 04/08 13:17
bitlife: ,所以不同機器的上限可能會因為cpu,os的限制而有所不同 04/08 13:18
bitlife: man 2 truncate 04/08 13:18
bitlife: 寫個c程式 printf("%d", sizeof(off_t)); 就可以知道 04/08 13:21
我機器是 debian buster 64bit ,off_t 是 8 byte , 256^8 = 18446744073709552000 , 應該是遠超 20G 了。 ※ 編輯: Gold740716 (140.113.127.95 臺灣), 04/08/2020 13:50:06 早上是用 scp 下載檔案到超過大小限制。 ※ 編輯: Gold740716 (140.113.127.95 臺灣), 04/08/2020 13:50:48
bitlife: 不能改用ext4嗎? ext3的年代硬碟真的很小,大容量硬碟出來 04/08 15:12
bitlife: 的年代預設都是ext4,遇到了詭異問題如何可以先閃就閃 04/08 15:12
bitlife: 如果可以 04/08 15:13
之前倒是用 ext4 常碰到問題, 筆電格式化的 ext4 拿到伺服器上, 結果筆電格式化的 ext4 裡, 有伺服器 os 不支援的新屬性不能讀。 所以後來就保險一點改用 ext3 。 ※ 編輯: Gold740716 (140.113.127.95 臺灣), 04/08/2020 15:56:30
kdjf: 那就XFS吧,幾乎大家都能掛,頂多沒有修復工具 04/08 16:46
也不是很常有超過 20G 的檔案, 只是偶爾碰到會覺得麻煩,要用 split 切。 所以沒有換的打算。 比較好奇是為什麼我的 ext3 的大小上限和其它人不一樣。 ※ 編輯: Gold740716 (140.113.127.95 臺灣), 04/08/2020 20:35:15 後來夢到是我在 /etc/security/limits.conf 裡自己設了大小上限。 ``` * soft fsize 20000000 ``` 當初應該是覺得完全沒有限制不太好, 至少設一個很大的值, 想不到後來用了一顆大容量硬碟很容易就超過了。 要繞過的方法是切換為 root , 只有 root 用 bash 指令 ulimit , 可以放鬆自己的限制,一般使用者只能調緊。 似乎也不能調整其它執行中程序的限制? ``` # ulimit -f $((100 * 1000 * 1000 * 1000)) ``` ※ 編輯: Gold740716 (140.113.127.95 臺灣), 04/08/2020 22:34:07
bitlife: XD 你應該沒在用虛擬機器,隨便一個虛擬機器的虛擬硬碟都 04/08 23:13
bitlife: 幾十GB上百GB的 04/08 23:13
我是窮人,每天都在煩惱硬碟不夠用。 最近在煩惱 windows 的 qcow2 映像檔越長越大怎麼辦。 linux 的虛擬機比較小,幾十G可以打發, lxc 的話還可以壓到 10G 內。 忽然又發現 soft 是可以被 ulimit 提升的。 ※ 編輯: Gold740716 (140.113.127.95 臺灣), 04/08/2020 23:33:36
Debian: 為了避免等一下被叫出來踹共,先自行出來跪算盤。 04/09 03:22