Назад | Перейти на главную страницу

В NTFS какая разница между размером сектора, размером блока и размером кластера?

Например, у меня есть том со следующей информацией, извлеченной из ntfsinfo:

$ sudo ntfsinfo -m /dev/sdb1
Volume Information
        Name of device: /dev/sdb1
        Device state: 11
        Volume Name: Photos 250GB
        Volume State: 27
        Volume Version: 3.1
        Sector Size: 512
        Cluster Size: 65536
        Index Block Size: 4096
        Volume Size in Clusters: 3815583

который ранее был создан через:

$ sudo mkfs.ntfs -c 65536 -Q -L "Photos 250GB" /dev/sdb1

Я читал это размер кластера такой же как размер кластера в Windows. Поэтому я ожидаю, что файлы будут занимать не менее 64 КБ, как в Windows. Однако это не кажется очевидным при вызове stat в небольшом файле:

$ stat lsfsdf
  File: `lsfsdf'
  Size: 9               Blocks: 1          IO Block: 4096   regular file
Device: 811h/2065d      Inode: 80          Links: 1

Я пытаюсь понять все это, и поэтому хочу знать, что размер сектора, размер кластера и размер блока индекса находятся в объемной информации, выводимой ntfsinfo.

«Размер сектора» описывает размер атомной единицы самого запоминающего устройства. «Размер кластера» описывает элементарную единицу распределения NTFS для нерезидентных потоков (см. Ниже). Индексные блоки используются для хранения каталогов. «Размер индексного блока» описывает размер элементарной единицы хранения индексного блока.

Вы видите выделение подкластера для небольших файлов из-за резидентных потоков. Небольшие файлы хранятся непосредственно в таблице основных файлов (MFT) (a "резидентный поток") и не требуют выделения кластера.