Что такое кластер жестких дисков

Обновлено: 21.11.2024

В компьютерных файловых системах кластер — это единица распределения дискового пространства для файлов и каталогов.

Кластер представляет собой наименьший объем дискового пространства, который можно использовать для хранения файла.

Чтобы уменьшить нагрузку на управление структурами данных на диске, файловая система операционной системы выделяет не отдельные сектора диска, а непрерывные группы секторов, называемые кластерами.

Кластер не обязательно должен быть физически непрерывным на диске; он может охватывать более одной дорожки или, если используется перемежение секторов, может даже быть прерывистым в пределах дорожки. Это не следует путать с фрагментацией, так как сектора по-прежнему логически непрерывны.

Большинство жестких дисков поставляются с заводским форматом низкого уровня, где размер блока равен 512 байтам. Файловая система (в данном случае NTFS) может создавать кластеры с размерами, кратными 512 (по умолчанию 4 КБ или 8 блоков).

Функция

Кластер позволяет файловой системе ОС оптимизировать управление данными диска независимо от размера сектора диска, установленного аппаратным контроллером диска.

Кластеры упоминаются в Windows как размер единицы размещения для файловой системы.

Например, NTFS в Windows NT 4.0 и более поздних версиях Windows составляет 4 килобайта (КБ). Подробнее см. в разделе Размер кластера Windows

Баланс между размером файла и размером кластера

Кластер — это наименьший логический объем дискового пространства, который можно выделить для хранения файла. Таким образом, хранение небольших файлов в файловой системе с большими кластерами приведет к пустой трате места на диске; такое потраченное впустую дисковое пространство называется свободным пространством. Для размеров кластера, которые малы по сравнению со средним размером файла, неиспользуемое пространство на файл будет статистически равно примерно половине размера кластера; для больших размеров кластера неиспользуемое пространство станет больше. Однако больший размер кластера снижает затраты на учет и фрагментацию, что может повысить общую скорость чтения и записи.

Обычный размер кластера варьируется от 1 сектора (512 Б) до 128 секторов (64 КБ).

Фрагментация

Поскольку кластер — это логическая единица, используемая файловой системой ОС, они могут находиться в любом месте на диске.

Если вы хотите, чтобы они располагались рядом друг с другом, вам необходимо выполнить дефрагментацию.

Понимание устройства кластеров жестких дисков поможет вам понять, что происходит за кулисами во время основных функций обслуживания. Подробности рассказывает Талаиния Поузи.

Практически каждый день я получаю вопросы об уходе за жесткими дисками. Часто эти вопросы относятся к таким темам, как FAT и FAT32, или к проблемам фрагментации. Обе эти темы тесно связаны со структурой кластера на жестком диске. В этом ежедневном обзоре я расскажу о структуре кластера. Я также объясню, как это связано с такими проблемами, как дисковое пространство и производительность.

Кластеры
Каждый раздел на жестком диске разделен на кластеры. кластер — это наименьшая возможная единица хранения на жестком диске. Размер кластера зависит от двух вещей:

  • Размер раздела
  • Файловая система, установленная на разделе

Независимо от размера вашего раздела максимальное количество кластеров остается неизменным. Например, в стандартной файловой системе FAT раздел может содержать не более 65 536 кластеров. Из-за этого ограничения размеры кластера зависят от размера раздела. По сути, небольшой раздел использует небольшие размеры кластера, а большой раздел использует большие размеры кластера.

В мире, где чем больше, тем лучше, а размер имеет значение, вы можете предположить, что большой жесткий диск с огромным размером кластера — это то, что вам нужно. Однако это не так. Как вы помните, кластеры — это наименьшая единица хранения на жестком диске. Это означает, что вы не можете разделить кластер между несколькими файлами. Если у вас крошечный файл и огромный кластер, часть этого кластера, не используемая файлом, теряется.

Чтобы понять приведенное выше утверждение, необходимо взглянуть на некоторые реальные цифры. В стандартной файловой системе FAT наименьший размер кластера составляет 2 КБ. Поэтому, если вы сохраните 1-байтовый файл на жестком диске с размером кластера 2 КБ, вы фактически будете использовать все 2 КБ (2048 байт). Таким образом, вы можете потерять в 2000 раз больше места, чем использовали бы, если бы ваш жесткий диск был заполнен однобайтовыми файлами.

Что делает этот факт еще более пугающим, так это то, что, как я упоминал ранее, 2 КБ — это наименьший размер кластера. Однако не забывайте об ограничении в 65 536 кластеров. Это означает, что если вы хотите использовать кластеры размером 2 КБ, размер раздела не может превышать 128 МБ (кластеры 2 КБ, умноженные на 65 536 кластеров, составляют 134 217 728 байт или 128 МБ). Если вы хотите, чтобы раздел FAT был больше 128 МБ, размер кластера придется увеличить.

