Восстановление данных
 
Блог
 
Файловая система UFS1 и UFS2

Файловая система UFS1 и UFS2

Содержание:

  1. Что являет собой файловая система UFS?
  2. Структура файловых систем UFS1 и UFS2
  3. Где используются файловые системы UFS1 и UFS2?
  4. Разница между UFS, UFS2 и EXT4
  5. Как посмотреть файлы на UFS1 или UFS2 накопителе в OS Windows и в случае необходимости скопирοвать их на другой локальный диск?

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

Файловая система UFS (Unix File System) изначально была создана специально для использования в операционных системах семейства BSD. На сегодняшний день она используется в более доработанном виде в Unix-подобных операционных системах (например, Linux и Solaris), которые поддерживают эту файловую систему на уровне ядра. Поддержка UFS также реализована и в Mac OS X, но она не является нативной для этой операционной системы.

На раннем этапе развития файловая система UFS называлась просто FS. Она была достаточно простой и содержала в себе только такие данные как суперблок, загрузочные блоки, блоки данных и индексные дескрипторы (они же inodes). FS отлично подходила для жестких дисков небольшого размера, которые доминировали на рынке в те времена. Но время шло, объемы накопителей увеличивались и постепенно стало понятно, что файловая системы FS не в состоянии обеспечить нужную производительность. Это привело к дальнейшему развитию FS. Разработчики добавили группы цилиндров. Каждая группа имела собственные индексные дескрипторы, что позволяло избежать накопления «мусора» в файловой системе, а сама файловая система сменила свое название с «FS» на «FFS (Fast File System)»

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

Это снова заставило разработчиков взяться за развитие файловой системы и на основе FFS была создана доработанная файловая система «UFS1», а позже ее доработанная версия — «UFS2», создание которых позволило обеспечить надежность и быстродействие благодаря делению блоков на фрагменты, которые используются для хранения завершающих байтов файла (ранее для этого выделялся целый блок) и ряду новых технологий.

Фактически «UFS1» и «UFS2» это два дополнительных слоя — верхний слой, призван обеспечивает структуру каталогов и поддерживает метаданные в индексном дескрипторе структуры, и нижних слоев, которые позволяет представлять контейнерные данные как индексные дескрипторы. Это было сделано для поддержки как традиционной FFS, так и LFS.

Структура файловой системы UFS детально расписана в следующем пункте этой статьи.

Структура файловых систем UFS1 и UFS2

Структура файловой системы UFS1 и UFS2 выглядит следующим образом: в начале размещен загрузочный блок, а затем суперблок. Далее размещена таблица индексных дескрипторов (таблица inode) и за ней каталоги. Также в некоторых операционных системах (например, в Solaris) в файловой системе хранятся списки управления доступом (ACL) для обеспечения теневых индексных дескрипторов (shadow inodes). Примерно так выглядит раздел операционной системы FreeBSD, при использовании файловой системы UFS:

Все дисковое пространство поделено на группы цилиндров. В каждой группе хранится следующая информация:

  • Загрузочный блок – предназначен для хранения данных, которые необходимы для загрузки операционной системы. Если бы его не было – операционная система не смогла бы загрузится. Загрузочный блок появляется только в нулевой группе цилиндров и занимает первые 8 Кбайт части диска. Если при загрузке системы файловая система не используется – он остается пустым;
  • Суперблок – этот участок файловой системы содержит ее описание, а также информацию о ее настройке;
  • Описания групп «цилиндров». Цилиндрами называют отдельную от остальных область, которая содержит некоторое вложенные файлы. Соответственно группа цилиндров содержит несколько дисковых цилиндров.
  • Карта свободных inodes — данные о свободных инодах и сводная информация об использовании инодов в группе;
  • Карта свободных блоков — данные о свободных блоках и сводная информация об использовании блоков в группе;
  • Массив Inode – в inode записана вся информация о файле за исключением его имени, например, размер файла, дату и время создания, последнего изменения и последнего чтения файла. Каждый файл имеет свой inode;
  • Резервная копия суперблока;
  • Некоторое количество блоков данных, в которых хранятся данные файлов;

Для того, чтобы повысить производительность операционной системы в UFS используются некоторые дополнительные решения. Например:

  • блоки данных большего размера для того, чтобы увеличить пропускную способность, а следовательно – производительность;
  • создание дубликатов суперблока. Такое решение позволяет обеспечить восстановление диска при необходимости;
  • поддержка фрагментации блоков на 2, 4 или 8 фрагментов для повышения производительности при работе с файлами небольшого размера;
  • распределение каждого нового каталога в отдельную группу цилиндров для равномерного распределения информации на диске;
  • оптимизация физического доступа для увеличения скорости чтения;
