Налаштування програмного RAID в процесі установки ОС
Ми не будемо детально розглядати процес установки, цей процес детально описаний нами тут. зупинимося безпосередньо на розмітці дисків. Так як програмний RAID створюється на основі розділів, то диски необхідно попередньо розмітити вручну, вибравши відповідний пункт інсталятора.
Потім виберемо жорсткий диск: І розмітимо його необхідним чином: При цьому точки монтування та тип файлової системи не мають значення, головне - створити розділи необхідного розміру. Після чого дані дії слід повторити для решти дисків. Врахуйте, що для успішної збірки програмного RAID розміри розділів повинні збігатися посекторного. Так як Linux відмінно вміє працювати з файлом підкачки відповідний розділ можна не створювати, що кілька спростить розмітку. Якщо немає яких-небудь особливих вимог по розмітці ми вважаємо за краще використовувати один розділ на весь розмір диска.Потім переходимо до Налаштування програмного RAID - Створити MD пристрій і вибираємо необхідний тип масиву, в нашому випадку RAID1 (дзеркало).
Наступними кроками вказуємо кількість активних (для дзеркала - 2) і резервних (якщо необхідно) розділів, після чого вибираємо їх. На цьому дії по створенню MD-пристрої слід закінчити. Створені раніше розділи тепер визначаються як RAID і з'явився новий, ще не настроєних розділ програмного RAID пристрої. Ось його і слід налаштувати для використання. Вказуємо точку монтування та тип файлової системи, так як в нашому випадку розділ один, то точкою монтування стає корінь. Після чого продовжуємо установку ОС звичним чином. В кінці нас чекає ще одна особливість: на відміну від Ubuntu, яка автоматично ставила завантажувач на всі диски, Debian пропонує вибрати якийсь один диск. Цілком логічно буде вибрати перший - sda, хоча принципової різниці немає, максимум - доведеться змінити в BIOS порядок завантаження. На цьому установка буде закінчена, і ви повинні успішно завантажитися в систему.Установка завантажувача на решту диски
Не відкладаючи справу в довгий ящик встановимо завантажувач на решту диски, щоб в разі відмови одного з них система змогла почати завантаження з іншого диска і зібрати RAID-масив, для цього з правами суперкористувача виконаємо команду:
Запуститься псевдографічний інтерфейс утиліти, приймаємо значення за замовчуванням поки не з'явиться екран з вибором дискових пристроїв. Вказуємо всі диски, що входять в масив, на MD-пристрій встановлювати завантажувач не треба.
Налаштування файлу підкачки
За замовчуванням Linux використовує для підкачування спеціальний розділ, але може прекрасно використовувати для цих цілей файл, що не дивно, якщо згадати, що в Linux системах все є файл.
Створимо в корені порожній файл з ім'ям swap розміром в 2 Гб:
Відформатуємо його як файл підкачки:
і додамо рядок для автомонтірованіе в / etc / fstab
Перезавантажуємося і переконуємося, що swap працює:
Якщо все зроблено правильно ви повинні побачити приблизно наступне:
Усуваємо помилку "Alert! Dev / disk / by-uuid. Does not exist" при завантаженні з пошкодженого масиву
Перед тим, як проводити подальшу настройку і експлуатацію системи на програмному RAID перевіримо його на відмовостійкість, для цього вимкнемо систему і фізично відключимо один з дисків. Система повинна видати повідомлення про пошкодженому масиві і виконати завантаження з справного диска. Але ми несподівано отримали повідомлення про помилку: "Alert! Dev / disk / by-uuid. Does not exist"
При поверненні диска система автоматично збирала масив і нормально завантажувалася. По суті це перечеркивало все, заради чого збирають відмовостійкі масиви, а саме продовження роботи системи при виході з ладу одного диска. Ми вивчили досить багато різних рекомендацій в мережі, різного ступеня марності, а то й відверто шкідливих, поки не знайшли досить чіткого пояснення і робочого рішення.
Важливо! Дана помилка виправлена в Debian 8.3
Для виправлення помилки необхідно внести зміни в скрипт ініціалізації і оновити початковий образ. Так як вносяться зміни досить об'ємні і зачіпають критично важливі області системи ми пропонуємо скористатися вже пропатченний скриптом з нашого сайту.
Перейдемо в домашню директорію і скачати архів зі скриптом:
Винесемо його вміст:
Збережемо про всяк випадок оригінальний файл, перемістивши його в домашню директорію і додавши розширення bak.
Тепер скопіюємо на його місце виправлений файл:
Оновимо образ початкового завантаження:
Перезавантажуємо систему і переконуємося, що все працює, потім вимикаємо, прибираємо один диск і повторюємо спробу завантаження. На цей раз вона повинна виявитися успішною.
Перевіримо стан масиву:
Як бачимо в строю залишився тільки один диск - sdb. але система, як і належить, працює. Повернемо диск на місце і знову перевіримо стан масиву.
Незважаючи на те, що другий диск справний і доступний системі автоматичного складання масиву не відбувається і це правильно. Збірка і ресинхронізація пошкодженого масиву - потенційно небезпечна операція і повинна завжди проводитися в ручному режимі під контролем адміністратора.Додамо відключений раніше диск до масиву, зверніть увагу, що підключається не сам диск, а розділ:
І знову перевіримо статус, диск повинен додатися і почнеться ресинхронізація:
Таким чином, шляхом досить нескладних маніпуляцій нам вдалося усунути помилку і добитися нормальної роботи програмного RAID в середовищі Debian 8. Даний приклад добре ілюструє одне з достоїнств відкритого ПЗ: при наявності достатньої кваліфікації або допомоги спільноти користувач може сам вносити досить серйозні виправлення в систему, не чекаючи поки це зробить виробник.