Файлові системи Unix: UFS1 та UFS2

Файлові системи Unix: UFS1 та UFS2

Зміст

  1. Що таке файлова система UFS?
  2. Структура файлової системи UFS1 та UFS2
  3. Де використовуються файлові системи UFS1 та UFS2?
  4. Відмінності між UFS, UFS2 та EXT4
  5. Як я можу переглядати файли на диску UFS1 на диску UFS2 в операційній системі Windows і, за потреби, копіювати їх на інший локальний диск?

Що таке файлова система UFS?

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

На ранньому етапі розробки файлова система UFS називалася FS. Вона була досить простою і містила лише дані, такі як суперблоки, загрузочні блоки, блоки даних та дескриптори індексів (також відомі як іноди). FS добре підходила для жорстких дисків невеликого розміру, які переважали на ринку того часу. Але з плином часу ємність накопичувачів збільшувалася, і поступово стало зрозуміло, що файлова система FS не здатна забезпечити необхідну продуктивність. Це призвело до подальшого розвитку FS. Розробники додали циліндричні групи. Кожна група мала свої дескриптори індексів, щоб уникнути накопичення “сміття” у файловій системі, і сама файлова система змінила свою назву з “FS” на “FFS (Fast File System)”.

Основною метою FFS було об’єднання всього вмісту каталогу (дані та метадані) в одну циліндричну групу. Це значно зменшувало рівень фрагментації, яка виникала через розкиданість даних по поверхні диска. Однак, через швидке збільшення розміру диска та розміру файлів, що зберігаються на них, це рішення втратило свою ефективність, оскільки розмір блоку збільшився для забезпечення необхідної продуктивності. Відповідно, зберігання великої кількості малих файлів займало багато місця.

Це знову змусило розробників розробити файлову систему, і на основі FFS була створена переглянута файлова система “UFS1“, а пізніше її переглянута версія – “UFS2“, створення якої дозволило забезпечити надійність та швидкість завдяки розбиттю блоків на фрагменти, які використовуються для зберігання останніх байтів файлу (раніше для цього виділявся цілий блок) та деякі нові технології.

На практиці “UFS1” та “UFS2” є двома додатковими шарами – верхнім шаром, який забезпечує структуру каталогу та підтримку метаданих у дескрипторі структури індексів, та нижніми шарами, які дозволяють представляти контейнерні дані у вигляді дескрипторів індексів. Це було зроблено для підтримки як традиційної FFS, так і LFS.

Структура файлової системи UFS детально описана в наступному абзаці цієї статті.

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

Структура файлових систем UFS1 та UFS2 виглядає наступним чином: спочатку розташовується загрузочний блок, а потім суперблок. Далі йде таблиця описів індексів (таблиця інодів), а за нею – каталоги. Також у деяких операційних системах (наприклад, Solaris) файлова система зберігає списки контролю доступу (ACL) для надання тіньових описів індексів (тіньових інодів). Ось як виглядає розділ FreeBSD, коли використовується файлова система UFS:

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

Весь простір на диску розділяється на групи циліндрів, і кожна група зберігає наступну інформацію:

  • Загрузочний блок – призначений для зберігання даних, необхідних для завантаження операційної системи. Якщо його немає, операційна система не зможе завантажитися. Загрузочний блок з’являється лише в нульовій групі циліндрів і займає перші 8 Кбайтів частини диска. Якщо файлова система не використовується при завантаженні системи, вона залишається порожньою;
  • Суперблок – цей розділ файлової системи містить її опис, а також інформацію про її конфігурацію;
  • Описи груп циліндрів (CG summary). Циліндри – це окрема область, яка містить деякі вкладені файли. Відповідно, група циліндрів містить кілька дискових циліндрів.
  • Мапа вільних інодів – дані про вільні іноди та загальна інформація про використання інодів у групі;
  • Мапа вільних блоків – дані про вільні блоки та загальна інформація про використання дискових блоків у групі;
  • Масив інодів – інод містить всю інформацію про файл, крім його імені, таку як розмір файлу, дата і час створення, останньої модифікації та останнього читання файлу. Кожен файл має свій власний інод;
  • Резервна копія суперблоку;
  • Певна кількість блоків даних, в яких зберігаються дані файлів;