Читайте также:  Восстановление фотографий

Также к особенностям файловой системы UFS можно отнести «флаги состояния». Они предназначены для отображения состояния файловой системы. Доступны четыре состояния: чистое, стабильное, активное или неизвестное. Это позволяет избежать лишних проверок файловой системы. Если все хорошо и состояние отображается как «чистое» — при загрузке операционной системы утилита для проверки не запускается;

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

Где используются файловые системы UFS1 и UFS2?

Благодаря быстрой работе с большими файлами файловая система UFS (Unix File System) наиболее часто используется на серверах. Особенно это касается серверов, которые хранят видеоданные, поскольку обычно именно видеофайлы занимают больше всего памяти. Получается, что чем выше будет скорость отдачи сервера – тем лучше это скажется на быстродействии видеосервиса в целом. Кроме того, многие администраторы серверов предпочитают использовать UFS из-за обширных временных меток.

UFS существует в нескольких вариантах и может быть установлена на многих типах UNIX-систем, включая FreeBSD, HP-UX, NetBSD, OpenBSD, Apple OS X и Sun Solaris. Многие операционные системы с годами модифицировали одну или несколько структур данных в соответствии со своими потребностями, но все они имеют одинаковые концепции. К примеру, компания Solaris добавила проприетарные дополнения, которые модифицируют файловую систему таким образом, что другие операционные системы могут не распознать эту файловую систему. В то же время, многие из вышеперечисленных компаний продолжают использовать оригинальный размер и ширину блока данных. Благодаря этому сохранилась некоторая степень совместимости на разных платформах. Однако, перед ее использованием на нескольких платформах рекомендуется узнать больше информации о совместимости, дабы предотвратить торможение операционной системы и возможную потерю данныхх в будущем.

Операционная система FreeBSD полностью построена на FFS и UFS. Сделано это было для поддержания развития стандарта UFS2, который добавляет 64-битный блок указателей, обеспечивая тем самым работу операционной системы с накопителями объемом до 8 Зеттабайт (8 миллионов миллионов гигабайт).

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

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

Игровые консоли Sony PlayStation 2 и Sony PlayStation 3 используют собственные модификации UFS1 и UFS2 соответственно. Это связано с тем, что для быстрой работы консоли разработчикам нужна была файловая система, которая могла бы обеспечить соответствующий уровень производительности консоли при работе с большими образами установленных игр.

Помимо прочего нельзя не упомянуть о том, файловая система ext4 построена на UFS. О том, чем ext4 отличается от UFS читайте в следующем пункте этой статьи.

Разница между UFS, UFS2 и EXT4

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

Главным отличием UFS2 является то, что она 64-битная и способна работать с дисковыми томами объемом более терабайта. Следует отметить, что длина записи таблицы «inodes» в UFS2 увеличилась вдвое и равна 256 байтам.

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

В целом, с точки зрения пользователя, разницы между UFS и UFS2 нет. Однако на практике лучше использовать UFS2, так как она новее и обладает большими возможностями.

Как уже упоминалось выше – файловая система ext4 (как и ext2 и ext3) построена на UFS, соответственно они схожи между собой. К примеру, блоки данных в ext4 объединяются в группы, что сильно напоминает группы цилиндров в UFS. Кроме этого ext4 также, как и UFS использует inodes и суперблок в своей работе.

В то же время ext4 имеет ряд отличий от UFS. Например, в ней появилась поддержка «экстентов», которые позволяют адресовать большое количество (до 128 MB) последовательно идущих блоков одним дескриптором. До 4х указателей на экстенты может размещаться непосредственно в inode, что достаточно для файлов маленького и среднего размера. Такое решение позволяет повысить скорость чтения/записи данных. В UFS же для повышения скорости считывания данных применяется принцип физического распределения пространства. То есть во время считывания информации головкой жесткого диска существует некоторая задержка между завершением считывания одного блока и началом считывания следующего. За это время магнитный диск успевает обернуться на несколько градусов и если файлы на диске находятся один за другим – диск должен совершить полный оборот, чтобы головка смогла начать считывание следующего блока, а на это нужно некоторое количество времени. Файловая система UFS учитывает этот фактор и распределяет файлы на дисковом пространстве таким образом, чтобы минимизировать задержку при переходе от одного блока данных к следующему. Однако, как показывает практика – применение экстентов более эффективно. Кроме того, при работе с мелкими файлами UFS сильно проигрывает в ext4 в производительности.

