Управління дисковим простором за допомогою LVM
У статті розповідається, як створити файловий сервер з використанням LVM (з RAID і без RAID). Розглянуто питання розширення дискового простору, заміни дисків, вибору файлової системи.
[Bryce Harrington і Kees Cook. Переклад: Сгибнев Михайло (www.dreamcatcher.ru)]
Управління дисковим простором за допомогою LVM
Переклад: Сгибнев Михайло
Linux Logical Volume Manager (LVM) є механізмом віртуалізації дисків. Він дозволяє створювати "віртуальні" дискові розділи на одному або декількох жорстких дисках, які в подальшому можна збільшувати, зменшувати або переміщати з диска на диск по вашим потребам. Також з'являється можливість подолати обмеження на розмір розділу, що накладається розміром жорсткого диска.
У цій статті спершу рассматріается файловий сервер початкового рівня, потім внесемо деякі зміни, додавши надмірність за допомогою RAID 1. Також розглянемо аспекти застосування LVM для домашніх користувачів.
установка LVM
Система LVM включає в себе компонент ядра, відповідаючий за файлову систему і призначені для користувача утиліти. Для включення компонента ядра, встановіть наступні опції:основи LVM
Щоб використовувати LVM, вам необхідно зрозуміти кілька моментів. От є у вас жорсткі диски. Дисковий простір на цих пристроях нарубаю на розділи. Нарешті, файлова система записується поверх цих розділів. Для порівняння, в LVM, Volume Groups (VGs) розділені на логічні томи (LVs), де файлові системи, в кінцевому рахунку, і знаходяться (Рис. 1).
Кожен VG складений з пулу Фізичних Томів (PVs). Ви можете розширити (або зменшити), розмір Volume Groups додаючи або видаляючи так багато PVs, як вам буде завгодно, якщо є достатня кількість PVs для зберігання вмісту всіх виділених LVs. Поки є обсяг пам'яті, доступний в VG, ви можете збільшувати або скорочувати розмір ваших логічних томів (хоча більшість файлових систем не любить стискатися).
Приклад: простий файлової сервер
Простий приклад використання LVM - традиційний файловий сервер, на якому зберігаються резервні копії, медіа-файли і загальні файли для комп'ютерів кількох членів сім'ї. Гнучкість - ключова вимога; хто знає, які вимоги до обсягів дисків принесе Селдена рік?
Для прикладу, висунемо наступні вимоги до розділів:Традиційно, файловий сервер використовує диски SCSI, але сьогодні диски SATA пропонують привабливе співвідношення швидкості і низької ціни. На момент написання цієї статті, диски SATA на 250 Гбайт за вартістю приблизно рівні 100 $, таким чином, вартість одного терабайта складе близько 400 $.
Диски SATA імені не ATA класифікацією (hda, hdb), а SCSI (sda, sdb). Як тільки наша система завантажилася з підтримкою SATA, у нас з'явиться чотири готових до роботи фізичних пристрої:Створення віртуального томи
Тепер у вас є кілька зрозуміло названих логічних томів:Вибір файлової системи
Тепер, коли пристрої створені, необхідно створити файлові системи, яких існує велика кількість. На чому зупинити свій палаючий погляд?
Типовими файловими системами настільних комп'ютерів є ext2 і ext3. Ext2 була стандартною, надійної робочим конем для Linux в минулі роки. Ext3 - модернізація ext2, що підтримує журнал і поліпшені механізми перевірки після збою. Збалансованість ext3 в плані продуктивності, надійності і швидкості відновлення робить її прекрасним вибором для систем загального призначення. Оскільки ext2 і ext3 були файловими системами, використовуваними за замовчуванням, протягом довгого часу, то ext3 буде хорошим вибором, якщо ви хочете отримати більшу надійність. Для того, щоб зберігати резервні копії, надійність набагато важливіша ніж швидкість. Головним недоліком ext2 / ext3 є те, що для того, щоб збільшити (зменшити) ФС, необхідно її отмонтировать.
Однак, інші файлові системи забезпечують деякі переваги в певних ситуаціях, наприклад, при великих розмірах файлу, великій кількості файлів або проізволітельності файлової системи. Оскільки основне використання LVM - для сценаріїв, коли ви потребуєте в критичному кількості файлів, надзвичайно великих файлах, і / або потреби змінювати розміри ваших файлових систем, слід розглянути інші файлові системи.
Для великої кількості маленьких файлів чудовим вибором буде ReiserFS. Для потокового, некешіруемого введення / виведення, ця ФС займає верхні рядки тестів і може бути на кілька порядків швидше, ніж ext3. Однак, історично, вона виявилася не настільки стабільною, як ext3. Цей висновок зроблено на підставі досить застарілих даних, можливо, зараз ситуація змінилася, але неприємний осад залишився.
Отже, прийнявши все сказане до уваги:монтування
Нарешті, щоб примонтировать файлові системи, додайте наступні рядки до / etc / fstab:Додаємо надмірність за допомогою RAID
Поки у використанні LVM все досить просто. Однак естьодін головний недолік: при збої будь-якого з дисків, ваші дані опиняться в небезпеці. Дуже складно створити резервну копію половини терабайта даних.
Для компенсації такого ризику необхідно додати надмірність, використовуючи RAID 1. RAID (Redundant Array of Independent Disks) є низкоуровневой технологією комбінування дисків різними способами (рівнями). RAID 1 Віддзеркалюються дані на двох (або більше) дисках. Крім підвищення надійності, з використанням RAID 1 зростає продуктивність, оскільки на дисках містяться ідентичні дані і операції читання / запису можуть бути розділені між ними.
На жаль, цей метод має високу вартість, так як зменшує дисковий обсяг вдвічі. Гарна новина полягає в тому, що нам вистачить і половини терабайта, а LVM досить гнучкий для того, що б додати диски при необхідності в майбутньому.
RAID 5, з чотирма дисками, зовсім інший коленкор. Він дозволяє відновлювати частину дискового простору, але додає складності у використанні. Крім того, показуючи непогану продуктивність на операціях читання, цей тип сильно програє на операціях запису. Оскільки диски зараз досить дешеві, не варто мучиться заради вигод, які дають RAID 5.
Хоча мало б сенс відразу почати з установки системи з використанням RAID, ми чекали, щоб ми могли продемонструвати, як мігрувати з звичайних дисків на RAID без отмонтірованія файлових систем.
Зараз ми об'єднаємо чотири диски в дві пари RAID 1: / dev / sda + / dev / sdd and / dev / sdb + / dev / sdc. Причина для такого специфічного об'єднання полягає в тому, що sda і sdd є першим і другим дисками на різних контролерах; тому, в разі відмови контролера, ви зможете звертатися до двох дисків на останньому контролері. При використанні таких пар відносні швидкості доступу балансувати так, що жоден тип RAID НЕ повільніше, ніж інший. Можливо так само підвищення продуктивності від розподілу операцій читання / запису між двома контролерами.
Спочатку, виведіть два диска SATA (sdb і sdd) з datavg VG:Доступ до файлів по мережі
Користь файлового сервера сумнівна, якщо ви не можете легко отримати доступ до файлів. Є багато способів зробити це, але найбільш поширеним є Мережева Файлова система (NFS). NFS дозволяє іншим * nix машинам монтувати загальні ресурси для прямого використання, до того ж, вона дуже легко конфігурується в Linux.
Спершу переконайтеся, що на вашому файловому сервері в ядрі дозволений NFS (в даному прикладі 2.6.15):Стратегія створення резервних файлів
При використанні LVM можуть виникнути проблеми резервного копіювання даних. Використання RAID захищає від дискових відмов, але ця технологія беззахисна від пожежі, крадіжки або випадкового видалення файлів.
Традиційно, для накопичувачів подібного класу використовується магнітна стрічка. Ця технологія все ще життєздатна і має деякі переваги, але може бути дорога і повільна для системи такого розміру. На щастя, є більш сучасні технології.
rsync - потужна утиліта для того, щоб копіювати файли з однієї системи на іншу і вона досить добре працює через Інтернет. Ви можете встановити дублюючу систему в фірмі одного в іншому місті і періодично послати резервні копії туди. Це можна зробити за допомогою cronjob:Розширення і перерозподіл
Припустимо, що на наступний рік вам знадобляться додаткові обсяги дискової пам'яті. Спочатку можна використовувати зарезервоване простір, наприклад для того, щоб розширити простір для загальних файлів з 10GB до 15GB, виконайте наступну команду:LVM і робоча станція
Поки ми говорили про використання LVM і RAID для управління дисковим простором файлового сервера, але що якщо ви хочете встановити LVM на своїй робочій машині? Це можна зробити, але варто взяти до уваги кілька аспектів.
По-перше, деякі дистрибутиви Linux на етапі установки або оновлення не підтримують RAID або LVM, що може доставити незручності. Варто звернути на це увагу.
По-друге, наявність кореневої файлової системи на LVM може ускладнити відновлення пошкоджених файлових систем. Оскільки завантажувачі не підтримують LVM, розділ / boot повинен бути не LVM (хоча може бути на пристрої RAID 1).
По-третє, вам необхідно вільний дисковий простір для нового розділу LVM. Якщо такого у вас немає, то спробуйте обрізати кореневий розділ, як описано в LVM HOWTO.
У цьому прикладі ми розглянемо ситуацію, коли у вас є swap і / boot на власних розділах, поза LVM. Ми загострити увагу на тому, як перенести кореневий розділ всередину LVM розділу / dev / hda4. Перевірте, що тип файлової системи на hda4 - LVM (тип 8e).
Ініціалізуйте LVM і створіть новий фізичний том:Сама хитра частина полягає в перезібравши initrd для включення підтримки LVM. Цей процес дуже сильно залежить від дистрибутива, наприклад mkinitrd або yaird. Ваш образ initrd повинен завантажити модуль LVM, в іншому випадку коренева файлова система буде недоступна. Про всяк випадок, збережіть образ initrd і новий зробіть з іншим ім'ям, наприклад /boot/initrd-lvm.img.
На закінчення, поновіть bootloader. Додайте новий розділ для нової кореневої файлової системи, продублировав стару рядок завантаження. У новому рядку змініть root с / dev / hda3 на / dev / rootvg / rootlv і замініть initrd на новий. Якщо ви використовуєте lilo, переконайтеся, що запустили lilo, як тільки зробили зміни. Наприклад, з grub ми будемо мати:висновок
LVM є однією з багатьох технологій Linux, доступною користувачам. LVM дозволяє досягти більшої гнучкості в управлінні дисковим простором і об'єднана з RAID 1, NFS і хорошою стратегією бекапа пожет дати куленепробивний, легко керований спосіб зберігати і спільно використовувати будь-яку кількість файлів.
Bryce Harrington і Kees Cook. Переклад: Сгибнев Михайло (www.dreamcatcher.ru) - Управління дисковим простором за допомогою LVM Версія для друку