Опишите систему хранения файлов на диске

Обновлено: 03.07.2024

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

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

Из этого руководства по операционной системе вы узнаете:

Цель системы управления файлами

Вот основные цели системы управления файлами:

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

Свойства файловой системы

Вот важные свойства файловой системы:

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

Структура файла

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

Три типа структуры файлов в ОС:

  • Текстовый файл. Это набор символов, организованных в строки.
  • Объектный файл. Это последовательность байтов, организованных в блоки.
  • Исходный файл. Это набор функций и процессов.

Атрибуты файла

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

Вот некоторые важные атрибуты файлов, используемые в ОС:

  • Имя: это единственная информация, хранящаяся в удобочитаемой форме.
  • Идентификатор. Каждый файл идентифицируется уникальным номером тега в файловой системе, известным как идентификатор.
  • Местоположение: указывает на местоположение файла на устройстве.
  • Тип: этот атрибут требуется для систем, поддерживающих различные типы файлов.
  • Размер. Атрибут, используемый для отображения текущего размера файла.
  • Защита. Этот атрибут назначает и контролирует права доступа на чтение, запись и выполнение файла.
  • Время, дата и безопасность. Используется для защиты, безопасности, а также для мониторинга.

Тип файла

Это относится к способности операционной системы различать различные типы файлов, такие как текстовые файлы, двоичные файлы и исходные файлы. Однако операционные системы, такие как MS_DOS и UNIX, имеют следующие типы файлов:

Специальный файл персонажа

Это аппаратный файл, который считывает или записывает данные посимвольно, такие как мышь, принтер и т. д.

Обычные файлы

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

Файлы каталога

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

Специальные файлы

  • Эти файлы также называются файлами устройств. Он представляет физические устройства, такие как принтеры, диски, сети, флэш-накопители и т. д.

Функции файла

  • Создайте файл, найдите место на диске и сделайте запись в каталоге.
  • Запись в файл, требуется позиционирование в файле.
  • Чтение из файла подразумевает позиционирование в файле.
  • Удалить запись в каталоге, освободить место на диске.
  • Переместить: переместить позицию чтения/записи.

Часто используемые термины в файловых системах

Поле:

Этот элемент хранит одно значение, которое может быть статическим или переменной длины.

БАЗА ДАННЫХ:

Сбор связанных данных называется базой данных. Отношения между элементами данных являются явными.

ФАЙЛЫ:

Файлы – это набор похожих записей, которые рассматриваются как единое целое.

ЗАПИСЬ:

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

Методы доступа к файлам

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

  • Последовательный доступ
  • Прямой произвольный доступ
  • Последовательный доступ к индексу

Последовательный доступ

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

Произвольный доступ

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

Последовательный доступ

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

Распределение пространства

В операционной системе файлы всегда занимают дисковое пространство.

  • Связанное размещение
  • Индексированное размещение
  • Непрерывное размещение

Непрерывное размещение

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

Связанное размещение

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

Индексированное размещение

  • Каталог содержит адреса индексных блоков определенных файлов.
  • Создается индексный блок, содержащий все указатели на определенные файлы.
  • Все файлы должны иметь отдельные индексные блоки для хранения адресов дискового пространства.

Файловые каталоги

Один каталог может содержать или не содержать несколько файлов. Он также может иметь подкаталоги внутри основного каталога. Информация о файлах хранится в Каталогах. В ОС Windows это называется папками.


Крис Хоффман

< бр />

Крис Хоффман
Главный редактор

Крис Хоффман – главный редактор How-To Geek. Он писал о технологиях более десяти лет и два года был обозревателем PCWorld. Крис писал для The New York Times, давал интервью в качестве эксперта по технологиям на телевизионных станциях, таких как NBC 6 в Майами, и освещал свою работу в таких новостных агентствах, как BBC. С 2011 года Крис написал более 2000 статей, которые были прочитаны почти миллиард раз — и это только здесь, в How-To Geek. Подробнее.


Разные операционные системы поддерживают разные файловые системы. Ваш съемный диск должен использовать FAT32 для лучшей совместимости, если только он не больше и не нуждается в NTFS. Диски в формате Mac используют HFS+ и не работают с Windows. И в Linux тоже есть свои файловые системы.

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

Файловые системы 101

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

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

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

