調試 mkfs.ext3 命令輸出

調試 mkfs.ext3 命令輸出

我正在我的外部硬碟中建立一個新的檔案系統。格式化時,我必須將此分割區格式化為周圍剩餘的可用分割區850GB。現在,我ext3在這個分割區中建立了一個檔案系統。這是我的mkfs.ext3命令的輸出。

mkfs.ext3 /dev/sdb3
mke2fs 1.41.3 (12-Oct-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
52060160 inodes, 208234530 blocks
10411726 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
6355 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

有人可以幫助我調試信息,因為我不清楚這些值實際上代表什麼?

答案1

首先,讓我們使用位元組表示法來理解這些概念。現在,外部硬碟的實際大小是850GB這翻譯成912680550400位元組.

區塊大小和片段大小

區塊大小指定檔案系統將用於讀取和寫入資料的大小。這裡預設的區塊大小為4096使用位元組。 ext3 檔案系統不支援區塊碎片,因此一個位元組檔案將使用整個4096堵塞。可以透過在命令-f中指定 來修改此值mkfs,但不建議這樣做,因為當今的檔案系統有足夠的容量。

Total blocks possible = 912680550400/4096 = 222822400 blocks

所以在我們的命令輸出中我們實際上得到了208234530這與我們的計算非常接近,因為總是會有一些區塊無法使用。

Total inodes in this example = 208234530/4 = 52058632.5 inodes

根據 derobert 的評論,總索引節點是mkfs實際建立的數量。inodesext2/3/4 上的mkfs時間是建立的。我們可以使用多個選項( -i、 )來變更它所建立的數量,-N並且不同的-T選項會隱式執行此操作。

這始終是一種啟發式方法,因此根據我們的命令可能的總索引節點為52060160索引節點。

Maximum file system size possible = 4294967296 * 4096 (block size)

所以理論上檔案系統大小可以達到16TB但事實並非如此。

區塊組的大小在 中指定sb.s_blocks_per_group blocks,但也可以按 計算8 * block_size_in_bytes。所以可能的總塊組可能是,

total block groups = 208234530/32768 = 6354.81 

所以它接近於6355根據我們的命令輸出進行分組。

Total inodes per group = 32768/4 = 8192 inodes

參考

http://www.redhat.com/archives/ext3-users/2004-December/msg00001.html

https://ext4.wiki.kernel.org/index.php/Ext4_Disk_Layout

https://serverfault.com/a/117598

ext3 檔案系統中的片段大小是多少?

相關內容