Вивчаємо linux, 101 розмітка жорсткого диска

Про цю серії

Ця серія статей допоможе вам освоїти завдання адміністрування операційної системи Linux. Ви також можете використовувати матеріал цих статей для підготовки до іспитів першого рівня сертифікації професійного інституту Linux (LPIC-1).

Короткий огляд

З цієї статті ви дізнаєтеся, як створити розділи на жорсткому диску на комп'ютері під управлінням Linux. Ви навчитеся:

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

Необхідні умови

Щоб отримати найбільшу користь з наших статей, необхідно володіти базовими знаннями про Linux і мати робочий комп'ютер Linux, на якому можна буде виконувати всі зустрічаються команди. Іноді різні версії програм виводять результати по-різному, тому вміст листингов статей може злегка відрізнятися від результатів, отриманих на вашому комп'ютері.

Огляд файлової системи

Зв'язок з Яном

Файлова система Linux містить файли. які розміщуються в директоріях на жорсткому диску або на іншому блоковому пристрої зберігання. Як і в багатьох інших системах, директорії в Linux можуть містити інші директорії, звані піддиректоріями. На відміну від систем, подібних Microsoft® Windows®, в яких для кожної файлової системи використовується окрема буква диска (A. C: і т. Д.), Файлова система Linux являє собою дерево, кореневої директорією якого є /.

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

Зазвичай процес монтування инициализируется ядром і починається з монтування файлової системи одного з розділів жорсткого диска в точці монтування /. Ви можете монтувати інші розділи жорсткого диска в точках монтування / boot, / tmp або / home. Наприклад, можна монтувати файлові системи дискети і компакт-диска, вказавши для них точки монтування / mnt / floppy і / media / cdrom1, відповідно. Можна також монтувати файли інших систем за допомогою мережевої файлової системи, такої як NFS. Існують і інші типи монтування файлів, але цих прикладів досить, щоб зрозуміти основну ідею процесу. Хоча зазвичай прийнято говорити про "монтуванні пристрої", насправді монтується його файлову систему. тому потрібно розуміти, що мова йде про "монтуванні файлової системи пристрою".

Тепер припустимо, що ви тільки що змонтували кореневу файлову систему (/) і хочете змонтувати компакт-диск (пристрій / dev / sr0) в точці монтування / media / cdrom. Щоб пристрій можна було змонтувати, точка монтування повинна існувати. Коли ви вмонтовуєте компакт-диск, його файли і піддиректорії стають вмістом директорії / media / cdrom. Будь-які файли або піддиректорії, які перебували в директорії / media / cdrom до монтування, стають невидимими, хоча вони продовжують існувати на блоковому пристрої, що містить точку монтування / media / cdrom. Відключивши компакт-диска старе вміст директорії / media / cdrom знову стає видимим. Слід уникати цієї проблеми і не зберігати файли в директоріях, призначених для використання в якості точок монтування.

У таблиці 1 перераховані директорії, які повинні бути присутніми в кореневій директорії / відповідно до стандарту ієрархії файлової системи FHS (Filesystem Hierarchy Standard). У розділі Ресурси ви знайдете додаткову інформацію про FHS.

Таблиця 1. Директорії FHS в /

Перший SCSI-диск зазвичай називається / dev / sda. У більш ранніх версіях Linux перший IDE-диск називається / dev / hda. У системах, в яких встановлені диски з різними інтерфейсами (IDE і SATA), іноді для першого IDE-диска використовується ім'я / dev / hda, а для першого SATA-диска - / devsda. У новіших системах все IDE-диски мають імена / dev / sda, / dev / sdb і т. Д. Зміна схеми іменування IDE-дисків є результатом використання технології "гарячої" заміни. спочатку підтримуваної USB-пристроями. Технологія гарячої заміни дозволяє підключати і відразу ж використовувати нові пристрої, і сьогодні підтримується для всіх пристроїв - як для вбудованих в систему, так і для підключаються до включеному комп'ютера через зовнішні порти USB, Firewire (IEEE 1394) або інші можливі типи портів.

Весь простір жорсткого диска поділено на розділи. Розділи не можуть перекриватися; простір, не виділене жодному розділу, називається вільним простором. Розділи можуть мати імена / dev / hda1, / dev / hda2, / dev / hda3, / dev / sda1 і так далі. У системах, що не підтримують технологію "гарячої" заміни для IDE-пристроїв, IDE-диски можуть містити не більше 63 розділів. Якщо в системі є підтримка "гарячої" заміни для SCSI-, USB- і IDE-дисків, максимальна кількість розділів одно 15. Зазвичай розділи містять ціле число циліндрів (для усунення помилок при посиланні на номер циліндра).

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