Метафорой здесь является бумажная файловая система. Биты данных на компьютере называются файлами и организованы в файловой системе так же, как бумажные файлы могут быть организованы в картотеках. Существуют разные способы организации этих файлов и хранения данных о них — «файловые системы».


Но почему их так много?

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

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

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


Переключение файловых систем

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

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

Операционные системы также автоматически форматируют разделы с соответствующей файловой системой в процессе установки операционной системы. Если у вас есть раздел в формате Windows, на который вы хотите установить Linux, процесс установки Linux отформатирует его раздел NTFS или FAT32 с файловой системой Linux, предпочтительной для выбранного вами дистрибутива Linux.

Итак, если у вас есть устройство хранения и вы хотите использовать на нем другую файловую систему, просто скопируйте с него файлы, чтобы создать их резервную копию. Затем отформатируйте этот диск с помощью такого инструмента, как «Управление дисками» в Windows, GParted в Linux или Дисковая утилита в Mac OS X.


Обзор распространенных файловых систем

Вот краткий обзор некоторых наиболее распространенных файловых систем, с которыми вы столкнетесь. Он не исчерпывающий — есть много других вариантов.

  • FAT32: FAT32 — это более старая файловая система Windows, но она по-прежнему используется на съемных носителях, но только на устройствах меньшего размера. Большие внешние жесткие диски емкостью 1 ТБ или около того, скорее всего, будут отформатированы в NTFS. Вы захотите использовать это только с небольшими устройствами хранения или для совместимости с другими устройствами, такими как цифровые камеры, игровые приставки, телевизионные приставки и другие устройства, которые поддерживают только FAT32, а не более новую файловую систему NTFS.
  • NTFS: современные версии Windows — начиная с Windows XP — используют файловую систему NTFS для своего системного раздела. Внешние диски можно отформатировать в файловой системе FAT32 или NTFS.
  • HFS+: компьютеры Mac используют HFS+ для своих внутренних разделов, и им также нравится форматировать внешние диски с помощью HFS+ — это необходимо для использования внешнего диска с Time Machine, чтобы, например, можно было должным образом выполнить резервное копирование атрибутов файловой системы.Компьютеры Mac также могут читать и записывать в файловые системы FAT32, хотя по умолчанию они могут читать только из файловых систем NTFS — вам потребуется стороннее программное обеспечение для записи в файловые системы NTFS с Mac.
  • Ext2/Ext3/Ext4. В Linux часто встречаются файловые системы Ext2, Ext3 и Ext4. Ext2 — это более старая файловая система, и в ней отсутствуют важные функции, такие как ведение журнала — если отключится питание или произойдет сбой компьютера во время записи на диск ext2, данные могут быть потеряны. Ext3 добавляет эти функции надежности за счет некоторой скорости. Ext4 современнее и быстрее — теперь это файловая система по умолчанию в большинстве дистрибутивов Linux, и она быстрее. Windows и Mac не поддерживают эти файловые системы — вам понадобится сторонний инструмент для доступа к файлам в таких файловых системах. По этой причине часто идеально форматировать системные разделы Linux как ext4 и оставлять съемные устройства в формате FAT32 или NTFS, если вам нужна совместимость с другими операционными системами. Linux может читать и записывать как в FAT32, так и в NTFS.
  • Btrfs: Btrfs — «лучшая файловая система» — это более новая файловая система Linux, которая все еще находится в разработке. На данный момент он не используется по умолчанию в большинстве дистрибутивов Linux, но, вероятно, однажды он заменит Ext4. Цель состоит в том, чтобы предоставить дополнительные функции, позволяющие масштабировать Linux до больших объемов хранилища.
  • Подкачка: в Linux файловая система подкачки на самом деле не является файловой системой. Раздел, отформатированный как «подкачка», может просто использоваться операционной системой в качестве пространства подкачки — это похоже на файл подкачки в Windows, но для него требуется выделенный раздел.

Существуют и другие файловые системы, особенно в Linux и других UNIX-подобных системах.


Обычному пользователю компьютера не нужно знать большую часть этих вещей — они должны быть понятными и простыми, — но знание основ поможет вам понять такие вопросы, как «Почему этот диск в формате Mac не работает с моим ПК с Windows?» ?» и «Должен ли я отформатировать этот жесткий диск USB как FAT32 или NTFS?»

  • › Что такое Finder на Mac?
  • › Что нового в Fedora 35
  • › В чем разница между FAT32, exFAT и NTFS?
  • › Как читать Zip-диск на современном ПК или Mac
  • › Как стереть и отформатировать диск в Windows
  • › Что такое компьютерные файлы и папки?
  • › Как отформатировать жесткий диск или SSD в Windows 11
  • › Почему прозрачные чехлы для телефонов желтеют?

