• База знань
  • /
  • Блог
  • /
  • Wiki
  • /
  • ONLINE CHAT
+380 (44) 364 05 71

Стаття також доступна російською (перейти до перегляду).

Управління файловим сховищем в Linux

Вступ

Операційна система (ОС) Linux надає широкі можливості для роботи з різними типами файлових сховищ, кожне з яких може мати свою файлову систему. Для можливості управління такими сховищами існує набір відповідних команд / утиліт, котрі можуть застосовуватися Адміністратором в залежності від ситуації. Розглянемо основні з таких програм та продемонструємо роботу з ними на конкретних прикладах.

Типи пристроїв в ОС Linux

Можна виділити дві основні категорії пристроїв, з якими ми зазвичай маємо справу, працюючи з Linux. Це блочні пристрої та псевдопристрої, або тимчасові. Блочними пристроями є різні типи фізичних дискових накопичувачів, які забезпечують запис та збереження інформації у вигляді блоків. Це, наприклад, HDD, SSD накопичувачі та інші. Такі накопичувачі є енергонезалежними, оскільки при вимкненні живлення інформація на них зберігається і нікуди не зникає. У термінах Linux-подібних систем вони можуть позначатися, зокрема, як /dev/vda або /dev/sda в залежності від типу пристрою. У будь-якому разі позначка /dev є ознакою пристрою будь-якого типу.

Псевдо пристрої зазвичай створюються для тимчасового зберігання інформації і є енергозалежними. Найбільш розповсюджене позначення для них tmpfs або devtmpfs.