Для покращення продуктивності операційної системи UFS використовує деякі додаткові рішення. Наприклад:

  • більші блоки даних для збільшення пропускної здатності та, отже, продуктивності;
  • створення дублікатів суперблоку – це рішення дозволяє відновити диск за потреби;
  • підтримка фрагментації блоків на 2, 4 або 8 фрагментів для кращої продуктивності з файлами малого розміру;
  • привласнення кожного нового каталогу окремій групі циліндрів для рівномірного розподілу інформації на диску;
  • оптимізація фізичного доступу для кращої продуктивності читання;

Іншою особливістю файлової системи UFS є “прапорці стану“. Вони призначені для вказівки стану файлової системи. Є чотири стани: чистий, стабільний, активний або невідомий. Вони уникнуть непотрібних перевірок файлової системи. Якщо все гаразд і стан відображається як “чистий” – утиліта перевірки не запускається при завантаженні операційної системи;

Також варто зазначити, що кількість інодів в UFS фіксована і неможливо додавати їх динамічно (як у файловій системі XFS). Це ще одна причина, чому файлова система UFS більш підходить для великих файлів, ніж для малих файлів, оскільки якщо всі вільні іноди закінчуються, користувачу доведеться створювати файлову систему на диску заново, а коли йдеться про терабайти даних, це досить тривалий процес.

Де використовуються файлові системи 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 та UFS1 полягає в тому, що UFS2 є 64-бітним і може працювати з дисками об’ємом більше одного терабайта. Зазначимо, що довжина запису таблиці інодів в UFS2 подвоїлася і становить 256 байтів.

Крім того, UFS2 має підтримку розширених атрибутів файлів, таких як ACL. Це важливо для мережевих адміністраторів. Те, що помітить звичайний користувач, це швидкість створення нової файлової системи (особливо помітна на дуже великих дисках).

Загалом, з точки зору користувача, немає відмінностей між UFS та UFS2. Проте на практиці краще використовувати UFS2, оскільки вона є новішою та має більше функцій.

Як зазначено вище, файлова система ext4 (подібно до ext2 та ext3) базується на UFS, тому вони схожі. Наприклад, блоки даних в ext4 об’єднуються в групи, які сильно нагадують групи циліндрів в UFS. Крім того, ext4 використовує іноди та суперблоки так само, як UFS.

У той же час, ext4 має деякі відмінності від UFS. Наприклад, вона має підтримку “екстентів“, які дозволяють адресувати велику кількість (до 128 МБ) послідовних блоків за допомогою одного дескриптора. В іноді можна розмістити до 4 вказівників на екстенти, що достатньо для невеликих та середніх файлів. Це рішення дозволяє збільшити швидкість читання/запису даних. UFS використовує принцип фізичного розподілу простору, щоб збільшити швидкість читання даних. Це означає, що під час читання інформації головка жорсткого диска є затримка між закінченням читання одного блоку та початком читання наступного. Протягом цього часу магнітний диск має час повернутися на кілька градусів, і якщо на диску є файли один за одним, диск повинен зробити повний оберт, щоб головка могла почати читати наступний блок, і це потребує певного часу. Файлова система UFS враховує це та розподіляє файли на дисковому просторі таким чином, щоб мінімізувати затримку при переході від одного блоку даних до наступного. Однак, на практиці екстенти є більш ефективними. Крім того, при роботі з невеликими файлами UFS втрачає багато в продуктивності порівняно з ext4.

Іншою відмінністю між файловими системами ext4 та UFS є глибина бітів. Ext4 використовує блокові номери 48-бітні, тоді як UFS використовує блокові номери 64-бітні. На практиці це означає, що максимальний розмір файлової системи ext4 становить 1 екзабайт, тоді як UFS2 має максимальний розмір 8 зеттабайт. Тому при роботі з великими обсягами даних (відеохостинг і т.д.) вибір падає на UFS2.

Файлова система ext4 підтримує журналювання з коробки, тоді як UFS вимагає додаткового програмного забезпечення.

