Ноу Інти, лекція, файлова система

Монтування та демонтування файлових систем

При старті системи після завантаження ядра і запуску процесу init ініціюється перевірка тих файлових систем, які слід перевірити і змонтувати автоматично. Їх список міститься в файлі / etc / vfstab 1 Увага! В інших системах UNIX цей файл має іншу назву - / etc / fstab. Типовий файл / etc / vfstab виглядає так:

Ті файлові системи. які в стовпці mount at boot відзначені як yes. будуть перевірені і змонтовані при старті системи. Файлову систему можна змонтувати в будь-який момент, треба лише вказати їй в якості точки монтування порожній каталог, який уже існує і доступний в системі. Операцію монтування та демонтування файлової системи може здійснити тільки root.

Монтування файлової системи виконується командою mount:

Для монтування файлової системи. яка описана в / etc / vfstab. можна не вказувати ім'я файлу пристрою. а відразу вказати точку монтування. Таку "скорочену" команду mount можна застосовувати тільки для монтування файлових систем, перерахованих в / etc / vfstab.

При монтуванні файлової системи слід явно вказувати її тип, якщо він відрізняється від UFS.

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

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

Не можна демонтувати зайняту файлову систему. Зайнятої вважається така файлова система. файл з якої відкритий в даний час кимось із користувачів або каталог якої є поточним каталогом когось із працюючих в системі користувачів. У розділі "Визначення процесів. Зайняли файл" обговорюється, як з'ясувати, який саме процес зайняв той чи інший файл в системі (див. Також fuser (1M)).

Щоб все-таки демонтувати файлову систему, слід знайти і усунути причину її зайнятості. Часто для цього достатньо просто самому вийти з того каталогу, який збираєшся демонтувати. Це типова помилка системного адміністратора. намагатися демонтувати / usr в той момент, коли знаходишся в / usr / admin або подібному підкаталозі. який лежить в тому ж розділі, що і / usr.

Демонтування файлової системи виконується командою umount:

У досить старих версіях UNIX підтримувалася за все одна файлова система. Зі збільшенням різноманітності носіїв виникла необхідність підтримки різнорідних файлових систем на носіях різної природи. Так в 1985 році компанія Sun Microsystems прийшла до реалізації концепції віртуальної файлової системи.

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

Важливо: системні виклики, подібні fopen () і chmod (). а також команди маніпулювання файлами (cp. mv, rm і інші), по суті справи, працюють саме з абстракцією файлової системи, тобто з віртуальної файлової системою, яка має всі властивості вищеописаної POSIX-сумісної файлової системи. Від низькорівневих дій і необхідності вникати в подробиці реалізації конкретної файлової системи на конкретному фізичному пристрої їх надійно захищає реалізація віртуальної файлової системи.

До 1985 року операційні системи фірми Sun використовували Berkeley fast filesystem (FFS). Ця файлова система базувалася на концепції індексних дескрипторів. яка органічно трансформувалася в концепцію віртуальних індексних дескрипторів в новій файлової системи UFS. увібрала в себе структуру FFS і нові ідеї організації віртуальної файлової системи. Взаємодія незалежного від конкретного типу файлової системи рівня віртуальної файлової системи і файлових систем строго визначених типів ілюструє рис. 6.5.

Ноу Інти, лекція, файлова система


Мал. 6.5. Структура віртуальної файлової системи Solaris

Файлова система UFS зазнала деяких змін з 1985 року. Так, починаючи з випуску Solaris 9 8/03 підтримуються багатотерабайтних розділи, в той час як до цього UFS в Solaris могла працювати тільки з розділами розміром до 1 Тб. В даний час великі дискові системи має сенс використовувати в якості елементів пулу ZFS, так як файлова система ZFS найкраще підходить для управління великими дисковими просторами.

Файлові системи UFS. VxFS і ZFS, підтримувані в Solaris. відрізняються за деякими важливими параметрами, що впливає на їх надійність і продуктивність. У табл. 6.3 показано, що різні файлові системи володіють різними алгоритмами виділення простору під файли, а також механізмом журналирования.

Таблиця 6.3. Деякі властивості файлових систем UFS. VxFS і QFS

Як виділяється простір під файл

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

У файлової системи UFS розмір блоку може становити від 512 до 8192 байт. за замовчуванням в Solaris прийнятий розмір 8192 байт.

У Solaris підтримується журнал (logging) файлових систем UFS і VxFS. Журнал роботи дозволяє записувати в журнал інформацію про всі початих транзакціях. Якщо транзакція (тобто операція запису на диск) з якихось причин не була завершена (наприклад, відключилася харчування), то після перезапуску системи файлова система буде автоматично повернено в стан, в якому вона була до початку транзакції. Подібну функціональність надає файлова система ext3fs в Linux. reiserfs для FreeBSD і Linux і деякі інші.

В останні роки неодмінною умовою використання файлової системи стала підтримка сучасних дисків великих обсягів і великих файлів. Якщо кілька років тому "великим" називався диск об'ємом в 1 гігабайт. то зараз дискові масиви обсягом у кілька терабайт стають звичайними для систем середнього класу. Скоро вони прийдуть в системи малих офісів і в будинку, а мережі підприємств почнуть працювати з серверами, в яких встановлені дискові масиви, що містять десятки і сотні терабайт інформації. Що на це відповідають творці файлових систем для UNIX?

дерево каталогів

Всі файли в UNIX організовані древовидно: завжди існує кореневої каталог. який позначається "/". У ньому є підкаталоги. Зазвичай є підкаталоги. перераховані в табл. 6.4.

Каталог / bin є символічною посиланням на каталог / usr / bin. так буває не завжди.

Характерною властивістю Solaris є виділення окремого каталогу / exports. в якому зосереджуються колективні по мережі підкаталоги. доступні для користувачів інших комп'ютерів. Каталог / opt. куди встановлюється деякий додаткове програмне забезпечення (від optional. необов'язкове), теж є в системах Solaris. але відсутня в багатьох інших системах UNIX.

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

Це автоматично призводить до того, що записані в файлову систему tmpfs файли губляться після перезавантаження. Тому не слід записувати в / tmp будь-які корисні файли.

Швидкість роботи файлової системи tmpfs висока, тому що часто все її файли фізично розташовані в оперативній пам'яті. Внаслідок цього кешування файлів на tmpfs не проводиться: вони і так зберігаються не на диску.

Здавалося б, використання tmpfs таїть в собі резерв збільшення продуктивності будь-якої програми, оскільки достатньо записати дані в каталог / tmp і працювати з ними там, щоб швидкість доступу до даних зросла багаторазово. Насправді це не так, тому що читання і запис будь-яких дисків кешируєтся, і лише для деяких додатків використання tmpfs виправдано. Безсумнівно збільшується швидкодія компіляторів і інших програм з великими обсягами проміжних файлів - але вони і так використовують / tmp для зберігання тимчасової інформації в процесі роботи.

Таблиця 6.4. Звичайні підкаталоги кореневого каталогу Solaris

Схожі статті