Что такое хранилище файлов и когда оно наиболее полезно? В этом руководстве мы дадим определение файловому хранилищу, объясним его преимущества и рассмотрим некоторые типичные варианты использования.

Что такое хранилище файлов?

Файловое хранилище, также называемое файловым или файловым хранилищем, представляет собой метод иерархического хранения, используемый для организации и хранения данных на жестком диске компьютера или в сетевом хранилище (NAS). В файловом хранилище данные хранятся в файлах, файлы организованы в папки, а папки организованы в виде иерархии каталогов и подкаталогов. Чтобы найти файл, вам или вашей компьютерной системе нужен только путь — от каталога к подкаталогу, от папки к файлу.

Иерархическое хранилище файлов хорошо работает с легко организованными объемами структурированных данных. Но по мере роста количества файлов процесс извлечения файлов может стать громоздким и трудоемким. Масштабирование требует добавления большего количества аппаратных устройств или постоянной замены их устройствами большей емкости, что может быть дорогостоящим.

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

Файловое хранилище, блочное хранилище и объектное хранилище

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

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

Блокировать хранилище

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

Вместо жесткой структуры каталогов/подкаталогов/папок блоки можно хранить в любом месте системы. Чтобы получить доступ к любому файлу, операционная система сервера использует уникальный адрес, чтобы объединить блоки в файл, что занимает меньше времени, чем навигация по каталогам и файловым иерархиям для доступа к файлу. Блочное хранилище хорошо подходит для критически важных бизнес-приложений, транзакционных баз данных и виртуальных машин, которым требуется низкая задержка (минимальная задержка). Это также обеспечивает более детальный доступ к данным и стабильную производительность.

В следующем видео Эми Блеа рассказывает о различиях между блочным и файловым хранилищем:

Блочное хранилище и файловое хранилище (04:03)

Хранилище объектов

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

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

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

IBM Cloud Object Storage: создано для бизнеса (04:10)

Преимущества

Если вашей организации требуется централизованный, легкодоступный и недорогой способ хранения файлов и папок, хорошим решением будет хранилище на уровне файлов. К преимуществам файлового хранилища относятся следующие:

  • Простота. Хранение файлов — это самый простой, привычный и понятный подход к организации файлов и папок на жестком диске компьютера или устройстве NAS. Вы просто называете файлы, помечаете их метаданными и сохраняете их в папках в иерархии каталогов и подкаталогов. Нет необходимости писать приложения или код для доступа к вашим данным.
  • Общий доступ к файлам. Хранилище файлов идеально подходит для централизованного хранения и обмена файлами в локальной сети (LAN). Файлы, хранящиеся на устройстве NAS, легко доступны любому компьютеру в сети, имеющему соответствующие права доступа.
  • Общие протоколы. В файловом хранилище используются общие протоколы файлового уровня, такие как блок сообщений сервера (SMB), общая файловая система Интернета (CIFS) или сетевая файловая система (NFS). Если вы используете операционную систему Windows или Linux (или обе), стандартные протоколы, такие как SMB/CIFS и NFS, позволят вам читать и записывать файлы на сервер под управлением Windows или Linux через вашу локальную сеть (LAN).< /li>
  • Защита данных. Хранение файлов на отдельном устройстве хранения данных, подключенном к локальной сети, обеспечивает определенный уровень защиты данных в случае сбоя сетевого компьютера. Облачные службы хранения файлов обеспечивают дополнительную защиту данных и аварийное восстановление за счет репликации файлов данных в нескольких географически разнесенных центрах обработки данных.
  • Экономичность. Хранение файлов с помощью устройства NAS позволяет перемещать файлы с дорогостоящего компьютерного оборудования на более доступное устройство хранения данных, подключенное к локальной сети. Кроме того, если вы решите подписаться на облачное хранилище файлов, вы избавитесь от расходов на обновление оборудования на месте и связанных с этим текущих затрат на техническое обслуживание и эксплуатацию.

Случаи использования