Підсумовуючи, ext4 має гарні шанси в майбутньому замінити UFS2, але вона все ще повинна розвиватися (наприклад, додавати 64-бітні блокові номери). Крім того, ext4 не має перевірки контрольної суми для даних, що робить неможливим виявлення пошкодження даних через відмови обладнання.

Як я можу переглядати файли на диску UFS1 на диску UFS2 в операційній системі 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. Клацніть “Далі“.

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

Розпочнеться аналіз диска, який займе кілька хвилин.

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

Крок 3: Після завершення аналізу RS Linux Recovery покаже ВСІ файли на вашому диску UFS (включаючи видалені файли, які можна відновити). Ви можете переглядати файли, які вам потрібні. Швидкий попередній перегляд також буде доступний з правого боку. Якщо ви хочете скопіювати файл на інший диск вашого комп’ютера або відновити втрачений файл – клацніть правою кнопкою миші на ньому. Потім виберіть “Відновлення“.

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

Крок 4: Виберіть, куди ви хочете скопіювати або відновити потрібний файл. Це може бути жорсткий диск, ZIP-архів або FTP-сервер. Потім клацніть “Далі“. Розпочнеться процес копіювання/відновлення. Зазвичай це займає кілька хвилин, залежно від розміру.

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

Також варто зазначити, що ви можете використовувати цей метод для перегляду даних на дисках з файловою системою ext2,3,4, XFS, ReiserFS та іншими сучасними файловими системами.

Поширені запитання

UFS2 - це 64-бітна перероблена версія UFS1. Вона також має деякі нові функції. Детальнішу інформацію ви можете знайти на нашому веб-сайті.
Для копіювання файлів з диска з файловою системою UFS2 в Windows використовуйте програму RS Linux Recovery. Програма є простою у використанні та не вимагає додаткових драйверів.
UFS (Unix File System) - це файлова система, яка використовується в багатьох операційних системах на базі Unix, таких як Linux, FreeBSD, HP-UX, NetBSD, OpenBSD або Sun Solaris.
Тільки на рівні читання. Щоб забезпечити повну підтримку файлової системи UFS (1,2), вам потрібно буде використовувати додаткове програмне забезпечення.
Все залежить від ваших потреб. Якщо ви працюєте з великими файлами, оберіть UFS, якщо ж ви працюєте з малими файлами, оберіть ext4, оскільки він помітно швидший за UFS для малих файлів.
Залишити коментар

Схожі публікації

Відновлення даних віртуальних машин Hyper-V
Відновлення даних віртуальних машин Hyper-V
Як відновити дані віртуальних машин Hyper-V? Їхні дані можуть загубитися в результаті збою роботи гіпервізора, Windows або через наші дії. Нижче розглянемо, що можна зробити в такій ситуації. Що робити, якщо не запускається віртуальна машина Hyper-V, як її можна відновити? … Continue reading
Як відновити дані з віртуальної машини Parallels
Як відновити дані з віртуальної машини Parallels
Як відновити дані віртуальних машин Paralles, якщо ці дані втрачені через випадкове видалення або програмний збій? Як перенести дані з віртуальної машини Paralles, якщо вона пошкоджена та не може бути відновлена? У першому випадку рішенням можуть бути лише програми відновлення … Continue reading
Відновлення даних з віртуальних машин VMWare vSphere ESXi
Відновлення даних з віртуальних машин VMWare vSphere ESXi
Втратити дані можно через помилку або внаслідок збою у роботі гіпервізора. Як відновити дані з віртуальної машини VMWare vSphere, ESXi? Нижче розглянемо, що робити у такому випадку.
Відновлення даних віртуальних машин Virtualbox
Відновлення даних віртуальних машин Virtualbox
Як відновити дані віртуальних машин Virtualbox? Якщо віртуальний жорсткий диск машини не пошкоджений, її відновлення не стане проблемою. В іншому випадку дані машини доведеться відновлювати за допомогою спеціальних програмам для відновлення даних із функціоналом доступу до вмісту віртуальних дисків. Такі … Continue reading
Online Chat with Recovery Software