По мере увеличения размера вашего раздела размеры кластера удваиваются, чтобы вместить его. Ниже приведена диаграмма, на которой показано количество кластеров, необходимых для размещения разделов различных размеров.Помните, что максимальный размер раздела FAT составляет 2 ГБ.

Размер кластера Размер раздела (байты) Размер раздела (МБ)
2 КБ 134 217 728 128
4 КБ 268 435 456 256
8 КБ 536 870 912 512
16 КБ 1,073,741,824 1,024 (1 ГБ)
32 КБ 2 147 483 648 2 048 (2 ГБ)

На приведенной выше диаграмме мы получили размер раздела в байтах, умножив размер кластера на 1024, чтобы преобразовать его из килобайтов в байты. Например, 2 КБ, умноженные на 1024, равняются 2048 байтам. Затем мы умножили количество байтов на максимальное количество кластеров в разделе — 65 536 — чтобы получить размер раздела в байтах. Например, 2 048, умноженное на 65 536, равно 134 217 728 байтам. Затем мы разделили это число на 1024, чтобы преобразовать количество байтов в килобайты, а затем разделили это число на 1024, чтобы преобразовать килобайты в мегабайты. Например, 134 217 728 байт разделить на 1024 равно 131 072 КБ. Разделив количество килобайт на 1024, мы получили 128 МБ.

Как видно из нашей диаграммы, на стандартном разделе FAT максимальный размер кластера составляет 32 КБ. Это означает, что 1-байтовый файл на 2-гигабайтном разделе займет целых 32 КБ или 32 768 байт.

К счастью, в реальном мире не так много однобайтовых файлов. Итак, вам может быть интересно, как файловая система обрабатывает большие файлы. Например, предположим, что вы использовали размер кластера 2 КБ и вам нужно было сохранить файл размером 11 КБ. В такой ситуации жесткий диск должен был бы использовать несколько кластеров для файла. Каждый кластер будет содержать часть файла вместе с информацией о том, какой кластер содержит следующий сегмент файла. Файл размером 11 КБ в разделе с размером кластера 2 КБ займет шесть кластеров. Пять кластеров будут использоваться полностью, а 1 КБ последнего кластера будет потрачено впустую.

Для сравнения предположим, что вы сохранили тот же файл размером 11 КБ в разделе, в котором используются кластеры размером 32 КБ. Будет использоваться только один кластер, в отличие от шести кластеров, используемых в меньшем разделе. Однако, поскольку размер файла составляет всего 11 КБ, а размер кластера – 32 КБ, 21 КБ пространства будет потрачено впустую.

Можно написать очень длинную статью о FAT32, но я не буду описывать все тонкости FAT32 в этом ежедневном обзоре. Однако я хотел рассказать вам, как перейти на FAT32. Вам нужно помнить о двух вещах. Во-первых, единственными операционными системами, помимо Windows 98, которые могут читать раздел FAT32, являются Windows 95 OEM Service Release 2 и Windows 2000. использовать FAT32, иначе другая операционная система не сможет использовать раздел. Во-вторых, если у вас есть какие-либо старые 16-битные дисковые утилиты, которые вам понравились, проверьте наличие более новых версий, потому что 16-битные дисковые утилиты испортят раздел FAT32. Утилиты, поставляемые с Windows 98, будут работать нормально.

Чтобы преобразовать существующий раздел в формат FAT32, используйте программу Drive Converter. Вы можете получить доступ к этой программе, выбрав Пуск | Программы | Аксессуары | Системные инструменты | Преобразователь дисков (FAT 32). Если вы создаете новый раздел и хотите использовать FAT32, вы можете сделать это, запустив программу FDISK в командной строке. Первое, что FDISK спросит у вас, хотите ли вы включить поддержку больших дисков. Если вы ответите Да на этот вопрос, вы сможете создавать разделы размером более 2 ГБ, а Windows 98 будет автоматически использовать FAT32 при форматировании нового раздела.

Дефрагментация жесткого диска
Вся структура кластера, которую я только что обсудил, имеет гораздо большее отношение к вашей системе, чем просто то, сколько места на жестком диске тратится впустую и насколько большим может быть ваш раздел. Расположение кластеров также влияет на общую производительность жесткого диска.

Как вы помните, ранее, когда я обсуждал неиспользуемое пространство в кластерах, я упомянул, что если файл использует несколько кластеров, каждый кластер будет содержать информацию о том, где на жестком диске находится следующий кластер в строке данных. Это очень важная информация. Это связано с тем, что в процессе естественного использования компьютера эти кластеры могут быть разбросаны по всему жесткому диску.