Хранилище файлов — это хорошее решение для самых разных потребностей в данных, включая следующие:

  • Локальный общий доступ к файлам. Если ваши потребности в хранении данных в целом непротиворечивы и просты, например, для хранения файлов и обмена ими с членами рабочей группы в офисе, подумайте о простоте хранения на уровне файлов.
  • Централизованная совместная работа с файлами. Если вы загружаете, храните и делитесь файлами в централизованной библиотеке, расположенной на сайте, за его пределами или в облаке, вы можете легко совместно работать над файлами с внутренними и внешними пользователями или с приглашенными гостями. вне вашей сети.
  • Архивирование/хранение. Вы можете экономично архивировать файлы на устройствах NAS в среде небольшого центра обработки данных или подписаться на облачное хранилище файлов для хранения и архивирования своих данных.
  • Резервное копирование/аварийное восстановление. Вы можете безопасно хранить резервные копии на отдельных устройствах хранения, подключенных к локальной сети. Или вы можете подписаться на облачное хранилище файлов, чтобы реплицировать файлы данных в нескольких географически разнесенных центрах обработки данных и получить дополнительную защиту данных за счет удаленности и избыточности.

Облачное хранилище файлов (или хостинг для хранения файлов)

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

Подобно локальной системе хранения файлов, облачное хранилище файлов, также называемое хостингом хранилища файлов, позволяет нескольким пользователям совместно использовать одни и те же данные файлов. Но вместо того, чтобы хранить файлы данных локально на устройстве NAS, вы можете хранить эти файлы вне офиса в центрах обработки данных (в облаке) и получать к ним доступ через Интернет.

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

Хранение файловых данных в облаке также позволяет увеличивать емкость по мере необходимости и по требованию. Облачные службы хранения файлов обычно предлагают простые, предварительно определенные уровни с различными уровнями емкости хранилища и требованиями к производительности рабочей нагрузки (общее количество операций ввода-вывода в секунду или IOPS), а также защиту данных и репликацию в другие центры обработки данных. для обеспечения непрерывности бизнеса — и все это за предсказуемую ежемесячную плату. Или вы можете увеличивать или уменьшать количество операций ввода-вывода в секунду и динамически расширять объемы данных, платя только за то, что вы используете.

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

Файловое хранилище и IBM Cloud

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

IBM Cloud предлагает четыре предварительно определенных уровня Endurance с ценами за гигабайт (ГБ), которые фиксируют ваши расходы и обеспечивают предсказуемую почасовую или ежемесячную оплату за краткосрочные или долгосрочные потребности в хранении данных. Уровни File Storage Endurance поддерживают производительность до 10 000 (10 000) операций ввода-вывода в секунду на ГБ и могут удовлетворить потребности большинства рабочих нагрузок, независимо от того, требуется ли вам производительность с низкой, универсальной или высокой интенсивностью.

Благодаря IBM File Storage вы сможете увеличивать или уменьшать количество операций ввода-вывода в секунду и расширять существующие тома на лету. Кроме того, вы можете дополнительно защитить свои данные, подписавшись на функцию IBM Snapshot, которая создает доступные только для чтения образы вашего тома хранилища файлов в определенных точках, из которых вы можете легко восстановить свои данные в случае случайной потери или повреждения.

Подпишитесь на бесплатную двухмесячную пробную версию и бесплатно начните разработку в IBM Cloud.

Введение в файловые системы

В настоящее время компьютерный рынок предлагает огромное разнообразие возможностей для хранения информации в цифровом виде. Существующие устройства хранения включают в себя внутренние и внешние жесткие диски, карты памяти фото/видеокамер, USB-накопители, RAID-массивы, а также другие сложные хранилища. Части данных хранятся на них в виде файлов, таких как документы, изображения, базы данных, сообщения электронной почты и т. д., которые должны быть эффективно организованы на диске и легко извлекаться при необходимости.

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

Что такое файловая система?

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

Чтобы опустить вторую часть адреса (смещение внутри сектора), файлы обычно хранятся начиная с начала сектора и занимают целые сектора (например: 10 -байтовый файл занимает весь сектор, 512-байтовый файл также занимает весь сектор, в то же время 514-байтовый файл занимает целых два сектора).

Каждый файл хранится в "неиспользуемых" секторах и может быть прочитан позже по известному положению и размеру. Однако как узнать, какие сектора заняты, а какие свободны? Где хранится размер, положение и имя файла? Именно за это отвечает файловая система.

