что такое кластер файловая система
Что такое кластер на жестком диске и на что влияет его размер
Наверняка, многие из нас слышали про кластер на жестком диске. Давайте попробуем разобраться, что это такое, и на что влияет его размер.
Немного теории
Кластером называется минимальная часть пространства на жестком диске, выделяемая системой для хранения там файлов. Используемый в операционной системе диск имеет организацию именно на основании кластера. В подавляющем большинстве случаев общий размер файла несколько меньше суммы размеров кластеров, в которых он хранится на винчестере.
Чтобы было понятнее, рассмотрим пример – если посмотреть в свойствах папки, мы увидим, что фактический размер, занимаемый ей на винчестере, больше реального.
Как это работает
Размер кластера (или, другими словами, размер единицы распределения) обычно задается при форматировании, и на эту величину обычно не обращают внимания, оставляя рекомендованное системой значение.
И если на нашем диске размер кластера будет 4 кБ (рекомендованный Windows), то минимальное физическое пространство, занимаемое файлом, будет равно размеру кластера – 4 кБ.
Два таких файла займут, соответственно, размер 8 кБ и т.д.
То есть, при выбранном большом размере кластера файлы малого объема будут занимать значительное место на диске. Но большой размер кластера имеет и другие преимущества – в частности увеличение производительности работы жесткого диска. При минимальном размере кластера количество неиспользуемого дискового пространства при хранении файлов малого объема будут меньше.
Файловая система
Величина доступного размера кластера зависит от файловой системы на жестком диске. Вы можете ознакомиться с поддерживаемыми размерами для разных файловых систем и версий Windows на официальном сайте Microsoft.
Проверить, какая файловая система у вас вы сможете в окне свойств диска, щелкнув по нему правой кнопкой мышки в Проводнике и выбрав «Свойства» из контекстного меню.
Вместо послесловия
Мы с вами коротко разобрались с кластерами на жестком диске и с влияет их размера на хранение данных. Как видите, универсальный совет об оптимальном размере кластера дать очень сложно – здесь нужно выбрать оптимальное значение в зависимости от конкретных потребностей. Ну а в большинстве случаев наверное стоит оставить значение, предложенное системой.
П ри форматировании диска или флешки Windows предлагает определиться с двумя параметрами — типом файловой системы и размером кластера. Проблем с выбором файловой системы у пользователей Windows обычно не возникает. Если форматирование выполняется средствами операционной системы, то, скорее всего, на выбор будет предложено либо NTFS, либо FAT32. Используя сторонние программы для работы с дисками, можно отформатировать носитель в других файловых системах.
Что такое файловая система
• NTFS — классический тип файловой системы, используемой в операционной системе Windows. Как правило, выбирается он ОС автоматически.
• FAT32 также используется в Windows, но всё реже и реже. В отличие от NTFS, тома с FAT32 не могут хранить файлы, размер которых превышает 4 Гб, а кроме того, FAT32 не поддерживает настройку прав доступа к файлам и каталогам. Область применения FAT32 сегодня — карты памяти и прочие съёмные носители небольшого объёма.
• exFAT — расширенная FAT или иначе FAT64. Разработана Microsoft как альтернатива NTFS. Используется она в основном на flesh-накопителях большого объёма. exFAT отличается поддержкой настройки прав доступа, более высокими лимитами на размер файлов и кластеров.
• Файловые системы ext3, ext4 и ReiserFs используются в операционных системах Linux, для коих и были специально разработаны.
• HFS Plus используется в Mac OS, а UDF и ISO 9660 — в оптических носителях.
Что такое кластер
В Windows файловая система тесно связана с понятием кластера. На нём мы остановимся немного подробней. Что такое кластер, лучше всего продемонстрировать на примере сравнения файловой системы с таблицей. На этом изображении жёсткий диск представлен в виде круговой таблицы, разделённой на ячейки, именуемые секторами дорожки.
Одна или несколько таких ячеек, будучи объединёнными в группу, называются кластерами. В зависимости от типа файловой системы размер кластера может иметь разный размер. В NTFS он составляет от 512 до 64 Кб, в FAT32 — от 1024 байт до 32 Кб, в «продвинутой» системе FAT — exFAT размер кластера может достигать внушительных 32768 Кб.
И хотя самым маленьким элементом структуры разметки диска является сектор дорожки, минимальный объём пользовательской информации может быть записан именно в кластер. При этом кластер не может содержать части разных файлов. Либо он свободен, либо занят. Представьте, что у вас есть файл размером 41 килобайт, который предстоит записать на диск, разбитый на кластеры в 4 Кб. В процессе записи файл будет распределён между 11 кластерами, причём 10 из них заполнятся полностью, а 1 — только на четверть. Тем не менее, этот кластер будет считаться заполненным. Заполненным он будет считаться даже в том случае, если размер записанного в него файла составит всего 1 байт.
Если диск будет использоваться для хранения небольших файлов, выбирайте наименьший размер кластера (от 4 Кб и меньше). При этом данные будут записываться более «плотно», что позволит вам сэкономить больше дискового пространства. Ежели на диске вы собираетесь хранить объёмные файлы, например, фильмы, то в таком случае размер кластера при форматировании имеет смысл выставить от 32 Кб и более.
При форматировании флешек и карт памяти небольшого объёма (до 16 Гб) лучше выставлять средний размер кластера от 4 до 8 Кб независимо от типа хранящихся на них данных. При выборе размера кластера также следует учитывать другой немаловажный аспект — скорость чтения/записи. Чем крупнее кластеры, тем выше скорость чтения/записи с носителя. Объясняется это тем, что считывающей головке, собирающей файл по кусочкам, приходится делать меньше движений. Конечно, этот подход не очень экономный, зато ваши файлы будут записываться на порядок быстрее. Что для вас важнее: скорость или экономия места на диске — выбирать вам. Впрочем, если вы сомневаетесь в правильности своего выбора, выбирайте золотую середину, оставляя всё по умолчанию.
Stable IT
FastNetMon
Tuesday, 12 October 2010
Что такое кластерные файловые системы и в чем их ключевое отличие от обычных файловых систем?
Итак, допустим, у нас есть некое блочное устройство, подключенное к двум серверам по какому-то из перечисленных выше интерфейсов. Допустим, на носителе существовала некая классическая файловая система (скажем, ext3) и мы смогли смонтировать ее на запись на обоих узлах (обращаю внимание, что случай абстрактный, возможно, то, что я описываю сделать невозможно).
Как же победить эту проблему? Тут нам на помощь приходит страшная штука по имени DLM, а расшифровывается она как Distributed Lock Manager. Что же это значит и как работает? Во-первых, работает он на всех узлах, где смонтирована файловая система, во-вторых, DLM, запущенные на всех узлах, обмениваются между собой информацией посредством сети. А суть этого механизма в том, что он позволяет координировать между собой операции, которые могут повлечь за собой конкурентный доступ к какому-либо ресурсу файловой системы или накопителя. То есть, в приведенном выше примере первый узел захватил бы блокировку на запись, начал делать, что ему нужно, в это же время второй узел смиренно бы ждал своей очереди и после этого бы сделал все, что ему требуется. Как результат всей этой операции мы имеем целостную файловую систему и никаких противоречивых изменений.
Итак, какие же кластерные файловые системы существуют? Во-первых, это, конечно же, GFS (GFS2) от RedHat и OCFS2 от Oracle. Также сюда, пожалуй, стоит отнести Lustre (хотя она ко всему прочему еще и распределенная).
Распределенные файловые системы. Технологический обзор. Продуктовый обзор
Файловая система (file system) — это способ организации, хранения и именования данных на носителях информации в компьютерах. Файловые системы используются также в другом электронном оборудовании: в цифровых фотоаппаратах и диктофонах, в мобильных телефонах, и т. п.
Распределенные файловые системы (distributed file system) работают сразу на многих компьютерах (серверах) с репликацией для защиты от сбоев. Иногда «распределенными» также называют сетевые файловые системы, тем самым показывая, что распределенные файловые системы имеют больше возможностей, чем обычная передача данных по сети. Носители СХД, связанные с распределенными файловыми системами, могут (и даже должны) быть распределены между многими компьютерными системами.
Определения
Существует также понятие «кластерная файловая система». Различия между всеми этими терминами (сетевая, распределенная, кластерная) немного расплывчаты. Поэтому сначала нужно определить, что такое сетевая, кластерная и распределенная система.
С таким определением, например, NFSv3 можно отнести к сетевой файловой системе (network file system). GFS2 – это кластерная файловая система. GlusterFS – это распределенная файловая система. NFSv4, в свою очередь, это некий гибрид между сетевой файловой системой, но с поддержкой нескольких серверов, внедренных в нее.
Сумятицу иногда вносит то, что иногда вкладывается разный смысл в понятие «распределенный» (distributed). Здесь надо понимать, что «распределенность» должна присутствовать не только между серверами (тогда это кластер) в локальной сети, но также и между местоположениями этих серверов в глобальной сети (WAN), со всеми присущими ей особенностями. А именно: большими задержками и низкой надежностью соединений.
Распределенные (в таком определении) файловые системы состоят из нескольких географически разнесенных серверов, соединенных по модели sharing nothing, где каждый активный сервер имеет собственную СХД. Кроме того, распределенные файловые системы делятся на два типа: параллельные системы (Parallel file systems) и полностью параллельные файловые системы (Fully parallel file systems).
Так называются системы, которые предоставляют параллельный доступ к их серверам хранения для каждого клиента. Это позволяет устранить «узкие места» одного сервера по всем параметрам: IOPS, полоса, ограничения вычислительной способности процессора и кэш-памяти. Такие системы используются в высокопроизводительных компьютерных системах и бизнес-приложениях, например, в информационных системах фондовых бирж, Примеры: pNFS, Lustre.
Сравнение между сетевой и распределенной файловой системой на примере Lustre (источник: https://www.atipa.com/lustre-parallel-storage)
Полностью параллельными такие системы называются в том случае, когда не только данные, но и метаданные (различные индексы и пр.), также распределяются параллельно между всеми клиентами. Примеры таких систем – OrangeFS и Ceph.
Соотношения между сетевыми системами (Network), кластерными системами (Cluster), распределенными (Distributed), а также параллельными (Parallel) и полностью параллельными системами (Fully parallel) могут быть представлены следующим образом.
Соотношения между видами и типами распределенных (distributed file system) файловых систем (источник: lvee.org/en/abstracts/33)
С какой целью создавались распределенные файловые системы и какие задачи они решают
Во-первых, как уже указывалось, они нужны для защиты от сбоев и облегчения масштабирования СХД. Большое значение имеет API (Application Programming Interface), который они обеспечивают. Это значит, что каждое приложение, скрипт или библиотека стандартных подпрограмм, написанные в течение последних нескольких десятков лет, могут использовать распределенную файловую систему без коррекций их кода, без процедур импорта и экспорта данных. Даже такие решения, как SQL, не могут сравниться с универсальностью и простотой API распределенных файловых систем.
Во-вторых, распределенные файловые системы стали настолько популярными, что, используя их, мы иногда этого и не замечаем. Например, стриминг фильмов с сайта популярных видеохостингов (того же YouTube) почти всегда делается через распределенные файловые системы.
При производстве анимационных фильмов модели сцен и рендерные части в процессе производства почти всегда централизованно хранятся в распределенной файловой системе.
Виртуальные «блочные устройства» в облаке на самом деле часто являются файлами в распределенной файловой системе.
Системы распределенных вычислений в крупных научных лабораториях, таких как ЦЕРН, часто состоящие из более чем 100 тысяч процессоров, используют распределенные файловые системы для хранения данных экспериментов и результатов их обработки.
Можно сказать, что распределенные файловые системы – это то, как сегодня хранятся большинство данных, особенно «неструктурированных», которые используются при анализе «больших данных» (Big Data). Без этих систем провайдерам было бы очень сложно предоставлять различные онлайновые и медиауслуги.
Как пример можно было бы привести неудачу широко рекламировавшейся в свое время услуги «интернет-телевидения» (IPTV). Для того, чтобы ей воспользоваться, нужно было провести ряд сетевых настроек, которые любому IT-шнику могут показаться элементарными (например, «маска подсети» и пр.), но для простого обывателя они являлись отпугивающим фактором, несмотря на возможность смотреть «100 фильмов за 100 рублей в месяц». В результате эта услуга, что называется, «не пошла». Распределенные файловые системы с удобным интерфейсом как раз и помогают решить эти проблемы. Пример – любой популярный видеохостинг, либо пакет онлайн-телевидения от интернет-провайдера (например, «ОнЛайм» от Ростелекома).
Для различных предприятий и организаций распределенные файловые системы помогут решить проблемы управления данными и снизить стоимость хранения данных.
Распределенные файловые системы – кто они?
Учитывая сказанное выше об определениях, к распределенным файловым системам различные источники относят много систем, причем разные источники могут давать разные непересекающиеся списки. Ниже приведен неполный список из разных источников.
Продуктовый обзор
ZFS, IBM GPFS (Spectrum Scale), Ceph, Lustre
Файловая система ZFS была разработана в 2001 году в компании Sun Microsystems, приобретенной компанией Oracle в 2010 году. Аббревиатура ZFS означала «Zettabyte File System» (файловая система для объемов зеттабайт). Однако в настоящее время ZFS может хранить данные много большего объема.
Эта система проектировалась с очень большим запасом по параметрам, на основе совершенно справедливого прогноза огромного роста данных, подлежащих хранению в распределенных системах в будущем.
ZFS от Oracle и открытая система OpenZFS пошли разными путями, с тех пор, как Oracle закрыл проект OpenSolaris. OpenZFS — это общий проект, объединяющий разработчиков и компаний, которые используют файловую систему ZFS и работают над ее совершенствованием, чтобы сделать ZFS более широко используемым продуктом с открытым исходным кодом.
Некоторые теоретические пределы параметров, заложенные при проектировании ZFS:
Функции ZFS
ZFS обладает рядом полезных функций:
Хранение в пулах (Pooled storage)
В отличие от большинства файловых систем, ZFS объединяет функции файловой системы и менеджера томов (volume manager). Это означает, что ZFS может создавать файловую систему, которая будет простираться по многим группам накопителей ZVOL или пулам. Более того, можно добавлять емкость в пул простым добавлением нового накопителя. ZFS сама выполнит партицию и форматирование нового накопителя.
Пулы хранения в ZFS
В пулах можно легко создавать файловые системы (области хранения данных) для каждого приложения и предмета использования.
Копирование при записи (Copy-on-write)
В большинстве файловых систем при перезаписи данных на то же физическое место носителя ранее записанные там данные теряются навсегда. В ZFS новая информация пишется в новый блок. После окончания записи метаданные в файловой системе обновляются, указывая на местоположение нового блока. При этом, если в процессе записи информации с системой что-то происходит, старые данные будут сохранены. Это означает, что не нужно запускать проверку системы после аварии.
Снапшоты (Snapshots)
Copy-on-write закладывает основу для другой функции ZFS: моментальных снимков системы (снапшотов). ZFS использует для отслеживания изменений в системе.
Снапшот содержит оригинальную версию файловой системы, и в «живой» файловой системе присутствуют только изменения, которые были сделаны с момента последнего снапшота. Никакого дополнительного пространства не используется. Когда новые данные записываются в «живую» систему, выделяются новые блоки для сохранения этих данных.
Если файл удаляется, то ссылка на него в снапшоте тоже удаляется. Поэтому снапшоты в основном предназначены для отслеживания изменений в файлах, а не для добавления или создания файлов.
Снапшоты могут устанавливаться в режим read-only (только чтение), чтобы восстановить прежнюю версию файла. Также можно сделать откат «живой» системы на предыдущий снапшот. При этом будут потеряны только те изменения, которые были сделаны после момента этого снапшота.
Верификация целостности данных и автоматическое восстановление данных
При любой записи данных в ZFS создается контрольная сумма (checksum). При считывании данных, происходит сверка с этой контрольной суммой. Если проверка показывает расхождение с контрольной суммой, то ZFS устраняет ошибку считывания.
В традиционных файловых системах данные не могут быть восстановлены, если повреждение данных затрагивает область контрольной суммы. В ZFS данные и контрольная сумма физически разделены и данные могут быть восстановлены из блока высокого уровня.
Верификация целостности и автоматическое восстановление данных в ZFS
RAID-Z
ZFS может создавать RAID-массивы без необходимости использования дополнительного программного или аппаратного обеспечения. Поэтому неудивительно, что ZFS имеет собственный вариант RAID: RAID-Z.
RAID-Z представляет собой вариант RAID-5, котором предусмотрены средства преодоления ошибки write hole error, присущей RAID-5, когда данные и информация о паритете становятся не соответствующими друг другу после случайного перезапуска системы.
RAID-Z имеет три уровня: RAID-Z1, в котором нужно по крайней мере два диска для хранения и один для паритета; RAID-Z2, который требует по крайней мере двух дисков для хранения и двух для паритета; RAID-Z3 требует по крайней мере двух дисков для хранения и трех для паритета.
Добавление дисков в пул RAID-Z делается попарно.
Автоматическая замена на запасной диск (Hot spare)
В пуле хранения, сконфигурированном с запасным диском, отказавший диск автоматически заменяется запасным.
Автоматическая замена дисков при отказе
Один и тот же диск может быть запасным для нескольких пулов сразу.
При создании ZFS преследовалась цель сделать их «последним словом» в файловых системах. Во времена, когда большинство файловых систем были 64-битными, создатели ZFS решили, что лучше сразу заложить адресное пространство на 128 бит для будущего развития. Это означает, что ZFS имеет емкость в 16 миллиардов раз большую емкость, чем 32- или 64-битные системы. Создатель ZFS Джефф Бонвик (Jeff Bonwick), характеризуя величину этой емкости, сказал, что система в полной конфигурации с такой емкостью потребует для электропитания энергию, достаточную, чтобы вскипятить все океаны в мире.
IBM Spectrum Scale
Объем создаваемых, хранимых и анализируемых данных в мире возрастает экспоненциально. Часто требуется анализировать информацию быстрее конкурентов, причем в условиях роста собственной IT-инфраструктуры.
Файловая система в СХД организации должна поддерживать как большие данные (Big Data), так и традиционные приложения. IBM Spectrum Scale™ решает широкий спектр задач, и представляет собой высокопроизводительное решение для управления данными со встроенными функциями архивирования и аналитики.
IBM Spectrum Scale – это универсальная программно-конфигурируемая система хранения корпоративного класса, которая работает со многими типами носителей и автоматически переводит данные с уровня на уровень в зависимости от частоты их использования, обеспечивая отказоустойчивость, масштабируемость и управляемость.
Это решение, созданное на основе файловой системы IBM General Parallel File System (GPFS), способно масштабировать емкость и производительность для аналитических систем, репозиториев контента и других задач.
Когнитивные механизмы IBM умеют распределять данные среди различных устройств хранения, тем самым оптимизируя использование доступной емкости, упрощая администрирование и обеспечивая высокую производительность. IBM Spectrum Scale поддерживает глобального пространства имен с универсальным доступом, которое объединяет современные средства для работы с файлами, размещенных в сетевых файловых системах (NFS), блочные хранилища и серверы со встроенными хранилищами данных большого объема. Файловая система IBM Spectrum Scale может использоваться для работы с файлами (POSIX, NFS, CIFS), объектами (S3, SWIFT) и распределенной файловой системой Hadoop (HDFS) при решении задач анализа больших данных на месте хранения.
Задачи и возможности IBM Spectrum Scale.
Свойства IBM Spectrum Scale
Хорошая масштабируемость, которая позволяет обеспечивать максимальную пропускную способность и минимальные задержки при доступе.
Аналитика с учетом данных, позволяющая автоматически переносить данные на оптимальный уровень хранения (флеш, диск, кластер, лента), что позволяет до 90 % снизить расходы на архивирование данных.
Автоматическое размещение данных по уровням в файловой системе IBM Spectrum Scale
Распределенность, то есть возможность доступа к данным из любого места, ускоряет работу приложений по всему миру, за счет технологии распределенного кэширования и активного управления файлами.
Безопасность данных, технологии идентификация, шифрования, защиты Erasure Coding и репликации позволяют достичь соответствия регулятивным требованиям.
Универсальность, единое решение для управления масштабируемым хранилищем данных, обеспечивающее унификацию виртуализации, поддержки аналитических сред, обработки файлов и объектов.
Прозрачные политики хранения делают возможным сжатие и многоуровневое хранение данных на ленточных накопителях или в облаке, с целью сокращения расходов. Размещение данных с учетом места их использования уменьшает задержки и увеличивает производительность работы с данными.
Интеллектуальное кэширование данных, технология Active File Management (AFM) распространяет глобальное пространство имен Spectrum Scale за пределы географических границ, обеспечивая высокую производительность при чтении и записи данных и автоматическое управление пространством имен. Данные записываются или изменяются локально и в других местах эти данные получают с минимальной задержкой.
Графический интерфейс IBM Spectrum Scale GUI обеспечивает простое администрирование объемов данных уровня петабайт различных типов: файловых, объектных или блочных.
IBM Spectrum Scale – это хорошо зарекомендовавшее себя масштабируемое решение по администрированию данных, которое ранее называлось GPFS (General Parallel File System). Начиная с версии 4.1, это решение называется Spectrum Scale. Однако версии до 4.1 будут поддерживаться под старым названием GPFS.
Основные характеристики
Применения
Spectrum Scale используется уже более 15 лет во многих отраслях экономики во всем мире, и в таких областях, требовательных к объему и производительности обработки данных, как:
Функциональные возможности
Основные компоненты системы
Три NSD, определенные как диски tiebreaker disk для кворумных узлов (источник: IBM)
Три редакции Spectrum Scale
Есть три разных редакции (Edition) Spectrum Scale: