102.1 Урок 1
Сертифікат: |
LPIC-1 |
---|---|
Версія: |
5.0 |
Розділ: |
102 Установка Linux та керування пакунками |
Тема: |
102.1 Створення структури жорсткого диска |
Урок: |
1 з 1 |
Вступ
Щоб досягти мети уроку, вам потрібно зрозуміти взаємозв’язок між дисками, розділами, файловими системами та томами.
Подумайте про диск (або пристрій для збереження даних, оскільки сучасні пристрої взагалі не містять жодних «дисків» ) як «фізичний контейнер» для ваших даних.
Перш ніж диск зможе використовуватися комп’ютером, його потрібно розбити на розділи. Розділ — це логічна підмножина фізичного диска, як логічний «паркан». Розподіл на розділи — це спосіб «розбити» інформацію, що зберігається на диску, відокремивши, наприклад, дані операційної системи від даних користувача.
Кожен диск потребує принаймні одного розділу, але може мати кілька розділів, якщо потрібно, і інформація про них зберігається в таблиці розділів. Ця таблиця містить інформацію про перший і останній сектори розділу та його тип, а також додаткові відомості про кожен розділ.
Усередині кожного розділу є файлова система. Файлова система описує спосіб фактичного зберігання інформації на диску. Ця інформація включає те, як організовані каталоги, які зв’язки між ними, де знаходяться дані для кожного файлу тощо.
Розділи не можуть охоплювати декілька дисків. Але за допомогою менеджеру логічних томів (LVM, Logical Volume Manager) можна об’єднати кілька розділів, навіть між дисками, щоб утворити один логічний том.
Логічні томи абстрагують обмеження фізичних пристроїв і дозволяють працювати з «пулами» дискового простору, які можна об’єднати або розподілити набагато гнучкішим способом, ніж традиційні розділи. LVM корисний у ситуаціях, коли вам потрібно додати більше місця до розділу без необхідності перенесення даних на пристрій більшого об’єму.
З цього уроку ви дізнаєтеся, як розробити схему розподілу дисків для системи Linux, розподіляючи файлові системи та простір підкачки для окремих розділів або дисків, коли це необхідно.
Про те, як створювати та керувати розділами та файловими системами, буде розказано в інших уроках. Тут же ми познайомимося з LVM, але детальне пояснення виходить за рамки уроку.
Точки монтування
Перш ніж отримати доступ до файлової системи в Linux, її потрібно змонтувати. Це означає приєднання файлової системи до певної точки в дереві каталогів вашої системи, яка називається точкою монтування.
Після монтування вміст файлової системи буде доступний під точкою монтування. Наприклад, уявіть, що у вас є розділ з особистими даними ваших користувачів (їхні домашні каталоги), що містить каталоги /john
, /jack
та /carol
. Коли вони підключені до /home
, вміст цих каталогів буде доступний у /home/john
, /home/jack
та /home/carol
.
Точка монтування повинна існувати до монтування файлової системи. Ви не можете змонтувати розділ під /mnt/userdata
, якщо цей каталог не існує. Однак якщо каталог існує і містить файли, ці файли будуть недоступні, доки ви не відключите файлову систему. Якщо ви виведете вміст каталогу, ви побачите файли, що зберігаються у змонтованій файловій системі, а не оригінальний вміст каталогу.
Файлові системи можна монтувати куди завгодно. Однак є деякі передові методи, яких слід дотримуватися, щоб полегшити адміністрування системи.
Традиційно, /mnt
був каталогом, до якого монтувалися всі зовнішні пристрої, а також ряд попередньо налаштованих точок прив’язки для звичайних пристроїв, таких як приводи CD-ROM (/mnt/cdrom
) і дискети (/mnt/floppy
).
Цей каталог було замінено на /media
, який тепер є точкою монтування за замовчуванням для будь-яких знімних носіїв (наприклад, зовнішніх дисків, USB-флеш-накопичувачів, пристроїв зчитування карт пам’яті, оптичних дисків тощо), підключених до системи.
У більшості сучасних дистрибутивів Linux і настільних середовищ знімні пристрої автоматично монтуються в папку /media/USER/LABEL
при підключенні до системи, де USER
є ім’ям користувача, а LABEL
є міткою пристрою. Наприклад, флеш-накопичувач USB з міткою FlashDrive
, підключений користувачем john
, буде змонтовано в /media/john/FlashDrive/
. Існують також інші варіанти залежно від середовища робочого столу.
З огляду на це, щоразу, коли вам потрібно вручну змонтувати файлову систему, доцільно монтувати її під /mnt
. Конкретні команди для керування монтуванням та розмонтуванням файлових систем під Linux будуть обговорені в іншому уроці.
Тримайте різні дані окремо
У Linux є деякі каталоги, які варто розмістити в окремих розділах. Для цього є багато причин: наприклад, зберігаючи файли, пов’язані з завантажувачем (зберігаються в /boot
) у розділ завантаження, ви гарантуєте, що ваша система все одно зможе завантажитися у разі збою в кореневій файловій системі.
Збереження особистих каталогів користувача (під /home
) на окремому розділі полегшує перевстановлення системи без ризику випадково зачепити дані користувача. Зберігання даних, пов’язаних з веб-сервером або сервером бази даних (зазвичай під /var
), на окремому розділі (або навіть окремому диску) полегшує адміністрування системи, якщо вам потрібно додати більше дискового простору для цих кейсів.
Зберігати певні каталоги в окремих розділах також можна з причин, пов’язаних з продуктивністю. Можливо, вам захочеться зберегти кореневу файлову систему (/
) на швидкісному твердотільному накопичувачі, а більші каталоги, такі як /home
і /var
, на повільніших жорстких дисках, які пропонують набагато більше місця за невисоку вартість.
Розділ завантаження (/boot
)
Завантажувальний розділ містить файли, які використовує завантажувач для завантаження операційної системи. У системах Linux завантажувачем зазвичай є GRUB2 або, у старіших системах, GRUB Legacy. Розділ зазвичай монтується в /boot
, а його файли зберігаються в /boot/grub
.
Технічно завантажувальний розділ не потрібен, оскільки в більшості випадків GRUB може монтувати кореневий розділ (/
) і завантажувати файли з окремого каталогу /boot
.
Однак для безпеки може знадобитися окремий завантажувальний розділ (забезпечення завантаження системи навіть у разі збою кореневої файлової системи), або якщо ви хочете використовувати файлову систему, яку завантажувач не може зрозуміти в кореневому розділі, або якщо він використовує непідтримуваний метод шифрування або стиснення.
Завантажувальний розділ зазвичай є першим розділом на диску. Це тому, що оригінальний BIOS IBM PC адресував диски за допомогою циліндрів, головок та секторів (CHS, Cylinder, Head, Sector), з максимумом 1024 циліндрів, 256 головок і 63 сектори, що призводить до максимального розміру диска 528 МБ (504 МБ під MS-DOS). Це означає, що все, що перевищує цю позначку, буде недоступне в застарілих системах, якщо не використовується інша схема адресації диска, наприклад, LBA-адресація (Logical Block Addressing).
Тому для максимальної сумісності завантажувальний розділ зазвичай розташовується на початку диска і закінчується перед циліндром 1024 (528 МБ). Це гарантує, що незважаючи ні на що, комп’ютер завжди зможе завантажити ядро.
Оскільки завантажувальний розділ зберігає лише файли, необхідні для завантажувача, початковий диск RAM і образи ядра, за сучасними стандартами він може бути досить малим. Оптимальний розмір - близько 300 МБ.
Системний розділ EFI (ESP)
Системний розділ EFI (ESP, EFI System Partition) використовується на комп’ютерах на основі уніфікованого розширюваного інтерфейсу прошивки (UEFI, Unified Extensible Firmware Interface) для зберігання завантажувачів і образів ядра встановлених операційних систем.
Цей розділ відформатовано у файловій системі на основі FAT. На диску, розділеному за допомогою таблиці розділів GUID, він має глобальний унікальний ідентифікатор C12A7328-F81F-11D2-BA4B-00A0C93EC93B
. Якщо диск був відформатований за схемою розподілу MBR, ідентифікатор розділу – 0xEF
.
На комп’ютерах з Microsoft Windows цей розділ зазвичай є першим на диску, хоча це не є обов’язковим. ESP створюється (або заповнюється) операційною системою під час встановлення, а в системі Linux монтується в /boot/efi
.
Розділ /home
Кожен користувач у системі має домашній каталог для зберігання особистих файлів і налаштувань, і більшість із них розташовані в /home
. Зазвичай домашній каталог збігається з ім’ям користувача, тому користувач John матиме свій каталог в /home/john
.
Проте бувають винятки. Наприклад, домашнім каталогом для користувача root є /root
, і деякі системні служби можуть пов’язувати користувачів із домашніми каталогами в інших місцях.
Не існує правила для визначення розміру розділу для каталогу /home
(домашнього розділу). Ви повинні враховувати кількість користувачів у системі та те, як вона буде використовуватися. Користувачеві, який займається лише переглядом вебсторінок та обробкою текстів, потрібно менше місця, ніж тому, хто працює, наприклад, із редагуванням відео.
Тимчасові дані (/var
)
Цей каталог містить «тимчасові дані» або файли та каталоги, до яких система повинна мати можливість запису під час роботи. Це включає системні журнали (у /var/log
), тимчасові файли (/var/tmp
) і кешовані дані застосунків (у /var/cache
).
/var/www/html
також є каталогом за замовчуванням для файлів даних вебсерверу Apache, а /var/lib/mysql
є розташуванням за замовчуванням файлів бази даних для сервера MySQL. Однак обидва ці параметри можна змінити.
Однією з вагомих причин для розміщення /var
в окремому розділі є стабільність. Багато програм і процесів записують у /var
і підкаталоги, наприклад /var/log
або /var/tmp
. Неправильно функціонуючий процес може записувати дані, доки у файловій системі не залишиться вільного місця.
Якщо /var
знаходиться в /
, це може викликати паніку ядра та пошкодження файлової системи, що спричинить ситуацію, з якої важко відновитися. Але якщо /var
зберігається в окремому розділі, на кореневу файлову систему це не вплине.
Як і для /home
, не існує універсального правила для визначення розміру розділу для /var
, оскільки це залежить від того, як використовується система. У домашній системі це може займати лише кілька гігабайт. Але для бази даних або вебсерверу може знадобитися набагато більше місця. У таких сценаріях, можливо, буде розумно розмістити /var
на розділі іншого диску, ніж кореневий розділ, додаючи додатковий рівень захисту від збою фізичного диску.
Swap
Розділ підкачки (swap partition) використовується для розміщення сторінок оперативної пам’яті на диск за потреби. Цей розділ має бути певного типу та налаштований за допомогою відповідної утиліти під назвою mkswap
, перш ніж його можна буде використовувати.
Розділ підкачки не можна змонтувати, як інші, а це означає, що ви не можете отримати до нього доступ, як до звичайного каталогу, і подивитися на його вміст.
Система може мати кілька розділів підкачки (хоча це буває нечасто), а Linux також підтримує використання файлів підкачки замість розділів, що може бути корисно для швидкого збільшення простору підкачки, коли це необхідно.
Розмір розділу підкачки є суперечливим питанням. Старе правило з перших днів Linux («вдвічі більше за обсяг оперативної пам’яті») може більше не застосовуватися залежно від того, як використовується система та від обсягу встановленої фізичної оперативної пам’яті.
У документації до Red Hat Enterprise Linux 7 Red Hat рекомендує наступне:
Обсяг оперативної пам’яті | Рекомендований розмір підкачки | Рекомендований розмір підкачки з режимом гібернації |
---|---|---|
< 2 ГБ ОЗП |
2-кратний обсяг оперативної пам’яті |
3-кратний обсяг оперативної пам’яті |
2-8 ГБ ОЗП |
Дорівнює обсягу оперативної пам’яті |
2-кратний обсяг оперативної пам’яті |
8-64 ГБ ОЗП |
Принаймні 4 ГБ |
1,5-кратний обсяг оперативної пам’яті |
> 64 ГБ ОЗП |
Принаймні 4 ГБ |
Не рекомендовано |
Звичайно, розмір файлу підкачки може залежати від робочого навантаження. Якщо на комп’ютері запущена критична служба, така як база даних, вебсервер або сервер SAP, доцільно переглянути документацію для цих служб (або постачальника програмного забезпечення), щоб отримати рекомендації.
Note
|
Щоб дізнатися більше про створення та ввімкнення розділів підкачки та файлів підкачки див. Тему 104.1 курсу LPIC-1. |
LVM
Ми вже обговорювали, як диски організовані в один або кілька розділів, причому кожен розділ містить файлову систему, яка описує, як зберігаються файли та пов’язані метадані. Одним із недоліків розділення є те, що системний адміністратор повинен заздалегідь вирішити, як буде розподілено доступний на пристрої дисковий простір. Пізніше це може створити певні проблеми, якщо для розділу буде потрібно більше місця, ніж планувалося спочатку. Звичайно, розмір розділів можна змінювати, але це може бути неможливо, якщо, наприклад, на диску немає вільного місця.
Керування логічними томами (LVM, Logical Volume Management) — це форма віртуалізації сховища, яка пропонує системним адміністраторам більш гнучкий підхід до управління дисковим простором, ніж традиційне розділення. Мета LVM — полегшити керування потребами в сховищі ваших кінцевих користувачів. Основною одиницею є фізичний том (PV, Physical Volume), який є блоковим пристроєм у вашій системі, таким як розділ диску або RAID-масив.
PV згруповані в групи томів (VG, Volume Groups), які абстрагують основні пристрої та розглядаються як єдиний логічний пристрій із сукупною ємністю зберігання компонентів PV.
Кожен том у групі томів підрозділяється на частини фіксованого розміру, які називаються екстентами (extents). Екстенти на PV називаються фізичними блоками (PE, Physical Extents), а блоки на логічному томі — логічними блоками (LE, Logical Extents). Як правило, кожен логічний блок зіставляється з фізичним блоком, але це може змінитися, якщо використовуються такі функції, як дзеркальне відображення диску.
Групи томів можна розділити на логічні томи (LVs, Logical Volumes), які функціонально працюють так само, як і розділи, але з більшою гнучкістю.
Розмір логічного тому, визначений під час його створення, насправді визначається розміром фізичних блоків (за замовчуванням 4 МБ), помноженим на кількість блоків, розміщених на томі. З цього легко зрозуміти, що для збільшення логічного тому, наприклад, все, що потрібно зробити системному адміністратору, — це додати більше блоків із пулу, доступного в групі томів. Так само можна видалити блоки, щоб зменшити LV.
Після створення логічного тому він розглядається операційною системою як звичайний блочний пристрій. У /dev
буде створено пристрій під назвою /dev/VGNAME/LVNAME
, де VGNAME
є назвою групи томів, а LVNAME
є назвою логічного тому.
Ці пристрої можна відформатувати у потрібну файлову систему за допомогою стандартних утиліт (наприклад, mkfs.ext4
) та змонтувати за допомогою звичайних методів, або вручну за допомогою команди mount
або автоматично, додавши їх до /etc/fstab
файлу.
Вправи до посібника
-
Де зберігаються файли завантажувача GRUB у системах Linux?
-
Де має закінчуватися завантажувальний розділ, щоб ПК завжди міг завантажувати ядро?
-
Де зазвичай монтується розділ EFI?
-
Під час монтування файлової системи вручну до якого каталогу її зазвичай слід монтувати?
Дослідницькі вправи
-
Яка найменша одиниця всередині групи томів?
-
Як визначається розмір логічного тому?
-
На диску, відформатованому за схемою розподілу MBR, який ідентифікатор системного розділу EFI?
-
Крім розділів підкачки, як можна швидко збільшити простір підкачки в системі Linux?
Підсумки
У цьому уроці ви дізналися про створення розділів, які каталоги зазвичай зберігаються в окремих розділах і чому це робиться. Крім того, ми зробили огляд LVM (Управління логічними томами) і те, як воно може запропонувати більш гнучкий спосіб розподілу ваших даних і дискового простору в порівнянні з традиційним розділенням.
Обговорювалися такі файли, терміни та утиліти:
/
-
коренева файлова система Linux.
/var
-
стандартне розташування для «тимчасових даних», даних, які можуть зменшуватися та зростати з часом.
/home
-
стандартний батьківський каталог для домашніх каталогів звичайних користувачів у системі.
/boot
-
стандартне розташування файлів завантажувача, ядра Linux і початкового диска RAM. Системний розділ EFI (ESP): Використовується системами, у яких реалізовано UEFI для зберігання файлів завантаження системи.
- Розділ підкачки
-
Використовується для заміни сторінок пам’яті ядра, коли оперативна пам’ять використовується інтенсивно.
- Точки монтування
-
Розташування каталогу, куди буде підключено пристрій (наприклад, жорсткий диск).
- Розділи
-
Розділи на жорсткому диску.
Відповіді на вправи до посібника
-
Де зберігаються файли завантажувача GRUB у системах Linux?
В каталозі
/boot/grub
. -
Де має закінчуватися завантажувальний розділ, щоб ПК завжди міг завантажувати ядро?
До 1024 циліндра.
-
Де зазвичай монтується розділ EFI?
До каталогу
/boot/efi
. -
Під час монтування файлової системи вручну до якого каталогу її зазвичай слід монтувати?
До каталогу
/mnt
. Однак це не є обов’язковим. Ви можете змонтувати розділ у будь-якому каталозі.
Відповіді до дослідницьких вправ
-
Яка найменша одиниця всередині групи томів?
Групи томів поділяються на блоки.
-
Як визначається розмір логічного тому?
Розмір фізичних блоків помножити на кількість блоків на томі.
-
На диску, відформатованому за схемою розподілу MBR, який ідентифікатор системного розділу EFI?
ID
0xEF
. -
Крім розділів підкачки, як можна швидко збільшити простір підкачки в системі Linux?
Можна використовувати файли підкачки.