Чтобы увидеть, как это происходит, следуйте моему примеру. Допустим, у вас есть только что отформатированный жесткий диск, на котором используются кластеры размером 2 КБ (мы используем 2 КБ, чтобы упростить расчеты). Теперь предположим, что вы записываете на жесткий диск файл размером 4 КБ. Как вы могли догадаться, файл займет первые два кластера на жестком диске. Несмотря на то, что два кластера находятся рядом друг с другом, они содержат информацию о физическом расположении друг друга на жестком диске. Теперь предположим, что вы записываете на жесткий диск файл размером 6 КБ. Поскольку первые два кластера уже заняты, жесткий диск будет искать следующий доступный кластер, который является третьим кластером на диске.Файл размером 6 КБ займет кластеры 3, 4 и 5. Теперь предположим, что вы записываете на жесткий диск еще один файл размером 4 КБ. Жесткий диск будет искать следующий доступный кластер под номером 6. Таким образом, файл будет использовать кластеры 6 и 7.

Сам по себе процесс перемещения головки диска в новое место для чтения части файла не представляет большого труда. Это занимает всего несколько миллисекунд. Однако предположим, что у вас действительно большой файл, разбросанный по сотням или даже тысячам фрагментов. Все перемещения, которые должна совершить головка привода для чтения файла, могут занять очень много времени.

Здесь в игру вступает дефрагментация. Дефрагментация — это процесс организации различных фрагментов данных в линейную строку. После того, как фрагменты организованы в линейную строку, головке диска не нужно перемещаться, чтобы прочитать файл, что значительно сокращает время, необходимое Windows для загрузки файла.

Если вы никогда не дефрагментировали жесткий диск, я настоятельно рекомендую это сделать. Основным инструментом для дефрагментации жесткого диска является дефрагментация диска. Вы можете получить к нему доступ, выбрав Пуск | Программы | Аксессуары | Системные инструменты | Дефрагментатор жесткого диска. Я рекомендую дефрагментировать жесткий диск хотя бы раз в неделю.

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

Талаиния Поузи научилась обращаться с ПК старомодным способом: читая руководства и устраняя неполадки на рабочем месте. Ее опыт также включает в себя установку сетей для нескольких небольших компаний. В свободное от работы за компьютером время Талаиния любит покупать игрушки, смотреть мультфильмы или проводить время со своим котом Бивисом.

Авторы и редакторы позаботились о подготовке содержания, содержащегося в данном документе, но не дают никаких явных или подразумеваемых гарантий любого рода и не несут ответственности за ошибки или упущения. Мы не несем никакой ответственности за любой ущерб. Всегда имейте проверенную резервную копию, прежде чем вносить какие-либо изменения.

"Если существует множество различных операционных систем, каждая со своим типом файловой системы, нужны ли для каждой из них разные диски?" — спросил Руперт. — Хороший вопрос, — сказала Глория, — но ответ — «нет». Это связано с тем, что мы можем подготовить практически любой жесткий диск для работы с любой операционной системой и его файловой системой, выполнив процесс, называемый его форматированием, прежде чем мы попытаемся сохранить на нем какие-либо данные.

«Самое главное, что происходит при форматировании диска, — это то, что по крайней мере одна область диска должна быть загружена файловой системой операционной системы, готовой к хранению данных. Эти области называются разделами. У вас может быть один раздел, содержащий все пространство для хранения на диске, или разделить пространство на несколько разных разделов. Если вы хотите запустить более одной операционной системы на своем компьютере, вы даже можете создать разделы с разными файловыми системами. В любом случае вам нужен хотя бы один раздел на диске, и, если у вас есть более одного раздела, процесс форматирования приведет к тому, что ваша операционная система отобразит их как отдельные диски — например, в проводнике Windows или Finder на Mac.

«Некоторые процедуры форматирования могут также проверять физическую структуру диска на наличие ошибок, записывая их расположение, чтобы данные не записывались в эти места.

"После форматирования диска вы можете записать на него данные".

«У меня был… «друг», который однажды случайно отформатировал свой диск и потерял все свои данные», – грустно сказал Руперт.

«Ну, если вы переформатируете диск, на котором уже есть данные, данные не исчезнут, но операционная система не сможет их восстановить обычным способом. Поэтому для его возврата обычно требуются специальные инструменты».

"Ах, это похоже на то, как если бы вы разрушили систему индексирования в большой библиотеке", — сказал Руперт. «Все книги все еще там, но их действительно трудно найти».

"Так стоит ли переформатировать жесткий диск?" — спросил Руперт.

