(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Установка Slackware Linux на hardware RAID (fakeraid, BIOS RAID)

Источник: slackware-raid

Предупреждение

Данная статья рассчитана на знакомого с системой Linux пользователя и опускает подробности выполнения некоторых стандартных операций. Автор не несёт ответственности за любой ущерб, вызванный ошибками пользователя и/или данной статьи, а также не гарантирует успешной работоспособности во всех вариантах.

Краткое описание

В этой статье описывается процесс установки Slackware linux на hardware RAID, также известном как fakeraid. К сожалению, Slackware не поддерживает установку на данные RAID-массивы "из коробки", но, я надеюсь, эта статья поможет быстро и корректно исправить это. 

Вкратце, для установки требуется получить доступ к RAID, разбить диск, установить slackware, и подключить образ initrd для доступа к RAID при старте системы. Для доступа к RAID используется утилита dmraid (версии 1.0.0.rc14). Теоретически, данный метод можно использовать на любом железе, поддерживаемом dmraid. 
При создании статьи использовались RAID контроллер nvidia (на nforce 590) и два SATA жёстких диска Hitachi в конфигурации RAID-0 (striping).

Требования к установке

Для установки потребуются:

  • RAID массив, корректно настроенный в BIOS.
  • установочный CD/DVD диск Slackware версии 12.0 либо 12.1. Другие версии, в том числе и более поздние, могут как работать, так и не работать с данной процедурой.
  • загрузчик GRUB на внешнем носителе (flash, floppy, cd). Убедитесь в его работоспособности и в том, что он "видит" RAID.
  • образ initrd на внешнем носителе, загруженный с этого сайта.

Установка 

1. Загрузитесь с Slackware CD/DVD

2. Подключите внешний носитель, содержащий образ initrd. К примеру, образ сохранен на flash диске sdc1:

    • /dev/makedevs.sh
    • mkdir /flash
    • mount -t fvat /dev/sdc1 /flash

    3. Скопируйте образ на диск и подключите его:

    • mkdir /tmpfs
    • cp /flash/initrd.gz /tmpfs
    • umount /flash
    • cd /tmpfs
    • gzip -d initrd.gz
    • mkdir loop
    • mount -o loop initrd loop

    4. Проверьте, что ваш RAID контроллер поддерживается. Для этого выполните:

    • ./loop/bin/dmraid -s

        Если dmraid не определил ваш массив, то данная статья ничем вам не поможет.
        Запомните или запишите имя найденного RAID-массива. Далее в примерах вам потребуется изменить мое устройство nvidia_eeajfich на ваше, возвращённое dmraid -s.

    5. Подключите RAID-массив. В /dev/mapper/ должны появиться файлы блочных устройств для целого массива и каждого раздела:

    • ./loop/bin/dmraid -ay
    • ls -l /dev/mapper/

    6. Теперь Slackware имеет доступ к диску и можно начать процедуру установки. Разбейте диск требуемым образом:

    • fdisk /dev/mapper/nvidia_eeajfich

        Чтобы быть в полной безопасности, перезагрузитесь после изменения структуры диска и повторите шаги 2-5.

    7. Далее нужно исправить баг fdisk, который усекает имена блочных устройств и препятствует корректной установке. Для этого нужно подправить скрипт /sbin/probe, используемый инсталлятором:

    • cp /sbin/probe /sbin/probe.bak
    • vi /sbin/probe

        Измените строку fdisk -l >> $TMP/SeTfdisk в конце файла на fdisk -l /dev/mapper/nvidia_eeajfich >> $TMP/SeTfdisk, указав имя своего RAID-массива. Если вы хотите, чтобы инсталлятор получил доступ к другим жестким  дискам/RAID-массивам, подключенным к системе, добавьте аналогичные команды fdisk друг за другом с именами устройств (например, fdisk -l /dev/hda >> $TMP/SeTfdisk).

    8. Можно приступить к установке. Выполните дополнительные подготовительные процедуры, если требуется.

    • setup

        В процессе установки рекоммендуется не устанавливать LILO совсем, а использовать позднее GRUB.
        По окончании установки, НЕ перезагружайтесь!

    9. Скопируйте образ initrd на RAID-массив (в данный момент корень новой системы смонтирован в /mnt):

    • umount /tmpfs/loop
    • gzip -9 /tmpfs/initrd
    • cp /tmpfs/initrd.gz /mnt/boot

    10. Перезагрузитесь.

    Загрузка

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

    2. Перейдите в командный режим ('c').

    3. Укажите ядро для загрузки и обязательные параметры root, init

    • root (hd0,0)
    • kernel /vmlinuz root=/dev/ram0 init=/sbin/init nvidia_eeajfich5

        Замените (hd0,0) на раздел, где находится ядро и initrd.
        Здесь nvidia_eeajfich5 - параметр init, имя устройства, где находится корневая (root) файловая система. Измените её на значение, выбранное при установке в качестве root fs.

    4. Подключите образ initrd:

    • initrd /initrd.gz

    5. Счастливого старта!

    • boot

    Примечания

    1. Образ initrd создан на основе пакетов из дистрибутива Slackware Linux 12.0 + dmraid и является образом блочного устройства с файловой системой ext2.

    2. Скрипт /sbin/init:

    #!/bin/ash
    # VERSION 0.3 13.07.2008

    # partition device name is required as a parameter. (this is dev name detected by dmraid)
    if [ $# -lt 1 ]; then
        echo "INITRD: Please specify kernel option init=/sbin/init \$ROOT_DEV "
        exit;
    fi

    # remount initrd image read-write to be safe
    mount -n -t ext2 -o remount,rw /dev/ram0 /

    # default slackware kernel have support for this fs
    mount /proc
    mount /sys

    # Connect to the system all detected raid arrays
    dmraid -ay

    # Mount real root as /new-root
    mount /dev/mapper/"$1" /new-root
    cd /new-root
    mkdir -p initrd

    # create symlinks in real root fs
    # this is only required then udev is not used
    for i in `find /dev/mapper/* -type b`; {
        if [ `basename $i` != control ]; then
        ln -s -f /initrd/dev/mapper/`basename $i` /new-root/dev/mapper/`basename $i`;
        fi
        }

    # clean for real init
    mount -o remount,ro /new-root
    umount /sys
    umount /proc

    # start real init
    pivot_root . initrd
    exec chroot . /sbin/init <dev/console >dev/console 2>&1 

    3. Для корректной работы с udev (которая используется по-умолчанию) требуется наличие установленного пакета a/device-mapper. Убедитесь, что он устанавливается при выборе пакетов.

    4. Записать GRUB на внешний носитель можно самостоятельно, либо найти готовые решения, например здесь.

    Ссылки

    Образ initrd, требуемый для установки: версия 0.3    13-07-2008    initrd.gz    1.2 MB MD5: a609d25f4c5a642b3752036b7d5f3429



     Распечатать »
     Правила публикации »
      Написать редактору 
     Рекомендовать » Дата публикации: 15.07.2008 
     

    Магазин программного обеспечения   WWW.ITSHOP.RU
    СУБД Линтер Бастион. Серверная лицензия. 5 клиентских подключений
    NERO 2016 Classic ESD. Электронный ключ
    SmartBear AQtime Pro - Node-Locked License (Includes 1 Year Maintenance)
    Stimulsoft Reports Server Team 10 users
    Stimulsoft Reports.Ultimate Single License Includes one year subscription, source code
     
    Другие предложения...
     
    Курсы обучения   WWW.ITSHOP.RU
     
    Другие предложения...
     
    Магазин сертификационных экзаменов   WWW.ITSHOP.RU
     
    Другие предложения...
     
    3D Принтеры | 3D Печать   WWW.ITSHOP.RU
     
    Другие предложения...
     
    Новости по теме
     
    Рассылки Subscribe.ru
    Информационные технологии: CASE, RAD, ERP, OLAP
    OS Linux для начинающих. Новости + статьи + обзоры + ссылки
    Реестр Windows. Секреты работы на компьютере
    Один день системного администратора
    Delphi - проблемы и решения
    Мастерская программиста
    Новости мира 3D-ускорителей
     
    Статьи по теме
     
    Новинки каталога Download
     
    Исходники
     
    Документация
     
     



        
    rambler's top100 Rambler's Top100