В целом файловая система (часто сокращенно ФС) представляет собой структурированное представление данных и набор метаданных, описывающих эти данные. Применяется к хранилищу во время операции форматирования. Эта структура служит для целей всего хранилища, а также является частью изолированного сегмента хранилища — раздела диска. Обычно он работает в блоках, а не в секторах. Блоки FS — это группы секторов, которые оптимизируют адресацию хранилища. Современные типы обычно используют блоки размером от 1 до 128 секторов (512-65536 байт). Файлы обычно хранятся в начале блока и занимают целые блоки.

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

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

Файловые системы Windows

Microsoft Windows использует две основные файловые системы: NTFS, основной формат, который большинство современных версий этой ОС используют по умолчанию, и FAT, унаследованную от старой DOS и имеющую более позднее расширение exFAT. ReFS также был представлен Microsoft как формат нового поколения для серверных компьютеров, начиная с Windows Server 2012. HPFS, разработанный Microsoft совместно с IBM, можно найти только на очень старых машинах под управлением Windows NT до 3.5.

FAT (таблица размещения файлов) — один из самых простых типов файловых систем, который существует с 1980-х годов. Он состоит из FS сектора дескриптора (загрузочного сектора или суперблока), таблицы размещения блоков (называемой таблицей размещения файлов) и < em>простое пространство для хранения данных. Файлы в FAT хранятся в каталогах. Каждый каталог представляет собой массив 32-байтовых записей, каждая из которых определяет файл или его расширенные атрибуты (например, длинное имя). Запись атрибутирует первый блок файла. Любой следующий блок можно найти в таблице размещения блоков, используя ее как связанный список.

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

Числа в FAT12, FAT16, FAT32 обозначают количество битов, используемых для адресации блока FS. Это означает, что FAT12 может использовать до 4096 различных ссылок на блоки, в то время как FAT16 и FAT32 могут использовать до 65536 и 4294967296 соответственно. Фактическое максимальное количество блоков еще меньше и зависит от реализации драйвера FS драйвера.

Форматы

FAT12 и FAT16 использовались для старых гибких дисков и в настоящее время не находят широкого применения. FAT32 по-прежнему широко используется для карт памяти и USB-накопителей. Формат поддерживается смартфонами, цифровыми камерами и другими портативными устройствами.

FAT32 можно использовать на совместимых с Windows внешних хранилищах или разделах диска размером менее 32 ГБ при их форматировании с помощью встроенного инструмента этой ОС, или до 2 ТБ, если для форматирования хранилища используются другие средства. Файловая система также не позволяет создавать файлы, размер которых превышает 4 ГБ. Для решения этой проблемы была введена exFAT, которая не имеет реальных ограничений по размеру и часто используется на современных внешних жестких дисках и твердотельных накопителях.

NTFS (файловая система новой технологии) была представлена ​​в 1993 году вместе с Windows NT и в настоящее время является наиболее распространенной файловой системой для компьютеров конечных пользователей на базе Windows. Большинство операционных систем линейки Windows Server также используют этот формат.

Этот тип файловой системы достаточно надежен благодаря журналированию и поддерживает множество функций, включая управление доступом, шифрование и т. д. Каждый файл в NTFS хранится в виде дескриптора в Главная таблица файлов и содержимое ее данных. Таблица основных файлов содержит записи со всей информацией о них: размер, распределение, имя и т. д. Первые 16 записей таблицы сохраняются для BitMap, в котором ведется учет всех свободных и используемых кластеров, журнала, используемого для записей журнала, и BadClus, содержащий информацию о плохих кластерах. Первый и последний секторы файловой системы содержат ее настройки (загрузочную запись или суперблок). Этот формат использует 48 и 64-битные значения для ссылки на файлы, что позволяет поддерживать хранилища данных с очень большой емкостью.

ReFS (Resilient File System) — это последняя разработка Microsoft, представленная вместе с Windows 8 и теперь доступная для Windows 10. Его архитектура абсолютно отличается от других форматов Windows и в основном организована в виде B+-дерево. ReFS обладает высокой устойчивостью к сбоям благодаря включенным в нее новым функциям. Среди них наиболее примечательным является Copy-on-Write (CoW): никакие метаданные не изменяются без копирования; данные не записываются поверх существующих данных — они помещаются в другую область на диске. После любых модификаций новая копия метаданных сохраняется в свободной области хранилища, а затем система создает ссылку из более старых метаданных на более новую копию. Таким образом, значительное количество старых резервных копий хранится в разных местах, что обеспечивает простоту восстановления данных, если только это пространство хранения не будет перезаписано.

