Сегодня 24 апреля, среда ГлавнаяНовостиО проектеЛичный кабинетПомощьКонтакты Сделать стартовойКарта сайтаНаписать администрации
Поиск по сайту
 
Ваше мнение
Какой рейтинг вас больше интересует?
 
 
 
 
 
Проголосовало: 7272
Кнопка
BlogRider.ru - Каталог блогов Рунета
получить код
use Catalyst;
use Catalyst;
Голосов: 1
Адрес блога: http://xeim.blogspot.com/
Добавлен: 2008-02-19 12:50:23 блограйдером Lurk
 

Установка Slackware на программный raid-1 массив

2010-03-17 06:36:00 (читать в оригинале)

 

Описание задачи

Условия: имеется два одинаковых по размеру, пустых диска /dev/sda и /dev/sdb соответственно.

На основе /dev/sda1 и /dev/sdb1 создать raid-массив первого уровня /dev/md0. Затем установить на /dev/md0 операционную систему Slackware и настроить ее загрузку.

Дополнительные условия:

  • Используем стандартное ядро для slackware версии 2.6.xx, т.о. минимальная версия операционной для которой подходит это описание — Slackware 12.
  • Все примеры приведены для последней на текущий момент версии — Slackware 13, используется ядро 2.6.29.6 и файловая система по умолчанию ext4.
  • Здесь не ставится цель дать полное описание процесса установки Slackware. Внимание обращается лишь на этапы связанные с программным raid-массивом.

 

Решение задачи

Шаг 1. Загрузка с внешнего носителя.

Загружаемся с установочного диска slackware.

Шаг 2. Создание таблицы разделов.

Сначала, с помощью команды:

cfdisk /dev/sda

создаем следующие разделы на первом пустом диске:

  • /dev/sda1 — Раздел под raid-массив. Отводим под него большую часть диска. Установить признак «загрузочный». Задать тип раздела «Linux raid autodetect» (код fd).
  • /dev/sda2 — Раздел под подкачку. Отводим под него половину от необходимого размера подкачки. Задать тип раздела «Linux swap» (код 82).

Обращаю внимание, что нельзя полностью заполнять разделами все доступное пространство диска. Т.к., при замене любого из дисков в будущем, несмотря на указанный одинаковый размер дисков, фактический их размер у разных производителей может не совпадать.

Пример того, что получилось:

# fdisk -l /dev/sda
   Device  Boot  Start   End   Blocks   Id  System
/dev/sda1    *       1   991  7960176   fd  Linux raid autodetect
/dev/sda2          992  1044   425722+  82  Linux swap

Затем копируем таблицу разделов с первого диска на второй:

sfdisk -d /dev/sda | sfdisk /dev/sdb

Убеждаемся, что таблицы разделов на дисках /dev/sda и /dev/sdb идентичны:

# fdisk -l /dev/sda /dev/sdb
   Device  Boot  Start   End   Blocks   Id  System
/dev/sda1    *       1   991  7960176   fd  Linux raid autodetect
/dev/sda2          992  1044   425722+  82  Linux swap

   Device  Boot  Start   End   Blocks   Id  System
/dev/sdb1    *       1   991  7960176   fd  Linux raid autodetect
/dev/sdb2          992  1044   425722+  82  Linux swap

Шаг 3. Создание raid-массива.

Сначала, на всякий случай, очищаем из разделов возможные следы предыдущих raid-массивов:

mdadm --zero-superblock /dev/sda1
mdadm --zero-superblock /dev/sdb1

Теперь, собственно, создаем raid-массив:

mdadm --create /dev/md0 --level=1 --raid-disks=2 /dev/sda1 /dev/sdb1

Здесь запустится процесс синхронизации двух дисков, входящих в массив, который можно отслеживать с помощью команды:

# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath] 
md0 : active raid1 sdb1[1] sda1[0]
      7960064 blocks [2/2] [UU]
      [=>...................]  resync =  8.0% (639040/7960064) finish=7.8min speed=15490K/sec
      
unused devices: <none>

Этот процесс никак не ограничивает работу с уже созданным массивом. Т.е. блочное устройство /dev/md0 уже доступно и с ним можно работать. Можно даже перезагружать компьютер. Но в полноценную работу raid-массив встанет самостоятельно, когда синхронизация будет завершена.

Шаг 4. Установка операционной системы.

Запускаем утилиту установки slackware:

setup

На этапе добавления swap-разделов выделяем разделы /dev/sda2 и /dev/sdb2.

В качестве корнего диска выбираем /dev/md0. Далее соглашаемся его форматировать в предлагаемую по-умолчанию файловую систему ext4.

Далее процесс установки системы протекает абсолютно обычным образом. После завершения установки загружаемся в установленную систему.

Шаг 5. Настройка установленной системы.

Редактируем в файле /etc/fstab строчки монтирования раздела подкачки. Добавляем опцию pri=1 для параллельного использования разделов подкачки:

/dev/md0   /     ext4      defaults        1 1
/dev/sda2  swap  swap      pri=1,defaults  0 0
/dev/sdb2  swap  swap      pri=1,defaults  0 0

Редактируем /etc/lilo.conf, добавляем строчку для установки загрузчика lilo на оба диска /dev/sda и /dev/sdb, а не только на первый диск:

raid-extra-boot=mbr

Это необходимо, чтобы чтобы система смогла загрузиться со второго диска, в случае выхода из строя первого диска. Далее запускаем установку загрузчика lilo:

# lilo
Warning: LBA32 addressing assumed
Added Linux *
The boot record of  /dev/md0  has been updated.
The Master boot record of  /dev/sda  has been updated.
Warning: /dev/sdb is not on the first disk
The Master boot record of  /dev/sdb  has been updated.
2 warnings were issued.

Шаг 6. Переключение на generic ядро.

Создаем файл /etc/mkinitrd.conf, содержащий строки:

CLEAR_TREE="1"
OUTPUT_IMAGE="/boot/initrd-generic-2.6.29.6-smp-raid.gz"
KERNEL_VERSION="2.6.29.6-smp"
MODULE_LIST="ext4"
ROOTDEV="/dev/md0"
RAID="1"

Генерируем initrd-файл:

# mkinitrd -F
OK: /lib/modules/2.6.29.6-smp/kernel/lib/crc16.ko added.
OK: /lib/modules/2.6.29.6-smp/kernel/fs/jbd2/jbd2.ko added.
OK: /lib/modules/2.6.29.6-smp/kernel/fs/mbcache.ko added.
OK: /lib/modules/2.6.29.6-smp/kernel/fs/ext4/ext4.ko added.
5250 blocks

В /etc/lilo.conf добавляем строки:

image = /boot/vmlinuz-generic-smp-2.6.29.6-smp
  initrd = /boot/initrd-generic-2.6.29.6-smp-raid.gz
  root   = /dev/md0
  label  = gen-raid
  read-only

Запускаем установку загрузчика lilo на оба диска в raid-массиве:

lilo

Шаг 7. Проверка.

Перезагружаем компьютер и убеждаемся что загрузка операционной системы происходит нормально с любого диска из raid-массива.


Тэги: raid, slackware

 


Самый-самый блог
Блогер ЖЖ все стерпит
ЖЖ все стерпит
по количеству голосов (152) в категории «Истории»
Изменения рейтинга
Категория «Священники»
Взлеты Топ 5
Падения Топ 5


Загрузка...Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.