Кожен з фізичних пристроїв повинен мати хоча б один розділ, назви котрих найчастіше позначаються як /dev/hd* або /dev/sd*. Але маркер для розділу можна встановити практично будь-який за допомогою відповідної команди, що буде показано нижче. Це, до речі, іноді може бути дуже корисним, оскільки, якщо розділ монтується тимчасово при завантаженні ОС, то може під`єднатися не той розділ, що потрібен. Тому бажано назви розділів встановлювати постійними, наприклад, disk_one і тому подібні назви.

Утиліти для роботи з пристроями Linux можна розділити наступним чином: утиліти для створення розділів та їх форматування; утиліти для відображення інформації по всім або обраним пристроям; утиліти для монтування файлових систем до певних точок (каталогів). Розглянемо роботу з командами кожної групи утиліт.

Створення та форматування розділів дисків

Для початку оновимо встановлені в ОС Linux пакети програмного забезпечення. Це можна зробити за допомогою наступних команд:

$ sudo apt update

Ця команда використовується для синхронізації індексу пакетів репозиторію.

Перевірка оновлень пакетів

$ sudo apt upgrade

Команда виконує безпосереднє оновлення пакетів.

Оновлення пакетів.

Після підтвердження згоди на виділення 2890 kB, починається процес оновлення пакетів, показаний нижче.

Процес оновлення пакетів.

Процес оновлення пакетів.

Завершальне вікно виходу команди виглядає наступним чином:

Завершальне вікно

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

$ sudo apt install parted

Встановлення утиліти parted

Можемо переконатися, що утиліта вже присутня в нашій ОС і тому не потребує встановлення. Тобто, можна починати роботу з нею.

Для визначення в системі нового пристрою використовується наступна команда:

$ sudo parted -l | grep Error

Команда перевіряє схеми розділів наявних дисків, і у випадку присутності дисків, які не мають відповідної схеми розділів, видається помилка. Таким чином диск ідентифікується як новий. У нашому випадку, як видно із зображення, помилка не видається, а значить, нові диски відсутні у системі.

Визначення нових пристроїв. пристрої не знайдені.

Для перегляду наявних у системі блочних пристроїв використаємо наступну команду:

$ lsblk

Команду бажано використовувати при наступних підключеннях до серверу перед внесенням змін з метою контролю за реально підключеними дисками, оскільки їх ідентифікатори можуть змінюватись поміж завантаженнями.

Перегляд наявності блочних пристроїв.

Для демонстрації роботи утиліти Parted встановимо для пристрою /dev/vda один розділ замість наявних двох. Для цього введемо у терміналі:

$ sudo parted /dev/vda mklabel gpt

У команді використаний параметр gpt, котрий слугує для позначення стандарту розбиття диску. Найбільш розповсюджені GPT та застарілий MBR. Нижче наведено процес обробки диску у відповідності до вказаних у команді параметрів.

Процес обробки диску.

Процес обробки диску.

Процес обробки диску.

Процес обробки диску.

Після цього можна створити один розділ для всього диску. Для цього необхідно використати наступну команду:

$ sudo parted -a opt /dev/vda mkpart primary ext4 0% 100%

Вказана команда створить завантажувальний розділ з файловою системою ext4. Параметри «0% 100%» вказують на розмір створюваного розділу. У даному випадку це увесь диск.

Процес створення завантажувального диску.

Процес створення завантажувального диску.

Процес створення завантажувального диску.

Процес створення завантажувального диску.

Для перегляду створеного розділу введемо у терміналі:

$ lsblk

Перегляд створеного розділу

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

$ sudo mkfs.ext4 -L datapartition /dev/vda2

Ініціалізація розділу як файлової системи ext4

Процес завершено. Як зазначалося вище, ми можемо змінити маркер розділу. Для цього використаємо наступну команду:

$ sudo e2label /dev/vda2 disk77

Зміна маркера разділу.

Тепер переглянемо характеристики диску з використанням параметру --fs . Введемо у терміналі:

$ sudo lsblk --fs

Перегляд характеристик диску.

Можна переконатися, що всі внесені нами налаштування є діючими. Також для перегляду потрібних характеристик розділу можна скористатися іншою формою команди lsblk:

$ sudo lsblk -o NAME,FSTYPE,LABEL,UUID,MOUNTPOINT

Перегляд певних характеристик серверу.

Тут ми використали параметр -o та назви потрібних нам параметрів розділу.

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

Стандартом рекомендовано для монтування файлових систем використовувати каталог/mnt або його підкаталоги. Створимо каталог. Введемо у терміналі:

$ sudo mkdir -p /mnt/newdata

Створення каталогу /mnt

Тимчасове монтування

Для здійснення тимчасового монтування використаємо команду mount з відповідними параметрами:

$ sudo mount -o defaults /dev/vda2 /mnt/newdata

Перевіримо чи спрацювала команда:

Перевірка що новий каталог змонтований.

<pЯк можна переконатися, команда спрацювала. Таким чином, точка тимчасового монтування файлової системи створена.

Команда mount має велику кількість опцій, котрі дозволяють встановлювати додаткові характеристики точки монтування. Зокрема, такі опції, як noexec та nosuid, дають змогу заборонити виконання та створення бінарних файлів відповідно.

Автоматичне монтування

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

$ sudo nano /etc/fstab

Виклик редактора nano для файлу fstab

Внесення змін в файл fstab

У вікні редактора у кінець файлу додамо значення параметру UUID, у котрому впишемо потрібні нам налаштування. Зокрема, це ідентифікатор розділу, отриманий нами раніше за допомогою команди lsblk з параметром –о; каталог монтування; тип файлової системи. Параметр defaults вказує, що цей том повинен бути змонтованим з параметрами по замовчанню, тобто, з підтримкою запису та читання. Параметр «0 2» вказує, що файлова система повинна перевірятися на помилки одразу після кореневого тома.

Для збереження змін натиснемо клавіші «ctrl+o» та вийдемо із редактора («ctrl+х»). Таким чином ми провели налаштування автоматичного монтування файлової системи вказаного розділу при кожному завантаженні сервера.

Звісно, можна було зробити те ж саме, вказавши не значення параметру UUID для ідентифікації розділу, а значення маркеру LABEL. У такому разі запис у файлі /etc/fstab виглядав би наступним чином:

LABEL=disk77 /mnt/newdata ext4 defaults 0 2

Результат буде таким же, що із параметром UUID.

Розмонтування файлової системи

Для размонтирования файловой системы существует команда umount. Формат команды предусматривает указание на точку монтирования смонтированной в настоящее время файловой системы. К примеру, для размонтирования нашей файловой системы введем в терминале:

$ sudo umount /mnt/newdata

Розмонтовування файлової системи.

Для перевірки використаємо відповідну команду у терміналі:

$ lsblk

Перевірка, що фс розмонтована.

Можна переконатися, що команда «працює».

Для навчання та роботи відмінно підходять віртуальні сервери FREEhost.UA. Створення сервера займає лише кілька хвилин, великий список підготовленого на вибір ПЗ. Розміщення на двох локаціях – Україна та Польща.

Підписуйтесь на наш телеграм–канал  https://t.me/freehostua, щоб бути в курсі нових корисних матеріалів.

Дивіться наш канал Youtube на https://www.youtube.com/freehostua.

Ми у чомусь помилилися, чи щось пропустили?

Напишіть Про це у коментарях, ми з задоволенням відповімо та обговорюємо Ваші зауваження та пропозиції.

 

Дата: 20.10.2022
Автор: Євген
Голосування

Авторам статті важлива Ваша думка. Будемо раді його обговорити з Вами:

comments powered by Disqus
navigate
go
exit
Дякуємо, що обираєте FREEhost.UA