[問題] ext3 檔案大小上限只有 20G

看板Linux作者 (項為之強)時間4年前 (2020/04/08 11:36), 4年前編輯推噓2(2010)
留言12則, 3人參與, 4年前最新討論串1/1
在 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

04/08 13:17, 4年前 , 1F
主機是cpu和os是幾bit的作業系統? truncate理論上是用
04/08 13:17, 1F

04/08 13:17, 4年前 , 2F
truncate system call去實作,而trucate的長度參數是off_t
04/08 13:17, 2F

04/08 13:18, 4年前 , 3F
,所以不同機器的上限可能會因為cpu,os的限制而有所不同
04/08 13:18, 3F

04/08 13:18, 4年前 , 4F
man 2 truncate
04/08 13:18, 4F

04/08 13:21, 4年前 , 5F
寫個c程式 printf("%d", sizeof(off_t)); 就可以知道
04/08 13:21, 5F
我機器是 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

04/08 15:12, 4年前 , 6F
不能改用ext4嗎? ext3的年代硬碟真的很小,大容量硬碟出來
04/08 15:12, 6F

04/08 15:12, 4年前 , 7F
的年代預設都是ext4,遇到了詭異問題如何可以先閃就閃
04/08 15:12, 7F

04/08 15:13, 4年前 , 8F
如果可以
04/08 15:13, 8F
之前倒是用 ext4 常碰到問題, 筆電格式化的 ext4 拿到伺服器上, 結果筆電格式化的 ext4 裡, 有伺服器 os 不支援的新屬性不能讀。 所以後來就保險一點改用 ext3 。 ※ 編輯: Gold740716 (140.113.127.95 臺灣), 04/08/2020 15:56:30

04/08 16:46, 4年前 , 9F
那就XFS吧,幾乎大家都能掛,頂多沒有修復工具
04/08 16:46, 9F
也不是很常有超過 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

04/08 23:13, 4年前 , 10F
XD 你應該沒在用虛擬機器,隨便一個虛擬機器的虛擬硬碟都
04/08 23:13, 10F

04/08 23:13, 4年前 , 11F
幾十GB上百GB的
04/08 23:13, 11F
我是窮人,每天都在煩惱硬碟不夠用。 最近在煩惱 windows 的 qcow2 映像檔越長越大怎麼辦。 linux 的虛擬機比較小,幾十G可以打發, lxc 的話還可以壓到 10G 內。 忽然又發現 soft 是可以被 ulimit 提升的。 ※ 編輯: Gold740716 (140.113.127.95 臺灣), 04/08/2020 23:33:36

04/09 03:22, 4年前 , 12F
為了避免等一下被叫出來踹共,先自行出來跪算盤。
04/09 03:22, 12F
文章代碼(AID): #1UZKQ_3l (Linux)