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

Ще один момент, з яким доведеться зіткнутися під час установки Linux, – вибір файлової системи На відміну від Windows, яка пропонує відформатувати диск в NTFS або FAT32, а в останніх версіях – Тільки в NTFS, в Linux вибір набагато більше Сучасне ядро ​​підтримує такі файлові системи, на яких можна встановити Linux, – ext2, ext3, ext4, ReiserFS, XFS і JFS А список всіх файлових систем, розділи яких може монтувати Linux, ще більше, в тому числі в цьому списку знаходяться і файлові системи, що вважаються рідними для інших операційних систем, зокрема Windows

ПРИМІТКА

На зорі свого розвитку Linux працював з файлової системою Minix, на заміну якої і прийшов ext2 Minix досі підтримується ядром, але використовувати її немає сенсу

Переглянути повний список можна в конфігураційному файлі ядра (рис 22):

$ grep -i fs /boot/config-`uname -r`

ПРИМІТКА Е

У командах командної оболонки можна використовувати символи підстановки або висновки інших команд, в даному прикладі в лапки укладена команда, яка отримає і підставить номер версії ядра Linux

Рис 22 Список файлових систем, підтримуваних Linux Mint

Крім цього для тих, кому потрібна більш швидкодіюча або гнучка в налаштуваннях файлова система, можна створити програмні RAID-масиви (ідентифікатор fd) або системи управління логічними томами – LVM (англ Logical Volume Manager) (ідентифікатор 8е) Причому кожна із зазначених файлових систем, яку можна вибрати під час установки, має свої особливості і, можна сказати, спеціалізацію І хоча розробники зазвичай пропонують оптимальний варіант, який підходить в більшості випадків, слід знати про ці відмінності – можливо, ви віддасте перевагу іншу файлову систему

ПРИМІТКА Е

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

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

Файлова система ext2 (скор Extended File System) довгий час була стандартною для Linux, її характеризує висока надійність і високу швидкодію, яке, в свою чергу, досягається дуже ефективним механізмом кешування дискових операцій У міру зростання розмірів розділу і кількості файлів ext2 перестала задовольняти сучасним вимогам з управління такими великими обсягами, стійкості до збоїв і відновленню після збою Наприклад, щоб вказати розташування блоків для великих файлів застосовувався метод потрійний непрямої адресації Виглядає це приблизно так: якщо файл маленький, то в його метаданих міститься пряме посилання на комірки (логічні блоки), в яких зберігаються дані – пряма адресація При збільшенні обсягу файлу відведеного місця в метаданих вже не вистачає, щоб вказати на займане простір, тому блоки метаданих вказують вже на непрямі блоки, в яких містяться адреси з даними, визначеними у файлі, або, знову ж, покажчики на наступні непрямі блоки І так до потроєння У разі збою, коли дані вже записані, але зміни в адресації НЕ перерозподілені, файл можна втратити Ситуація посилюється тим, що дані часто записуються в нове місце, а не поверх старих Це зменшує фрагментацію (збільшує швидкість доступу), але збільшує ймовірність втрати даних, так як справжня інформація в метаданих не відповідатиме реальному розташуванню даних

ПРИМІТКА

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

Якщо дані заносилися в каталог (а це теж файл), то після перезавантаження ми можемо недорахуватися цілого каталогу

Звичайно, ситуація не так плачевна, як я змалював Ймовірність такого результату дуже мала, але найголовніше – за час існування ext2 утиліта перевірки файлової системи fsck (скор FileSystem ChecK) була доведена майже до досконалості і практично безпомилково усуває всі проблеми Крім цього ext2 створює копії критично важливих метаданих, тому ймовірність повної втрати даних надзвичайно мала

ПРИМІТКА

Щоб не перевіряти при кожному перезавантаженні системи всі диски, встановлені на компютері, знайшли такий простий вихід Після того як всі дані узгоджені, безпосередньо перед самим размонтированием розділу встановлюється біт чистого размонтирования (англ clean bit), наявність якого і перевіряє програма fsck При наявності clean bit робиться припущення, що файлова система в порядку, і перевірка не проводиться

Якщо біт чистого размонтирования не знайдений, то проводиться повна перевірка розділу файлової системи Ось тут-то і криється очевидне незручність: чим більше файлова система, тим довше триває процес перевірки Під час завантаження процедура перевірки метаданих на дисковому розділі розміром у кілька сотень гігабайт, з великою кількістю файлів і каталогів може дуже сильно затягнутися

Але ext2 все ще користується популярністю, особливо там, де важлива швидкість зчитування даних в розділах, які монтуються в режимі тільки читання. Наприклад, в каталозі / boot перебувають ядро ​​і деякі інші файли, що забезпечують завантаження системи Вміст цього розділу змінюється дуже рідко, деякі адміністратори Linux виносять його на невеликий розділ, який форматується в ext2 і монтується в режимі тільки читання.

Залишилося додати, що ext2 підтримує файли максимального розміру в 2 Тбайт і розділ розміром до 32 Тбайт Зазвичай цього вистачає для домашнього застосування