Читайте также:  Как найти «пропавшее» место и восстановить размер на жестком диске

Еще одним отличием файловой системы ext4 от UFS является ее разрядность. В ext4 используются 48-битные номера блоков, в то время, как в UFS – 64-битные. На практике это означает что максимальный размер файловой системы ext4 равен 1 экзабайту, в то время как в UFS 2 максимальный размер равен 8 Зеттабайт. Именно поэтому при работе в огромными объемами данных (видео хостинги и т.д) выбор падает на UFS2.

Файловая система ext4 поддерживает журналирование «из коробки», в то время, как для внедрения этой функции в UFS придется устанавливать дополнительное ПО.

Суммируя все вышесказанное можно сказать, что ext4 имеет все шансы вытеснить UFS2 в будущем, однако ей еще нужно развиваться (например, добавить 64-битные номера блоков). Также у ext4 отсутствует проверка контрольных сумм для данных, что делает невозможным обнаружение повреждения данных из-за аппаратных сбоев оборудования.

Как посмотреть файлы на UFS1 или UFS2 накопителе в OS Windows и в случае необходимости скопирοвать их на другой локальный диск?

Несмотря на все преимущества файловых систем UFS1 и UFS2 чаще всего они используются в UNIX подобных операционных системах. Например, пользователи операционной системы Linux часто любят устанавливать UFS2 на внешние жесткие диски большого объема, на которых хранят фильмы и другие данные. Однако, как показывает практика, 97% пользователей ПК и ноутбуков используют Windows в качестве основной операционной системы, которая не поддерживает файловую систему UFS. Как же открыть накопитель, отформатированный в UFS в Windows системе?

Для того, чтобы открыть флэшку или внешний жесткий диск, который использовался операционной системе FreeBSD, HP-UX, NetBSD, OpenBSD или Sun Solaris не обязательно устанавливать драйвера или использовать виртуальную машину для установки второй системы.

Наилучшим решением будет использование программы RS Linux Recovery. Программа очень проста в использовании и не требовательна к ресурсам компьютера. Кроме того, она обладает интуитивно-понятным интерфейсом. Поэтому, если вы можете быть уверены, что откроете ваш UFS накопитель не зависимо от уровня владения компьютером.

Этот же метод можно использовать если вы случайно удалили важный файл или отформатировали ваш UFS накопитель последовав рекомендации проводника Windows.

Итак, для того, чтобы открыть ваш UFS накопитель просто выполните несколько простых шагов:

Шаг 1: Скачайте и установите программу RS Linux Recovery следуя подсказкам мастера установки. После этого запустите программу.

Шаг 2: Перед вами откроется мастер восстановления файлов. Нажмите «Далее». После этого программа предложит просканировать ваш UFS накопитель на наличие файлов. RS Linux Recovery предлагает два вида сканирования: быстрое сканирование и полное сканирование. Первый вариант стоит выбрать, если вы хотите просто посмотреть данные на накопителе и скопировать их на другой локальный диск. Второй вариант стоит выбрать, если вы потеряли важную информацию и хотите ее восстановить.

Также на этом этапе стоит выбрать тип файловой системы накопителя. RS Linux Recovery поддерживает ВСЕ файловые системы, которые используются в Linux. Нажмите «Далее»

Начнется анализ накопителя, который длится несколько минут.

Шаг 3: По завершении анализа, RS Linux Recovery покажет ВСЕ файлы на вашем UFS диске (в том числе и те, которые были удалены и могут быть восстановлены). Вы можете просматривать нужные вам файлы. Также справа будет доступен быстрый просмотр. Если вы хотите скопировать файл на другой диск вашего компьютера либо восстановить утерянный файл — выберите и щелкните на нем правой кнопкой мыши. Затем выберите «Восстановить»

Шаг 4: Выберите место куда хотите скопировать или восстановить нужный вам файл. Это может быть жесткий диск, ZIP-архив или FTP-сервер. Нажмите «Далее». Начнется процесс копирования/восстановления вашего файла. Обычно он длится несколько минут, в зависимости от размера.

Стоит также отметить, что при помощи этого способа можно просматривать данные на накопителях, использующих файловую систему ext2,3,4, XFS, ReiserFS и другие современные файловые системы.

Часто задаваемые вопросы

Оставить комментарий