Лістинг 1. Геометрія жорсткого диска

Ви можете використовувати параметр -u команди fdisk для завдання секторів в якості одиниці вимірювань, або використовувати підкоманду u в інтерактивному режимі для перемикання між секторами і циліндрами. Команда parted працює з багатьма одиниць виміру. У лістингу 2 наведено приклад використання різних одиниць вимірювання команди parted при роботі з тим же диском, що і в лістингу 1.

Лістинг 2. Використання різних одиниць вимірювання команди parted

Зверніть увагу, що невідповідність між номерами початкового та кінцевого циліндрів в результатах виведення команд parted і fdisk обумовлено тим, що команда parted починає вважати циліндри з 0, а команда fdisk - з 1. У лістингу 3 показано, що номери початкового і кінцевого секторів, які визначаються командою fdisk збігаються зі значеннями команди parted.

Лістинг 3. Визначення номерів початкового і кінцевого секторів

типи розділів

Існує три типи розділів IDE-дисків: основний. логічний і розширений. Таблиця розділів розташована в головний запис завантаження Master Boot Record (MBR) диска. MBR - це перший сектор диска, тому таблиця розділів не займає багато місця, а кількість основних розділів на диску обмежена чотирма. Якщо необхідно створити більш чотирьох розділів (а це буває часто), один з основних розділів необхідно визначити в якості розширеного.

Розширений розділ є просто контейнером для одного або декількох логічних розділів. Ця схема розбиття спочатку використовувалася в операційних системах MS DOS і PC DOS, і дозволяє використовувати диски персонального комп'ютера в операційних системах DOS, Windows або Linux. Диск може містити тільки один розширений розділ. Усередині розширеного розділу всі дані зберігаються в логічних розділах. Щоб можна було зберігати дані всередині розширеного розділу, необхідно спочатку створити всередині нього логічний розділ.

У Linux основні або розширені розділи нумеруються від 1 до 4; таким чином, пристрій dev / sda може мати чотири основні розділи - / dev / sda1, / dev / sda2, / dev / sda3 і / dev / sda4, а може мати один основний розділ - / dev / sda1 і один розширений - / dev / sda2. Якщо визначені логічні розділи, їх нумерація починається з 5; таким чином, перший логічний розділ на пристрої / dev / sda буде називатися / dev / sda5, навіть якщо на диску не визначений основний розділ, а визначено лише один розширений розділ (/ dev / sda1). Таким чином, якщо ви хочете мати на IDE-диску більше чотирьох розділів, необхідно створити один додатковий розділ за рахунок основного. Незважаючи на те, що ядро ​​Linux з підтримкою технології "гарячої" заміни теоретично підтримує створення на IDE-диску до 15 розділів, є ймовірність, що ви не зможете створити їх все, тому якщо ви плануєте використовувати на жорсткому диску більше 12 розділів, переконайтеся, що все працює належним чином.

Диск, з яким ми працювали в попередніх прикладах, має три основні розділи, відформатовані для використання в операційній системі Linux. На двох розділах використовує файлову систему ext3, на третьому - ext4. У лістингу 4 показані результати виконання команди parted з ключем p для внутрішнього жорсткого диска з основним, розширеним і логічними розділами в операційній системі Ubuntu 9.10, а також для USB-диска, підключеного до операційної системи Fedora 12. Зверніть увагу на різні типи файлових систем. Крім того, ви можете вказати в командному рядку одну або кілька команд parted. щоб уникнути переходу в інтерактивний режим.

Лістинг 4. Висновок таблиці розділів за допомогою команди parted

Розподіл дискового простору

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

  • Завантажувальні файли. Під час завантаження деякі файли повинні бути доступні для BIOS або для завантажувача операційної системи.
  • Кілька жорстких дисків. Зазвичай кожен жорсткий диск розбивається на один або кілька розділів, що містять свої файлові системи, які повинні бути змонтовані в певних частинах дерева файлової системи.
  • Загальні файли. Кілька систем можуть спільно використовувати статичні файли (наприклад, виконувані файли програм). Динамічні файли, такі, як домашні директорії користувачів або файли спулінга поштової системи, також можуть використовуватися спільно, дозволяючи користувачам входити в систему на будь-якій машині в мережі і працювати зі своїми домашніми директоріями і поштовою системою.
  • Можливість переповнення. Якщо існує ризик повного заповнення файлової системи, то розумніше зберігати файли, необхідні для функціонування системи, на окремому розділі.
  • Квоти. За допомогою квот можна обмежувати дисковий простір файлової системи, доступне користувачам або групам.
  • Монтування в режимі "тільки для читання". До винаходу журнальованою файлових систем відновлення файлових систем після збоїв могло займати багато часу. З цієї причини рідко змінюються файлові системи (наприклад, директорії виконуваних програм) можна змонтувати в режимі "тільки для читання", що дозволяє не витрачати час на їх перевірку після системних збоїв.