Основний недолік ext2 – довгий час перевірки після збою – виправили в файлової системі ext3, яка є подальшим розвитком ext2 Розроблено ext3 в компанії Red Hat доктором Стівеном Твіді Щоб не винаходити колесо, в даному випадку поступили просто: додали до стандартної ext2 журнал Таким чином, основні характеристики ext2 і ext3 аналогічні, за винятком того, що ext3 є журнальованою файлової системою Утиліти перевірки файлової системи для ext2 підтримують і ext3 До того ж ідентичність файлових систем дозволяє оперативно переходити як з ext2 на ext3, так і навпаки, просто змінивши параметри монтування

Вся магія журналу полягає в механізмі транзакцій, і в підсумку замість відстеження всіх модифікацій операція запису на диск розглядається як атомарна, а не розділена на кілька етапів Це дозволяє відстежити, чи пройшла запис взагалі, і, в свою чергу, гарантувати, що всі або жодна зміна файлової системи не зроблено Для цього перед виконанням операцій файлова система створює опис того, що збирається зробити Як тільки транзакція буде

зареєстрована, файлова система приступає безпосередньо до зміни метаданих У разі системного збою файлова система буде відновлена ​​до несуперечливого стану шляхом повторного запуску журналу і відкоту до попереднього стану І головне – при використанні журналу файлова система оглядає тільки ті ділянки диска, в яких змінювалися метадані, тобто вона вже «знає», де стався збій Процес відновлення після збою відбувається швидше, ніж при традиційній перевірці за допомогою fsck І що найсуттєвіше – час відновлення зовсім не залежить від розміру розділу, а швидше залежить від інтенсивності операцій на момент збою

ПРИМІТКА

Існує два варіанти роботи журналіруемих файлових систем: журналирование метаданих, що гарантує цілісність структури, і журналирование самої інформації, що дозволяє відновити її після збою Файлова система ext3 підтримує обидва варіанти

Платити за зручність тепер доводиться швидкодією, так як сама повільна операція в компютері – це операція введення / виводу на диск, і кількість таких операцій збільшилася, особливо при використанні варіанту з журналированием даних Вирішують питання різними хитрощами, наприклад розміщують журнал на іншому фізичному диску Але фактично час роботи з журналом набагато менше, ніж робота безпосередньо з даними Що цікаво, за рахунок поліпшення алгоритму руху головки жорсткого диска в деяких тестах файлова система ext3 показує навіть кращу продуктивність, ніж ext2

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

УВАГА

Журналіруемих файлові системи призначені не для відновлення всіх даних будь-яку ціну, а для підтримки несуперечності метаданих файлової системи на момент збою

Файлова система ext3 підтримує наступні три режими роботи

•&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp data = writeback – режим, при якому виконується тільки журналирование метаданих, самі дані не у журнал Збереження даних після збою не гарантовано, але швидкість роботи вище в порівнянні з іншими режимами Журнал дозволяє зменшити час початкового завантаження системи

•&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp data = ordered – використовується за замовчуванням, схожий на попередній, тобто у журнал тільки метадані, але блоки даних записуються першими У більшості випадків такий режим гарантує збереження даних, особливо якщо дані дописувалися в кінець файлу, чого в принципі достатньо

Підготовка жорсткого диска 1 Квітня

• data = journal – режим повного журналирования, все нові дані спочатку записуються в журнал і тільки після цього переносяться на своє постійне місце У випадку аварійного відмови журнал можна повторно перечитати і при вести дані та метадані в несуперечливе стан

Обраний відмінний від ordered, який, як уже говорилося, використовується за умовчанням, вказується допомогою параметра-о Наприклад:

$ Sud o mount про data = journa l t ext 3 / dev / hda 5 / home

ПРИМІТКА

Конвертувати ext2 в ext3 просто, достатньо використовувати утиліту tune2fs з параметром-j Наприклад, tune2fs-j / dev/hda5

Саме ext3 розробники рекомендують як підходящу для більшості випадків, хоча за замовчуванням пропонується ext4

Файлова система ext3 заслужила репутацію надійної, їй довіряють свої дані багато користувачів і корпорації Але найбільш істотним обмеженням є максимальний розмір сховища 16 Тбайт Щоб зняти це обмеження, в середині 2006 р була випущена серія заплаток (patch), які, в свою чергу, порушували зворотну сумісність Тому було прийнято рішення на основі заплаток створити нову файлову систему, яка отримала назву ext4

Головне завдання розробників – не просто підвищити продуктивність і поліпшити характеристики, але й надати простий шлях переходу користувачів, що працювали з ext2 або ext3, на нову версію файлової системи

Розмір розділу збільшений до 1 ексабайта, а максимальний розмір файлу – 16 Тбайт (у майбутньому планується збільшити це число), в каталозі може бути до 4 млн файлів (в ext3 – 32 тис) У ext4 запропоновано механізм просторової (англ extent) запису файлів, коли нові дані додаються в кінець заздалегідь виділеної по сусідству області файлу, що зменшує фрагментацію і підвищує продуктивність Крім цього механізм відкладеного розміщення максимально затягує запит на запис файлу, і в підсумку при скиданні даних на диск драйвер файлової системи, знаючи розмір файлу, намагається відвести під нього поруч розташовані блоки Це збільшує продуктивність і зменшує фрагментацію

І головне, щоб перейти з ext3 на нову файлову систему, досить просто змонтувати розділ з ext3 як ext4 Старі дані будуть оброблятися, як прийнято в ext3, нові отримають всі переваги ext4

Джерело: Яремчук С А Linux Mint на 100% – СПб: Питер, 2011 – 240 е: ил – (Серія «На 100%»)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*