"Ну, иногда вам может понадобиться вернуться к началу, чтобы установить новую операционную систему на диск или в раздел диска. В этом случае вы захотите переформатировать диск или раздел для новой операционной системы. В крайнем случае переформатирование диска также может быть способом удаления вирусов с компьютера или исправления других ошибок».

"Итак, как организовано пространство на жестком диске после его форматирования?" — спросил Руперт.

«Все жесткие диски состоят из набора дорожек, иногда называемых кольцами, которые могут содержать данные. Дорожка диска слишком велика для эффективного управления данными как единой единицей хранения. (Отдельная дорожка на диске может хранить более мегабайта данных, что было бы очень неэффективно для хранения небольших файлов.) Таким образом, в процессе форматирования дорожки делятся на несколько пронумерованных равных частей, называемых секторами.

«Сектора представляют собой дугообразные части дорожки. Почти все файловые системы создают сектора, которые могут содержать 512 байт данных. Сектора сгруппированы в кластеры. Итак, кластер — это большая единица памяти, размер которой зависит от конкретной используемой файловой системы. Кластер всегда состоит из одного или нескольких последовательных секторов, но обычно в кластере четыре или восемь (или другая степень двойки) секторов. Когда файл записывается на жесткий диск, он всегда занимает целое число кластеров».

«Возможно, я сейчас заблудился», — жалобно сказал Руперт.

«Не беспокойтесь. Я знаю, что нужно усвоить много терминологии. Вот краткое изложение.

  1. Каждая пластина жесткого диска разделена на несколько концентрических дорожек.
  2. Каждая дорожка разделена на несколько секторов, каждый из которых может хранить одинаковый объем данных. Сектор — это наименьшая физическая единица хранения на диске, и в большинстве файловых систем его размер составляет 512 байт.
  3. Кластер может состоять из одного или нескольких последовательных секторов. Обычно кластер состоит из четырех или восьми секторов. Когда файл записывается на диск, файловая система выделяет соответствующее целое число кластеров для хранения данных файла».

– Как ни странно, – продолжила Глория, – на диаграммах сектора на блюде обычно изображаются разделенными на сегменты, как кусочки пиццы. Это имело место на старых жестких дисках, но это означало, что сектора на внешней стороне диска имели большую площадь, чем те, что ближе к центру, а это означало, что они содержали меньше битов на единицу площади и были менее эффективны при хранении. данных, чем внутренние сектора. На современных дисках каждый сектор имеет одинаковую площадь, поэтому каждый из них хранит одинаковое количество битов на единицу площади» (рис. 17).

В вычислениях кластер может относиться к двум разным вещам: 1) группе секторов в устройстве хранения или 2) группе подключенных компьютеров.

1) Группа секторов

Сектор – это наименьшая единица, к которой можно получить доступ на устройстве хранения, таком как жесткий диск или твердотельный накопитель. Кластер или единица размещения — это группа секторов, составляющих наименьшую единицу дискового пространства для файла в файловой системе. Другими словами, размер кластера файловой системы — это наименьший объем пространства, который файл может занимать на компьютере.

Обычный размер сектора составляет 512 байт. Обычный размер кластера составляет 8 секторов. Поэтому во многих файловых системах минимальный размер кластера составляет 4 кибибайта (8 x 512 байт).

Большинству файлов требуется большое количество кластеров, что означает, что содержимое файла распределяется по нескольким кластерам на диске. Часто данные можно записывать непрерывными блоками, чтобы содержимое файла хранилось в одном физическом месте. Однако, когда жесткий диск начинает заполняться, может не хватить смежных кластеров для сохранения больших файлов в одной области. Вместо этого они должны быть записаны в нескольких местах на диске. Это называется фрагментацией и может снизить скорость чтения и записи жесткого диска.

2) Группа подключенных компьютеров

Кластер также может относиться к группе компьютеров, которые работают вместе и выполняют схожие функции. В отличие от распределенных вычислений, компьютерный кластер управляется одной программой, которая управляет всеми компьютерами или «узлами» внутри кластера. Узлы работают вместе для выполнения одной задачи. Этот процесс называется "параллельными вычислениями", поскольку узлы выполняют операции в тандеме.

Компьютерные кластеры могут включать от двух до сотен подключенных компьютеров. Небольшие кластеры часто используются для повышения производительности веб-сервисов и сервисов онлайн-игр за счет параллельной обработки нескольких входящих запросов. Например, веб-ферма — это тип кластера, обеспечивающий доступ к веб-сайтам с малой задержкой. Большие кластеры можно использовать для выполнения научных расчетов или запуска большого количества сложных алгоритмов. Например, большой кластер можно использовать для применения текстур и световых эффектов к 3D-моделям в каждом кадре анимационного фильма.

Читайте также: