Ntfs

NTFS 中的分區塊大小和卷塊大小有什麼區別?

  • December 19, 2014

我最近格式化了一個新磁碟(掛載點)並想在 Windows Server 2012 R2 上驗證正確的塊大小。使用 PowerShell,我檢查了 WMI 計數器

gwmi win32_volume | select name,blocksize

產生:

M:\卷2\ 65536

我想檢查起始偏移量,所以我檢查了分區:

gwmi win32_diskpartition | select name,startingoffset,blocksize

這產生了:

磁碟 #5,分區 #0 1048576 512

所以分區塊大小是512,但卷是64K。有人可以幫我理解這兩個“塊大小”之間的區別嗎?

在一個非常基本的層面上,我了解分區和卷之間的區別,但我正在尋找測量的含義以及它們實際測量的差異(如果有的話)。

卷塊大小也可以被認為是“邏輯塊大小”,這是您放置在硬碟驅動器上的文件系統設置的塊大小。

分區塊大小本質上是向硬碟驅動器寫入位的硬體可以寫入的大小(a/k/a “物理塊大小”)。在低端和桌面控制器上,這通常是固定的(通常在 8 到 64k 範圍內),在高端控制器上,這可以配置到製造商設置的某個最大值。

現在,為什麼塊大小很重要?嗯,這是一個更長的答案。但取決於您的應用程序和它讀取和寫入的文件的大小。一般有兩個地方需要注意:

文件大小:

每個文件將佔用至少一個塊,通常更多。您不能將多個文件寫入同一個塊。對於許多小文件,您將開始失去大量可用磁碟空間。例如:我有一個 1024 MB 的磁碟,塊大小為 64k,磁碟上總共有 16,000 個塊,但是我只寫入 2kb 的文件,這意味著我每寫入 2k 的數據佔用磁碟 64k 空間。每次寫入這會損失我大約 62k 的磁碟空間。

表現:

塊大小對性能起作用的地方是,您希望邏輯塊大小與物理塊大小保持一致,這樣當您讀取或寫入磁碟時,您不必從控制器獲取比實際更多的塊需要。例如說你的塊沒有對齊。它們都是 64k,而您正在讀取一個 59k 的文件。現在,當您從磁碟讀取該文件時,您的控制器需要出去抓取兩個塊,總共 128k 被拉過控制器,只是為了抓取邏輯分區上一個數據塊中包含的數據。

另一方面,如果您正在從磁碟讀取或寫入大文件,則使用更大的塊大小會更有效,這樣控制器和文件系統可以一次獲取更多的數據,而不是使用較小的塊大小。

引用自:https://serverfault.com/questions/653804