High Performance File System (высокопроизводительная файловая система) была создана Microsoft в сотрудничестве с IBM и представлена ​​в OS/2 1.20 в 1989 году как файловая система для серверов, которая могла обеспечить гораздо более высокую производительность по сравнению с FAT. . В отличие от FAT, которая просто выделяет любой первый свободный кластер на диске для фрагмента файла, HPFS стремится упорядочить файл непрерывными блоками или, по крайней мере, убедиться, что его фрагменты (называемые экстентами) расположены максимально близко друг к другу. . В начале HPFS есть три управляющих блока, занимающих 18 секторов: загрузочный блок, суперблок и резервный блок. Оставшееся пространство хранения разделено на части смежных секторов, называемых бэндами, занимающими по 8 МБ каждый. У бэнда есть своя битовая карта распределения секторов, показывающая, какие сектора в нем заняты (1 — занято, 0 — свободно). У каждого файла и каталога есть свой F-узел, расположенный рядом с ним на диске – эта структура содержит информацию о расположении файла и его расширенных атрибутах. Для хранения каталогов используется специальная полоса каталогов, расположенная в центре диска, а сама структура каталогов представляет собой сбалансированное дерево с алфавитными записями.

Подсказка: Информацию о перспективах восстановления данных типов ФС, используемых Windows, можно найти в статьях об особенностях восстановления данных разных ОС и шансах на восстановление данных. Подробные инструкции и рекомендации можно найти в руководстве по восстановлению данных из Windows.

Файловые системы macOS

В macOS от Apple применяются два типа FS: HFS+, расширение их устаревшей HFS, используемой на старых компьютерах Macintosh, и APFS, формат, используемый современными компьютерами Mac под управлением macOS 10.14. и позже.

Формат

HFS+ раньше был основным форматом продуктов Apple для настольных ПК, включая компьютеры Mac, iPod, а также продукты Apple X Server, прежде чем он был заменен на APFS в macOS. Высокая Сьерра. Усовершенствованные серверные продукты также используют Apple Xsan, кластерную файловую систему, производную от StorNext и CentraVision.

HFS+ использует B-деревья для размещения и поиска файлов. Тома разбиваются на сектора, обычно размером 512 байт, затем группируются в блоки размещения, количество которых зависит от размера всего тома. Информация о свободных и использованных блоках размещения хранится в файле размещения. Все блоки распределения, назначенные каждому файлу в качестве расширений, записываются в файл расширений переполнения. И, наконец, все атрибуты файла перечислены в файле Attributes. Надежность данных повышается за счет журналирования, что позволяет отслеживать все изменения в системе и быстро возвращать ее в рабочее состояние в случае непредвиденных событий. Среди других поддерживаемых функций — жесткие ссылки на каталоги, шифрование логических томов, контроль доступа, сжатие данных и т. д.

Файловая система Apple предназначена для решения фундаментальных проблем, присутствующих в ее предшественнике, и была разработана для эффективной работы с современными флэш-накопителями и твердотельными накопителями. Этот 64-битный формат использует метод копирования при записи для повышения производительности, что позволяет копировать каждый блок до того, как в него будут внесены изменения, и предлагает множество функций целостности данных и экономии места.Все содержимое и метаданные о файлах, папках и других структурах APFS хранятся в контейнере APFS. Контейнерный суперблок хранит информацию о количестве блоков в Контейнере, размере блока и т. д. Информация обо всех выделенных и свободных блоках Контейнера управляется с помощью растровых структур. Каждый том в контейнере имеет свой собственный суперблок тома, который предоставляет информацию об этом томе. Все файлы и папки тома записываются в B-дерево файлов и папок, а B-дерево экстентов отвечает за экстенты — ссылки на содержимое файла (начало файла, его длину в блоках).

Подсказка: Подробно о возможности восстановления данных с этих типов ФС можно прочитать в статьях об особенностях восстановления данных в зависимости от операционной системы и шансах на восстановление данных. Если вас интересует практическая сторона процедуры, обратитесь к руководству по восстановлению данных из macOS.

