Размер кластера и дисковое пространство
Доброго времени суток, дорогие друзья, знакомые, читатели, почитатели и прочие личности. Сегодня мы говорим, что логично из заголовка, про размер кластера и сопутствующие тому нюансы с дисковым пространством.
Мы уже говорили с вами про размерности, рассказывали о том куда девается место на жестком диске и многое всякое-разное на эту тему. Пришла пора говорить и про размеры кластеров, ибо часто они вызывают при форматировании (не путать с дефрагментацией) множество вопросов.
Сам по себе этот размер задаётся при уже упомянутом форматировании или создании самого раздела. Доступные размеры зависят от файловой системы ( NTFS, FAT, exFAT , если мы рассматриваем Windows) и влияют не только на количественные, но и на скоростные характеристики дисковой подсистемы.
Впрочем, давайте обо всём по порядку.
Что такое форматирование
Форматирование носителя — это его разметка для подготовки к использованию для чтения или записи информации.
Различают низкоуровневое и высокоуровневое форматирование.
- Низкоуровневое форматирование подразумевает предварительную разметку носителя, формирование базовой структуры в виде дорожек и секторов. Выполняется заводом-изготовителем и впоследствии, как правило, не меняется. После низкоуровневого форматирования производится разбиение диска на разделы.
- На этапе высокоуровневого форматирования формируется логическая структура диска.
Различают два вида форматирования: быстрое и полное.
- При быстром форматировании формируется только файловая таблица.
- При полном форматировании сначала проходит проверка состояния носителя. Поврежденные сектора помечаются как непригодные для использования, и информация в них впоследствии не пишется. И только после этого формируется файловая таблица.
Различия между разметками дисков
Если продолжить аналогию с комнатой, уставленной шкатулками, то будет понятно, что могут быть различные способы упорядочить данные в них, а также систематизировать записи в каталоге. Каждый из таких методов будет называться отдельной файловой системой, со своими преимуществами и недостатками.
Какая из них будет использоваться, зависит в первую очередь от операционной системы и того, как планируется использовать сам компьютер, и какой величины файлы будут храниться в его памяти.
Здесь нужно отметить, что понятие «кластер» относится к разметкам, созданным для ОС семейства Windows и некоторым Mac от Apple.
Как с этим взлетать и что стоит понимать
Визуально Вы думаю представили, как оно выглядит. Давайте разбираться как работает.
Предположим, что размер кластера равен 4 КБ (как правило, — это значение по умолчанию, не считая самых старших версий систем). Так устроено, что файл, меньшего размера, помещенный туда всё равно будет занимать 4 КБ . Наглядный пример:
Два файла меньшего размера уже 8 Кб :
Т.е, условно говоря, в показанном выше примере, — Вы теряете место, — ибо хранение небольших файлов в файловой системе с б о льшими (чем размер файлов) кластерами приведет к, условно, потери (простою) места на диске.
Но при этом хранение больших файлов на малом размере кластера привет к излишней фрагментации (не критично для SSD ) этого файла на много маленьких кусочков, что потребует б о льшего времени доступа к нему и скажется на производительности. При этом, зачастую (но не всегда), свободное место теряться не будет.
Говоря проще, отсюда стоит вынести следующее:
- Вы выбираете средний (ни туда, ни сюда) размер кластера, если наверняка не знаете какие файлы у Вас будут храниться на диске, за всеми не уследить и вообще пытаетесь попасть в золотую середину ;
- Вы точно знаете, что на диске будут храниться в основном мелкие файлы и выбираете наименьший возможный размер кластера;
- Вам не важен небольшой выигрыш в производительности , ценой потери места и потому выбираете наименьший возможный размер кластера;
- Вы точно знаете, что на диске будут храниться в основном большие файлы и выбираете наибольший доступный размер кластера;
- Вы неиллюзорно важен выигрыш в производительности, ценой потери места и выбираете наибольший доступный размер кластера;
- Вы адепт майкрософт_всё_знает_лучше_меня_зачем_я_читаю_эту_статью и оставляете размер по умочанию .
Но это еще не всё. Для адептов последнего пути, далее приводится набор таблиц, которые используются Miscrosoft по умолчанию, в зависимости от размера носителя, т.е это значения по умолчанию, задаваемые системой. Пользоваться ими или нет, — дело Ваше.
Классификация кластеров
Кластеры высокой доступности
Обозначаются аббревиатурой HA (англ. High Availability — высокая доступность). Создаются для обеспечения высокой доступности сервиса, предоставляемого кластером. Избыточное число узлов, входящих в кластер, гарантирует предоставление сервиса в случае отказа одного или нескольких серверов. Типичное число узлов — два, это минимальное количество, приводящее к повышению доступности. Создано множество программных решений для построения такого рода кластеров.
Отказоустойчивые кластеры и системы вообще строятся по трем основным принципам:
Конкретная технология может сочетать данные принципы в любой комбинации. Например, Linux-HA поддерживает режим обоюдной поглощающей конфигурации (англ. takeover ), в котором критические запросы выполняются всеми узлами вместе, прочие же равномерно распределяются между ними.
Кластеры распределения нагрузки
Принцип их действия строится на распределении запросов через один или несколько входных узлов, которые перенаправляют их на обработку в остальные, вычислительные узлы. Первоначальная цель такого кластера — производительность, однако, в них часто используются также и методы, повышающие надёжность. Подобные конструкции называются серверными фермами. Программное обеспечение (ПО) может быть как коммерческим (OpenVMS, MOSIX, Platform LSF HPC, Solaris Cluster, Moab Cluster Suite, Maui Cluster Scheduler), так и бесплатным (OpenMosix, Sun Grid Engine, Linux Virtual Server).
Вычислительные кластеры
Кластеры используются в вычислительных целях, в частности в научных исследованиях. Для вычислительных кластеров существенными показателями являются высокая производительность процессора в операциях над числами с плавающей точкой (flops) и низкая латентность объединяющей сети, и менее существенными — скорость операций ввода-вывода, которая в большей степени важна для баз данных и web-сервисов. Вычислительные кластеры позволяют уменьшить время расчетов, по сравнению с одиночным компьютером, разбивая задание на параллельно выполняющиеся ветки, которые обмениваются данными по связывающей сети. Одна из типичных конфигураций — набор компьютеров, собранных из общедоступных компонентов, с установленной на них операционной системой Linux, и связанных сетью Ethernet, Myrinet, InfiniBand или другими относительно недорогими сетями. Такую систему принято называть кластером Beowulf. Специально выделяют высокопроизводительные кластеры (Обозначаются англ. аббревиатурой HPC Cluster — High-performance computing cluster). Список самых мощных высокопроизводительных компьютеров (также может обозначаться англ. аббревиатурой HPC) можно найти в мировом рейтинге TOP500. В России ведется рейтинг самых мощных компьютеров СНГ.
Системы распределенных вычислений (grid)
Такие системы не принято считать кластерами, но их принципы в значительной степени сходны с кластерной технологией. Их также называют grid-системами. Главное отличие — низкая доступность каждого узла, то есть невозможность гарантировать его работу в заданный момент времени (узлы подключаются и отключаются в процессе работы), поэтому задача должна быть разбита на ряд независимых друг от друга процессов. Такая система, в отличие от кластеров, не похожа на единый компьютер, а служит упрощённым средством распределения вычислений. Нестабильность конфигурации, в таком случае, компенсируется больши́м числом узлов.
Кластер серверов, организуемых программно
Кластер серверов (в информационных технологиях) — группа серверов, объединённых логически, способных обрабатывать идентичные запросы и использующихся как единый ресурс. Чаще всего серверы группируются посредством локальной сети. Группа серверов обладает большей надежностью и большей производительностью, чем один сервер. Объединение серверов в один ресурс происходит на уровне программных протоколов.
В отличие от аппаратного кластера компьютеров, кластеры организуемые программно, требуют:
Применение
В большинстве случаев, кластеры серверов функционируют на раздельных компьютерах. Это позволяет повышать производительность за счёт распределения нагрузки на аппаратные ресурсы и обеспечивает отказоустойчивость на аппаратном уровне.
Однако, принцип организации кластера серверов (на уровне программного протокола) позволяет исполнять по нескольку программных серверов на одном аппаратном. Такое использование может быть востребовано:
Размещение информации на жестком диске
Жесткий диск компьютера физически представляет из себя металлический диск, на поверхность которого нанесен магнитный слой. Диск вращается с постоянной скоростью, а над его поверхностью, не касаясь ее, скользят магнитные головки. При записи магнитные головки оставляют на поверхности намагниченный след — дорожку. Дорожка делится на сектора, в которые, собственно, и записывается информация. В стандартном секторе 512 байт информации. Головки могут двигаться от края диска к центру, формируя на его поверхности множество дорожек. Номер дорожки и номер сектора на ней однозначно определяют положение информации на диске.
1. Что такое кластер дискового пространства
Кластер – это логическая единица дискового пространства, минимальный его блок, выделяемый для записи файла. У жёстких дисков есть физическая единица дискового пространства – сектор. Сектора могут быть размером 512 или 4096 байт. Это предустановленный производителем жёсткого диска параметр, и он не может быть изменён программными средствами. Последние могут оперировать только логической единицей – кластером. И оперировать только в рамках возможностей выбранной файловой системы. К примеру, для NTFS размер кластера может быть установлен от 512 байт до 2 Мб (2048 Кб).
Размер кластера, отличный от предлагаемого по умолчанию, мы можем выбрать при форматировании раздела средствами Windows.
Windows 7 и 8.1 позволяют установить размер кластера максимум 64 Кб. В среде же Windows 10 можно выбрать больший размер – от 128 до 2018 Кб.
Размер кластера также можем выбрать по своему усмотрению при создании разделов в штатном управлении дисками. Создаём том (раздел).
Указываем размер тома.
Идём далее.
И на этапе форматирования тома выбираем размер кластера.
Итак, кластер – это единичный блок для размещения файлов. Каждый файл записывается в новый кластер. Файл весом более размера кластера, соответственно, занимает несколько таковых. Чем меньше размер кластера, тем более эффективно будет расходоваться место на диске при условии, что на нём преимущественно хранятся мелкие файлы до 512, 1024, 2048 байт и т.д. Тогда как при кластере большего размера дисковое пространство будет менее эффективно занято данными с малым весом. Но вопрос об эффективности не будет стоять при условии хранения на диске данных с весом от 64 Кб или иного выбранного размера. При этом ещё и получаем незначительный прирост производительности в скорости чтения и записи HDD в условиях фрагментации. При большем размере кластера фрагментированный файл делится на меньшее количество частей, что уменьшает число смещений считывающей головки HDD.
Маленький блог скромного айтишника.
И так, буквально вчера я неожиданно узнал что для SSD дисков также важно 4к выравнивание кластеров. Изначально жесткие диски имеют выравнивание 512 байт, это связано с физическими параметрами диска, и поэтому форматирование таких дисков должно было быть кратно этой величине, что всегда и выполнялось, размер кластера при форматировании варьировался от 512байт до 32кбайт
Однако в последнее время появились жесткие диски большой ёмкости, у которых прежняя адресация на физическом уровне по 512байт была увеличена до 4кбайт.
Т.е. физически диск способен адресовать данные начало которых кратно 4096 байт. Однако размещение файлов ОС производит по логической структуре кластеров при форматировании. Очень плохо если логический кластер не совпадает с физическим блоком на диске. Для этого производители дисков комплектуют их утилитами предварительного выравнивания кластеров. По сути это программы форматирования, которые форматируют диск так чтобы начало кластера всегда совпадало с началом блока.
Однако это в основном касалось (как мне казалось) лишь дисков повышенной ёмкости (от 2ТБ). Оказалось это не так. Этому подвержены и все SDD, и вот почему:
SSD состоят из микросхем памяти, который имеют строго размер равный степени двойки, и как результат — размер блока 4к. Если данные на SSD диске размещены без выравнивания кратного 4096байт то резко падает скорость прежде всего записи, и записи маленьких файлов.
По некоторой информации Windows 7 во время чистой установки на SSD диск сразу производит выравнивание. Однако при переносе системы с HDD на SSD с помощью различных утилит, весьма вероятно отсутствие требуемого выравнивания.
Как проверить выровнен ли ваш SSD диск? Скачайте программу тестирования SSD дисков — AS SSD Benchmark Она даже без запуска самого тестирования показывает выровнен ли ваш диск или нет. (применимо только для SSD!).
Как выровнять диск без потери данных? 1. Для начала рекомендуется сделать бэкап ценных данных, или даже полный бэкап диска любой понравившейся вам утилитой. Этот шаг необязательный. 2. Скачайте программу Paragon Alignment Tool (300р), можно найти и бесплатно в известных местах. 3. Запустить программу, выбрать только SSD диск или 4k-HDD диск (только если программа выделяет их желтым цветом). Если цвет диска — красный то выровнять его по каким либо причинам нельзя. Обычно нельзя выровнять служебный диск Windows 7 (размером 100 -300 мб). 4. Начать процедуру выравнивания, если надо перезагрузить для выравнивания системного раздела
Внимание! Время выравнивания примерно равно времени полной записи всего объёма диска
Вот что получилось у меня спустя 20минут ожидания:
Послесловие
С точки зрения эффективности пространства, т.е сохранения свободного места на диске, конечно маленький кластер выглядит очень привлекательно и позволяет не терять большие объемы на ровном месте. С другой стороны, собственно, диски чем дальше, тем больше и дешевле, посему порой можно и принебречь потерями в угоду производительности, и, меньшей фрагментированности данных. С другой стороны, стоит ли заморачиваться, если есть SSD . С другой, — маловерятно, что на SSD вы храните терабайты фильмов, музыки, фото и других файлов, размером более мегабайта.
Что делать? Как и в случае с файлом подкачки, выбирать решение под свои цели, задачи и железо, либо попросту не заморачиваться, но тогда решительно не понятно зачем Вы это читали
Как и всегда, если есть какие-то вопросы, разумные мысли и послезные дополнения, то добро пожаловать в комментарии к этому материалу.
голоса
Рейтинг статьи
Файловая система NTFS
Создана на смену устаревшим версиям FAT, для поддержки дисков больших объемов и новых технологий, внедряемых в операционные системы. От предшественниц в первую очередь отличается возможным количеством кластеров, число которых может достигать 2 48 . Это позволяет использовать NTFS на дисках объемом 16 Эксабайт (16 млн Терабайт), причем величина используемых файлов ограничена только емкостью носителя.
Если размер кластера при форматировании NTFS-разделов может быть выбран примерно, как и у предшественниц – от 512 Байт до 64 Кбайт, то возможности файловой системы для соблюдения безопасности на порядок выше. Ее записи могут соблюдать права доступа нескольких владельцев компьютера, есть возможность назначать квоты доступного места на диске, а кроме того, сами файлы защищены от сбоев, например, при отключении электроэнергии.
Так как эта файловая система далека от исчерпания своих ресурсов, то решать, какой размер кластера нужно выставить, еще долго придется на ее примере.
Что такое размер кластера и на что он влияет при форматировании
Всякий, кто форматировал диски или разделы в Windows, сталкивался с таким параметром, как размер кластера. Скорее всего, неискушенному пользователю такое название параметра ни о чем не скажет
Между тем, насколько он важен? И имеет ли смысл заострять на нём внимание при форматировании. Об этом и будет эта заметка
Что же такое кластер? Кластер этот тот минимальный объем дискового пространства, который файловая система выделит под файл. Для того, чтобы было понятнее, разберем это на примере.
При форматировании жесткого диска, SSD-диска, флешки или раздела операционная система Windows предложит нам выбрать размер кластера.
Выбор размера кластера при форматировании
Итак, если мы обозначим размер кластера как 4096 байт, то даже очень маленький файл размером в 1 байт займет на диске 4096 байт. Если же размер файла окажется хотя бы 4097 байт (то есть больше одного кластера), то система выделит под него уже два кластера, а именно 8192 байта.
Логика понятна. Казалось бы, раз так, то имеет смысл выбирать самый малый размер кластера для экономии пространства на носителе информации. Однако, как часто бывает, есть и обратная сторона.
Большой размер кластера ускоряет операции чтения-записи, что удобно при копировании файлов больших объемов. Ну и конечно, если диск предназначается в основном для больших файлов, то дисковое пространство будет использоваться рационально даже при большом кластере.
И напротив, как мы уже выяснили, при большом количестве маленьких файлов большой размер кластера приведет к нерациональному занятию пространства.
Если неизвестно какое количество файлов и какого объема будет содержать носитель, можно выбрать стандартный размер кластера, который операционная система рассчитает исходя из размеров носителя.
Кластеризация дискового пространства неизбежно ведет к потере некоторой доли пространства. Сама корпорация Microsoft при расчете потерянного пространства рекомендует формулу:
(размер кластера)/2 * (количество файлов)
В этой статье в базе знаний Microsoft можно подчерпнуть дополнительную информацию о кластерах в файловых системах NTFS, FAT и exFAT.
Как определяется размер кластера
Перед тем как с чистого листа начать работу с жестким диском или флешкой необходимо произвести форматирование. Если вы считаете что это всего лишь полная очистка с удалением содержимого, то ошибаетесь.
Такая процедура в первую очередь связана с разметкой памяти и разделением ее на кластеры для конкретной файловой системы. Это так же осуществляется не произвольно. Мы говорили о секторах на диске, так вот ранее выпускаемых моделях размер одного составлял 512 байт и их в одном кластере может быть несколько (число, кратное степени 2). Например, система FAT 32 позволяет отдавать под кластер до 64 секторов, что соответствует 32Мб. Но на флешку с таким форматированием вы не запишите файл объемом более 4Гб.
Сейчас активно используются более совершенные файловые системы NTFS или exFAT. Их возможности позволяют работать с объемными файлами и хранилищами информации.
На современных дисках емкостью в несколько терабайт используется новая разметка секторов Advanced Format, в которых 1 сектор занимает уже 4Кб. Соответственно и размер кластера будет кратен этой величине.
Такой способ распределения секторов позволяет существенно увеличивать емкость жестких дисков. И соответственно снизить условную себестоимость 1 Тб памяти.
Какой размер кластера выбрать при форматировании NTFS. Размер единицы распределения при форматировании
Приветствую своих читателей и сегодня мне очень приятно перейти от теории поближе к практике. Сегодня мы будем выяснять, какой размер кластера выбрать при форматировании NTFS. Эта реальная задача постоянно возникает при подготовке жесткого диска к переустановке Windows, а так же в других ситуациях.
Для начала вспомним, что такое кластер и NTFS и какая связь между этими понятиями. Итак, память компьютера (или флешки, или карты памяти) разбивается на отдельные сектора объемом 512 байт или 4 Кб, которые в свою очередь группируются в кластеры. Соответственно, размер кластера кратен объему сектора.
Файловая система среди прочих функций определяет возможный размер кластера:
- В устаревшей FAT32 – это от 1 до 32 Мб;
- Пришедшая ей на смену в USB накопителях exFAT – от 4 до 128 Мб;
- Наиболее стабильная, интересующая нас NTFS – от 4 до 64 Мб;
Размер, имеющий значение
Информация файла вносится в эти кластеры, каждый из которых имеет свой адрес, что облегчает и определяет механизм ее считывания или записи. Важным для дальнейшего понимания процесса является условие, по которому в один кластер могут помещаться только данные одного файла.
Например, мы имеем файл размером 260 Кб и кластеры по 32 Кб. Значит, в 8-и из них будет храниться 32 х 8 = 256 Кб и еще 4 Кб в 9-ом. То есть, в данном случае на диске будет занят объем, соответствующий размеру девяти кластеров 288 Кб, а это уж никак не наши 260 Кб, а на целых 10% больше чем мы предполагали задействовать.
Процент здесь указан просто для иллюстрации того, что не все место диска эффективно используется. Будь у нас файлик поменьше, например 33 Кб (ну, чтоб не помещался в один кластер) это показатель был бы вообще пугающим: 2 кластера по 32 Кб = 64 Кб для хранения 33-ёх!!!
КПД памяти – чуть более 50%. Этот пример четко показывает, что размер кластера должен быть сопоставим с объемом используемых в системе файлов.
Но это скорее частный редкий случай, поскольку сейчас используются относительно большие файлы, намного превышающие размер кластеризации. И вот здесь проявляют себя другие факторы:
- Выше приведенный пример показывает, что в последнем кластере теоретически может быть использован всего 1 Кб, соответственно, чем больше его размер, тем больше остается незадействованной памяти. Данный эффект усиливается с ростом количества файлов.Поэтому вполне логично, что чем меньше размер кластера, тем более эффективно мы сможем использовать носитель информации;
- С другой стороны, считывая данные, процессор обращается по адресам каждого из кластеров и это занимает определенное время. Чем больше их задействовано – тем больше таких переходов. Серьезно усугубляет ситуацию и тормозит работу компьютера (особенно в HDD) высокий уровень фрагментации, при которой кластеры не собраны в сплошные блоки, а раскиданы в разных местах. С этой позиции большие кластеры предпочтительнее, поскольку для размещения условного файла среднего объема их потребуется намного меньше.
Решение принимать вам
Как же все-таки разрешить возникшую дилемму и выбрать оптимальный размер кластера при форматировании NTFS? Да очень просто и здесь есть три варианта:
- Прикинуть, с какими файлами вы собираетесь работать. Если они преимущественно небольшие – можно выбрать размер кластера поменьше. Так же можно разбить диск на несколько разделов и каждый отформатировать со своим размером кластера. Например, установить максимальный для места хранения мультимедийных файлов;
- Установить вместительный жесткий диск (с достаточным запасом по объему) и произвести его форматирование, выбрав наибольший размер кластера;
- Вообще не париться по этому поводу и при форматировании установить стандартные настройки по умолчанию. А они напрямую зависят от объема винчестера или SSD;
По-сути, определяя для своей системы или хранилища информации размер кластера, вы ищете компромисс между быстродействием и или эффективностью использования памяти. И, как видите, задача эта в принципе-то не сложная. Во всяком случае, какое бы решение вы не приняли, никаких критических последствий оно за собой не понесет.
Так что даже можете поэкспериментировать, тем более что существуют программы, позволяющие изменять кластеры в уже отформатированной, работающей системе без потере содержащихся на накопителе информации.
Возможно в будущем как-нибудь напишу подробную обзорную статью о том как влияет скорость работы накопителя при разных размерах кластеров.
Но я искренне желаю вам уверенности и компьютерной интуиции, которая поможет выбрать оптимальный размер кластера. На этом я буду заканчивать и прощаться с вами.
До скорых встреч в новых темах моего блога.