Linux по-російськи

У цій статті описується настройка RAID1-масиву на вже встановленому і запущеному Debian Etch з конфігурацією завантажувача GRUB для коректного завантаження системи навіть в тому випадку, якщо один з вінчестерів пошкоджений.

Я не даю жодних гарантій того, що це буде працювати на вашій системі.

Всі дії описані для Debian Etch, з двома жорсткими дисками однакового розміру: / dev / sda і / dev / sdb. / Dev / sdb поки не використовується, / dev / sda розмічений таким чином:
  • / Dev / sda1 - / boot. файлова система ext3
  • / Dev / sda2 - swap
  • / Dev / sda3 - /, файлова система ext3
У підсумку ми хочемо отримати наступну конфігурацію:
  • / Dev / md0 (складений з / dev / sda1 і / dev / sdb1) - / boot. ext3
  • / Dev / md1 (складений з / dev / sda2 і / dev / sdb2) - swap
  • / Dev / md2 (складений з / dev / sda3 і / dev / sdb3) - /. ext3
Поточна ситуація виглядає наступним чином:

установка mdadm

mdadm - це утиліта для побудови програмних RAID-масивів. Встановіть її командою Вам буде поставлене таке запитання: (далі в тексті відповіді на питання утиліт будуть виділятися червоним кольором)

Потім довантажити необхідні модулі ядра (щоб уникнути перезавантаження): І виконайте команду Висновок повинен бути приблизно таким:

Підготовка / dev / sdb

Для створення RAID1 нам необхідно підготувати другий жорсткий диск (/ dev / sdb), скопіювати на нього всі дані з / dev / sda і додати його в масив.

Спочатку скопіюємо таблицю розділів

Перевіримо, що обидва диска мають однакову таблицю:

Тепер змінимо тип розділів на другому жорсткому диску на Linux raid autodetect

Щоб бути впевненим, що на / dev / sdb не залишилося ніяких слідів від можливих попередніх установок RAID-масивів, виконайте наступні команди: Якщо ніяких залишків попередніх установок RAID не виявиться, то кожна з наведених вище команд mdadm видасть помилку (не треба турбуватися) приблизно наступного виду: В іншому випадку ніякого висновку не буде.

Створення RAID-масиву

Прийшов час для створення самих масивів: / dev / md0. / Dev / md1. і / dev / md2. / Dev / sdb1 буде додано до / dev / md0. / Dev / sdb2 в / dev / md1 і / dev / sdb3 в / dev / md2. Розділи на першому диску ми поки не чіпаємо, так як з нього завантажена система. Ми будемо використовувати покажчик missing при створенні масиву: Перевірка стану нашого масиву повинна показати, що у нас є три пошкоджених RAID-масиву ([_U] або [U_] означає, що масив пошкоджений, а [UU] означає, що все в порядку) :

Тепер створимо файлові системи на масивах і відредагуємо конфігураційний файл /etc/mdadm/mdadm.conf Він повинен виглядати приблизно так (в останніх рядках розташована інформація про наших масивах):

Підготовка і перенесення даних

Змонтуємо масиви (swap монтувати, природно, не треба): і відредагуємо файли / etc / fstab і / etc / mtab. Замінимо / dev / sda1 на / dev / md0. / Dev / sda2 на / dev / md1 і / dev / sda3 на / dev / md2. щоб ці файли взяли такий вигляд:

Прийшов час для настройки GRUB. Відкрийте файл /boot/grub/menu.lst і додайте опцію fallback відразу після default Це означає, що якщо перше ядро ​​(нумерація починається з нуля) не зможе завантажитися, то буде завантажено наступне в списку.
В кінці цього файлу розташовані блоки, що описують параметри ядер для завантаження. Скопіюйте перший блок, замініть в копії root = / dev / sda3 на root = / dev / md2 і root (hd0,0) на root (hd1,0), після чого поставте отриманий блок першим в списку. Після редагування файл повинен виглядати приблизно так:

root (hd1,0) посилається на диск / dev / sdb. який вже входить в RAID-масив. Незабаром ми будемо перезавантажувати систему, при цьому система спробує завантажитися з нашого (все ще пошкодженого) масиву / dev / md2. У разі невдачі завантаження продовжиться з наступного за списком розділу / dev / sda (-> fallback 1).

Тепер оновимо RAM-диск І скопіюємо дані на / dev / sdb

Налаштування GRUB

Тепер необхідно встановити завантажувач на другий вінчестер. Всі наступні команди (виділені червоним) виконуються в оболонці GRUB (вона запускається командою grub): Після цих дій повертаємося в оболонку, виконуємо перезавантаження і сподіваємося, що наша система завантажиться з RAID-масиву :)

Підготовка / dev / sda

Якщо все пройшло нормально, то ви повинні побачити / dev / md0 і / dev / md2 у висновку команди df -h Висновок cat / proc / mdstat повинен бути приблизно таким: Тепер змінимо тип розділів на / dev / sda на Linux raid autodetect

Додамо / dev / sda1. / Dev / sda2 і / dev / sda3 в RAID-масив І перевіримо стан масиву. Ви повинні побачити, що йде процес синхронізації
(Ви можете запустити watch cat / proc / mdstat для спостереження за ходом процесу. Вихід з watch здійснюється натисканням CTRL + C.)

Дочекайтеся закінчення процесу синхронізації, після чого стан масиву має виглядати приблизно так: Потім відредагуємо /etc/mdadm/mdadm.conf. щоб він соотвествовать нової ситуації. Тепер він виглядає так:

Налаштування GRUB (Частина 2)

Все працює, ми тільки що налаштували програмний RAID-масив першого рівня на працюючій системі Debian Etch!

тестування

Давайте спробуємо семуліровать збій жорсткого диска. Абсолютно неважливо, як ой з дисків ви оберете для експерименту. Я вибрав / dev / sdb
Для емуляції збою необхідно або зупинити систему і фізично видалити другий вінчестер (/ dev / sdb) з комп'ютера, або семуліровать це на програмному рівні: Вимкніть комп'ютер. Якщо ви фізично видаляли вінчестер, то помістіть на його місце новий. Завантаження повинна пройти без проблем.
Подивимося статус нашого масиву: Видно, що масив знову пошкоджений.
Стан розділів має бути приблизно таким:

Тепер скопіюємо таблицю розділів с / dev / sda на / dev / sdb (В разі помилок спробуйте опцію --force)

Схожі статті