Файловые системы Linux

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

Ext2, Ext3, Ext4 — это просто разные версии "родной" файловой системы Linux Ext. Этот тип подпадает под активные разработки и усовершенствования. Ext3 — это просто расширение Ext2, использующее операции записи транзакционных файлов с журналом. Ext4 является дальнейшим развитием Ext3, расширенным за счет поддержки оптимизированной информации о размещении файлов (экстентов) и расширенных атрибутов файлов. Эта файловая система часто используется как "корневая" для большинства установок Linux.

РайзерФС

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

XFS — надежная файловая система журналирования, изначально созданная Silicon Graphics и используемая серверами IRIX компании. В 2001 году он попал в ядро ​​Linux и теперь поддерживается большинством дистрибутивов Linux, некоторые из которых, например Red Hat Enterprise Linux, даже используют его по умолчанию. Этот тип FS оптимизирован для хранения очень больших файлов и томов на одном хосте.

JFS — файловая система, разработанная IBM для мощных вычислительных систем компании. JFS1 обычно означает JFS, JFS2 — второй выпуск. В настоящее время этот проект имеет открытый исходный код и реализован в большинстве современных версий Linux.

Btrfs

Btrfs – файловая система, основанная на принципе копирования при записи (COW), разработанная Oracle и поддерживаемая основным ядром Linux с 2009 года. Btrfs включает в себя функции диспетчера логических томов, позволяя охватывать несколько устройств и предлагает гораздо более высокую отказоустойчивость, лучшую масштабируемость, простое администрирование и т. д., а также ряд дополнительных возможностей.

F2FS — файловая система Linux, разработанная компанией Samsung Electronics и адаптированная к специфике накопителей устройств на базе флэш-памяти NAND, широко используемых в современных смартфонах и других вычислительных системах. Этот тип работает на основе лог-структурированного подхода FS (LFS) и учитывает такие особенности флэш-памяти, как постоянное время доступа и ограниченное количество циклов перезаписи данных. Вместо того, чтобы создавать один большой фрагмент для записи, F2FS собирает блоки в отдельные фрагменты (до 6), которые записываются одновременно.

Концепция «жестких ссылок», используемая в операционных системах такого типа, делает большинство типов Linux FS похожими в том смысле, что имя файла не рассматривается как атрибут файла, а скорее определяется как псевдоним для файла в определенном каталоге. Файловый объект может быть связан из многих местоположений, даже из одного и того же каталога под разными именами. Это может привести к серьезным и даже непреодолимым трудностям при восстановлении имен файлов после их удаления или логического повреждения.

Подсказка: Информацию о возможности успешного восстановления данных из указанных типов ФС можно найти в статьях, описывающих особенности восстановления данных из разных операционных систем и шансы на восстановление данных. Чтобы понять, как должна выполняться процедура, воспользуйтесь руководством по восстановлению данных из Linux.

Файловые системы BSD, Solaris, Unix

Наиболее распространенной файловой системой для этих операционных систем является UFS (файловая система Unix), также часто называемая FFS (Fast File System).

В настоящее время UFS (в различных редакциях) поддерживается всеми операционными системами семейства Unix и является основной файловой системой ОС BSD и ОС Sun Solaris.Современные компьютерные технологии, как правило, заменяют UFS в различных операционных системах (ZFS для Solaris, JFS и производные форматы для Unix и т. д.).

Подсказка: Информацию о вероятности успешного восстановления данных из этих типов ФС можно найти в статьях об особенностях восстановления данных в ОС и шансах на восстановление данных. Сам процесс описан в инструкции, посвященной восстановлению данных из Unix, Solaris и BSD.

Кластерные файловые системы

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

К типам распределенных FS относятся:

ZFS — компания Sun "Zettabyte File System" — формат, разработанный для распределенных хранилищ ОС Sun Solaris.

Apple Xsan — эволюция CentraVision и более поздней версии StorNext компанией Apple.

VMFS — «Файловая система виртуальной машины», разработанная компанией VMware для своего сервера VMware ESX.

GFS — Red Hat Linux "Глобальная файловая система".

JFS1 — исходный (устаревший) дизайн IBM JFS, использовавшийся в старых системах хранения AIX.

Общими свойствами этих файловых систем являются поддержка распределенных хранилищ, расширяемость и модульность.

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

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