На додаток до розглянутих файловим системам необхідно передбачити виділення дискового простору для області підкачки. В Linux-системах для неї зазвичай виділяється один або, можливо, кілька розділів.

вибір параметрів

Припустимо, ви налаштовуєте комп'ютер з одним або декількома жорсткими дисками і хочете, щоб він завантажувався з одного з них (в цій статті не розглядається настройка бездискових робочих станцій, що завантажуються по мережі, а також різні варіанти використання Live-CD або Live-DVD для Linux -систем). Хоча розміри розділів можна змінювати пізніше, це вимагає певних зусиль, тому важливо спочатку зробити правильний вибір. Давайте почнемо.

Перш за все, необхідно переконатися, що комп'ютер зможе завантажуватися. У деяких старих комп'ютерах BIOS може завантажувати систему лише з розділу, повністю розташованого в перших 1024 циліндри диска. Якщо ви маєте справу з таким комп'ютером, ви повинні створити розділ, який в підсумку буде монтуватися як / boot і містити ключові файли, необхідні для завантаження системи. Після завантаження ОС Linux візьме управління жорстким диском на себе, і обмеження в 1024 циліндра не впливатиме на подальшу роботу системи. Якщо вам необхідно створити розділ / boot, як правило, досить виділити для нього близько 100 МБ дискового простору.

Наступне питання для розгляду - необхідний розмір області підкачки (swap). З урахуванням сьогоднішніх цін на оперативну пам'ять область підкачки надто повільна мережа вторинним пристроєм пам'яті. Колись було прийнято виділяти для області підкачки обсяг, що дорівнює об'єму фізичної оперативної пам'яті, встановленої в комп'ютері. Сьогодні ви можете виділяти для області підкачки робочої станції обсяг, від одного до двох разів перевищує обсяг наявного в комп'ютері ОЗУ, що дозволяє одночасно запускати кілька "важких" додатків і не відчувати при цьому недоліку в оперативній пам'яті. Навіть якщо перемикання між запущеними завданнями виявиться досить повільним, навряд чи ви одночасно працюєте більше ніж з однією-двома з них.

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

Тепер ми підійшли до тієї точки, коли слід розглядати окремі варіанти. Використання персональної робочої станції може виявитися менш передбачуваним, ніж використання сервера. Я віддаю перевагу (і особливо рекомендую новачкам) розміщувати більшість стандартних директорій (/ usr, / opt, / var і т. Д.) На одному великому розділі. Це особливо корисно для новачків в Linux, які не мають чіткого уявлення про те, що буде встановлено в кінцевому підсумку. Якщо на робочій станції будуть запускатися графічні оболонки і певний набір засобів розробки, цілком ймовірно, що вам буде потрібно 5 або більше гігабайтів дискового простору, беручи до уваги місця для зберігання призначених для користувача даних. Якщо ви будете використовувати деякі більш серйозні кошти розробки, для кожного з них може знадобитися по кілька гігабайтів дискового простору. Зазвичай я виділяю від 40 до 60 ГБ дискового простору для операційної системи, а вільне місце використовую для завантаження інших дистрибутивів.

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

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

Незалежно від того, налаштовуєте ви робочу станцію або сервер, на локальному жорсткому диску завжди є певні файли, унікальні для кожної системи. Зазвичай ці файли розташовуються в директоріях / etc (параметри системи), / boot (файли, необхідні під час завантаження), / sbin (файли, необхідні для завантаження або відновлення системи), / root (домашня директорія користувача root), / var / lock (файли блокування), / var / run (інформація про стан діючої системи) і / var / log (файли журналів і протоколів). Інші файлові системи, такі як / home (домашні директорії користувачів), / usr, / opt, / var / mail або / var / spool / news, можуть розташовуватися на окремих розділах або бути змонтовані по мережі відповідно до ваших вимог і переваг.

Отримати продукти і технології

  • Завантажте CD-диск для відновлення системи (EN) - один з безлічі доступних в мережі інструментів, що допомагають відновити систему після збою.

Схожі статті