Возможно вы искали: 'Ascension to the Throne'

May 15 2025 18:20:46
  • Как сделать 8Gamers.Ru домашней страницей?
  • Игры
    • База данных по играх
    • Игровые новости
    • Игровая индустрия
    • Обзоры на игры
    • Прохождения игр
    • Гайды к играм
    • Превью о играх
    • Игровые тизеры
    • Игровые арты
    • Игровые обои
    • Игровые скриншоты
    • Игровые обложки
    • Игровые трейлеры
    • Игровое видео
    • Вышедшие игры
    • Ближайшие релизы игр
  • Кино и ТВ
    • База данных по кино
    • Статьи о кино
    • Постеры
    • Кадры из кино
    • Кино трейлеры
    • Сегодня в кино
    • Скоро в кино
  • Комиксы и манга
    • Манга по алфавиту
    • База данных по комиксах
    • Читать онлайн комиксы
    • Читать онлайн манга
    • База персонажей
  • Читы и коды
    • Чит-коды для PC игр
    • Чит-коды для консольных игр
    • Трейнеры
    • Коды Game Genie
  • Моддинг
    • Модификации
    • Карты к играм
    • Программы для моддинга
    • Статьи о моддинге
  • Геймдев
    • Всё о создании игр
    • Список движков
    • Утилиты в помощь игроделу
    • Конструкторы игр
    • Игровые движки
    • Библиотеки разработки
    • 3D-модели
    • Спрайты и тайлы
    • Музыка и звуки
    • Текстуры и фоны
  • Рецензии
    • Игры
    • Кино
    • Аниме
    • Комиксы
    • Мангу
    • Саундтреки
  • Саундтреки
    • Лирика
  • Файлы
    • Патчи к играм
    • Русификаторы к играм
    • Сохранения к играм
    • Субтитры к кино
  • Медиа
    • Видео
    • Фото
    • Аудио
    • Фан-арты
    • Косплей
    • Фото с виставок
    • Девушки из игр
    • Рисунки
    • Рисуем онлайн
    • Фотохостинг
  • Юмор
    • Анекдоты
    • Афоризмы
    • Истории
    • Стишки и эпиграммы
    • Тосты
    • Цитаты
  • Флеш
    • Азартные
    • Аркады
    • Бродилки
    • Гонки
    • Для девочек
    • Для мальчиков
    • Драки
    • Квесты
    • Леталки
    • Логические
    • Мультфильмы
    • Открытки
    • Приколы
    • Разное
    • Спорт
    • Стратегии
    • Стрелялки
Статистика

Статей: 87772
Просмотров: 96111483
Игры
Injustice:  Gods Among Us
Injustice: Gods Among Us
...
Dark Souls 2
Dark Souls 2
Dark Souls II - вторая часть самой хардкорной ролевой игры 2011-2012 года, с новым героем, сюжето...
Battlefield 4
Battlefield 4
Battlefield 4 - продолжение венценосного мультиплеер-ориентированного шутера от первого ли...
Кино
Steins;Gate
Steins;Gate
Любители японской анимации уже давно поняли ,что аниме сериалы могут дать порой гораздо больше пи...
Ку! Кин-дза-дза
Ку! Кин-дза-дза
Начинающий диджей Толик и всемирно известный виолончелист Владимир Чижов встречают на шумной моск...
Обзоры на игры
• Обзор Ibara [PCB/PS2] 18357
• Обзор The Walking ... 18801
• Обзор DMC: Devil M... 19879
• Обзор на игру Valk... 15877
• Обзор на игру Stars! 17764
• Обзор на Far Cry 3 17948
• Обзор на Resident ... 16024
• Обзор на Chivalry:... 17508
• Обзор на игру Kerb... 17981
• Обзор игры 007: Fr... 16619
Превью о играх
• Превью к игре Comp... 17960
• Превью о игре Mage... 14464
• Превью Incredible ... 14721
• Превью Firefall 13479
• Превью Dead Space 3 16334
• Превью о игре SimC... 14730
• Превью к игре Fuse 15442
• Превью Red Orche... 15542
• Превью Gothic 3 16343
• Превью Black & W... 17354
Главная » Статьи » Разное » Конвертация обычной установки Linux в Software-ROOT-RAID1 (raid disk fs linux)

Конвертация обычной установки Linux в Software-ROOT-RAID1 (raid disk fs linux)

Ключевые слова: raid, disk, fs, linux, (найти похожие документы)

From: bk_man
Newsgroups: http://www.linux-os.ru/
Date: Mon, 22 Aug 2004 18:21:07 +0000 (UTC)
Subject: Конвертация обычной установки Linux в Software-ROOT-RAID1

Оригинал: http://www.linux-os.ru/Members/bk_man/Articles/linux_installation_plain2raid1


В документе рассматривается пример конвертации Linux-системы,
установленной на один жесткий диск в Software-ROOT-RAID1

Предисловие
-----------

Важные данные всегда должны резервироваться - в противном случае это
неважные данные, т.к. они могут быть потеряны. К сожалению, в сервере
не всегда бывает доступен аппаратный RAID-контроллер или же он не
поддерживается текущим ядром. Вместе с тем, RAID не является заменой
резервированию данных, об этом тоже нужно помнить и своевременно
делать резервные копии на другой сервер.


Рассматриваемый случай
----------------------

Я рассматриваю здесь RAID1, но это может работать также для других
случаев (я этого не проверял). Я проделывал все нижеописанные
процедуры на сервере RX-300 производства Fujitsu-Siemens.
Диски были одинакового размера из стандартной поставки сервера, режим
HostRAID в SCSI-контроллере был отключен. Все операции производились
на дистрибутиве ALT Linux Compact версии 2.3, который был обновлен до
репозитария Sisyphus по состоянию на 20040517.


Необходимый инструментарий
--------------------------

Для выполнения поставленной задачи нам потребуется следующий софт:
* установленные пакеты raidtools и mkinitrd
* Ремонтный загрузочный компакт-диск (флешка, ...) с установленными
raidtools и способный определить ваше железо (Knoppix 3.4 не смог
определить и подключить контроллер Adaptec AIC-7902W и поэтому
оказался не у дел). Я использую SystemRescueCD (http://www.sysresccd.org)
на основе дистрибутива Gentoo Linux.


Алгоритм работы
---------------
Пусть на /dev/sda есть два раздела:

$ sudo fdisk /dev/sda
Command (m for help): p

Disk /dev/sda: 73.5 GB, 73508513792 bytes
255 heads, 63 sectors/track, 8936 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 63 506016 82 Linux swap
/dev/sda2 * 64 8936 71272372+ 83 Linux

Убеждаемся, что необходимые пакеты установлены:

$ rpm -q mkinitrd raidtools
mkinitrd-2.9.1-alt1
raidtools-0.90-ipl11mdk

Пусть swap-раздел у нас будет на /dev/md0, а корневая файловая система
на /dev/md1.

Загружаемся с ремонтного комплекта, монтируем в нём корневую файловую
систему:

# mkdir /mnt/disk
# mount -t ext3 /dev/sda2 /mnt/disk

Переходим в неё:

# chroot /mnt/disk

Создаём файл /etc/raidtab следующего содержания:

raiddev /dev/md0
raid-level 1
chunk-size 64k
persistent-superblock 1
nr-raid-disks 2
nr-spare-disks 0

device /dev/sda1
raid-disk 0

device /dev/sdb1
raid-disk 1
failed-disk 1

raiddev /dev/md1
raid-level 1
chunk-size 64k
persistent-superblock 1
nr-raid-disks 2
nr-spare-disks 0

device /dev/sda2
raid-disk 0

device /dev/sdb2
raid-disk 1
failed-disk 1

Изменяем в файле /etc/fstab устройства с /dev/sd? на /dev/md? :

/dev/md0 swap swap defaults 0 0
/dev/md1 / ext3 defaults 1 1

devpts /dev/pts devpts gid=5,mode=0620 0 0
proc /proc proc gid=19 0 0

/dev/cdrom /mnt/cdrom auto user,iocharset=koi8-r,noauto,ro,exec 0 0
/dev/floppy /mnt/floppy auto user,iocharset=koi8-r,quiet,sync,codepage=866,noauto,umask=0,exec 0 0

Изменяем тип разделов на устройстве /dev/sda на fd для того, чтобы
ядро при старте могло определить массив:

# fdisk /dev/sda
Command (m for help): p

Disk /dev/sda: 73.5 GB, 73508513792 bytes
255 heads, 63 sectors/track, 8936 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 63 506016 82 Linux raid autodetect
/dev/sda2 * 64 8936 71272372+ 83 Linux raid autodetect

Обновляем initrd.img для нашего ядра. Я делал это без ремонтного
набора, подсовывая на время работы команды mkinitrd файлы /etc/raidtab
и /etc/fstab с будущей конфигурацией RAID'а (потом их достаточно
переименовать, например в .old, чтобы эти файлы "не замечали"
initscripts и не делали ненужных вещей):

# mkinitrd -v /boot/initrd-raid1.img `uname -r`
mkinitrd: Generating module dependencies...
mkinitrd: ...done.
mkinitrd: Using modules:
/lib/modules/2.4.26-std-smp-alt1/kernel/drivers/scsi/scsi_mod.o
/lib/modules/2.4.26-std-smp-alt1/kernel/drivers/scsi/sd_mod.o
/lib/modules/2.4.26-std-smp-alt1/kernel/drivers/scsi/aic7xxx/aic79xx.o
/lib/modules/2.4.26-std-smp-alt1/kernel/drivers/md/raid1.o
/lib/modules/2.4.26-std-smp-alt1/kernel/fs/jbd/jbd.o
/lib/modules/2.4.26-std-smp-alt1/kernel/fs/ext3/ext3.o

Contents of linuxrc:
#!/bin/sh
/bin/insmod -f /lib/modules/2.4.26-std-smp-alt1/kernel/drivers/scsi/scsi_mod.o
/bin/insmod -f /lib/modules/2.4.26-std-smp-alt1/kernel/drivers/scsi/sd_mod.o
/bin/insmod -f
/lib/modules/2.4.26-std-smp-alt1/kernel/drivers/scsi/aic7xxx/aic79xx.o
/bin/insmod -f /lib/modules/2.4.26-std-smp-alt1/kernel/drivers/md/raid1.o
/bin/insmod -f /lib/modules/2.4.26-std-smp-alt1/kernel/fs/jbd/jbd.o
/bin/insmod -f /lib/modules/2.4.26-std-smp-alt1/kernel/fs/ext3/ext3.o
/bin/raidautorun /safedev/md255
mkinitrd: Inode count: 55
mkinitrd: Image size: 892K
mkinitrd: Created image from tree: /root/tmp/initrd.dmjMQg4478/tree --> /root/tmp/initrd.dmjMQg4478/img
mkinitrd: Created romfs image file
mkinitrd: Installed ramdisk into /boot/initrd-raid1.img
open /dev/fb0: No such device
Ramdisk size: 268K

Необходимо проверить, что последней строкой в скрипте linuxrc является
/bin/raidautorun /safedev/md255, которая запускает массив. Без неё у
вас будет возникать ошибка
Kernel panic : VFS : Unable to mount root fs on 09:01.

Далее необходимо исправить конфигурацию LILO в файле /etc/lilo.conf :

boot=/dev/md1
raid-extra-boot=mbr-only

И для всех используемых ядер изменить параметр изменить корневую
файловую систему и вписать сделанный на предыдущем шаге initrd :

image=/boot/vmlinuz-2.4.26-std-smp-alt1
label=2426-raid1
root=/dev/md1
read-only
optional
vga=normal
initrd=/boot/initrd-raid1.img

Далее следует сгенерировать и запустить наш массив (делать это нужно,
загрузившись с ремонтного набора):

# mkraid /dev/md0
# mkraid /dev/md1

Состояние массива можно наблюдать в файле /proc/mdstat. Там будет
отображаться информация о том, что массив работает в degraded mode.

Обновляем загрузчик:

# /sbin/lilo -v
Warning: using BIOS device code 0x80 for RAID boot blocks
Added 2426-raid1 *
The Master boot record of /dev/sda has been updated.

Перезагружаемся. Массив работает сейчас с одного диска, поэтому мы
должны подключить второй. Если диск не был подключен к серверу и
оборудование позволяет подключать SCSI-устройства "на лету", то
физически подключаем диск к серверу (при этом в syslog отображается
информация об этом: scsi0: Someone reset channel A). Для того, чтобы
устройство стало видно операционной системе, проделаем следующую
операцию:

# echo "scsi add-single-device 0 0 1 0" > /proc/scsi/scsi

где 1 - Id устройства на SCSI-шине. В документации к моему серверу
указано, что SCSI Id соотнесены со слотами для подключения жестких
дисков на постоянной основе и приведена схема какому гнезду какой
номер соответствует, поэтому советую вам обратиться к документации
сервера для уточнения данного вопроса.

После добавления устройства таким образом в syslog записывается
информация о имени устройства в операционной системе:

Apr 12 14:42:57 alm kernel: scsi singledevice 0 0 1 0
Apr 12 14:42:57 alm kernel: blk: queue d6521618, I/O limit 4095Mb (mask 0xffffffff)
Apr 12 14:42:57 alm kernel: Vendor: FUJITSU Model: MAP3735NC Rev: 5207
Apr 12 14:42:57 alm kernel: Type: Direct-Access ANSI SCSI revision: 03
Apr 12 14:42:57 alm kernel: blk: queue e128ce18, I/O limit 4095Mb (mask 0xffffffff)
Apr 12 14:42:57 alm kernel: scsi0:A:0:0: Tagged Queuing enabled. Depth 253
Apr 12 14:42:57 alm kernel: scsi0:A:1:0: Tagged Queuing enabled. Depth 253
Apr 12 14:42:57 alm kernel: Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0
Apr 12 14:43:06 alm kernel: (scsi0:A:1): 320.000MB/s transfers (160.000MHz DT|IU|QAS, 16bit)
Apr 12 14:43:06 alm kernel: SCSI device sdb: 143571316 512-byte hdwr sectors(73509 MB)
Apr 12 14:43:06 alm kernel: sdb: unknown partition table

Строка Attached scsi disk sdb at scsi0, channel 0, id 1, lun 0
сообщает нам о том, что подключенный диск будет виден как /dev/sdb, а
строка sdb: unknown partition table сообщает о том, что скорее всего
был добавлен ни разу не использованный диск. Самое время разбить его
также, как и /dev/sda :

# sfdisk -d /dev/sda > /tmp/sda.out
# sfdisk /dev/sdb < /tmp/sda.out

Диск переразбит, самое время подключить его к массиву:

# raidhotadd /dev/md0 /dev/sdb1
# raidhotadd /dev/md1 /dev/sdb2

Диск подключен и процесс восстановления массива должен автоматически
запуститься. Наблюдать за ним можно при помощи вот такой нехитрой
команды:

# watch -n 5 cat /proc/mdstat

Проверяем, что тип разделов на /dev/sdb установлен в fd :

# fdisk /dev/sdb
Command (m for help): p

Disk /dev/sdb: 73.5 GB, 73508513792 bytes
255 heads, 63 sectors/track, 8936 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 1 63 506016 fd Linux raid autodetect
/dev/sdb2 * 64 8936 71272372+ fd Linux raid autodetect

После окончания восстановления (а можно и во время) осталось обновить
загрузчик на добавленном диске:

# /sbin/lilo -v
Warning: using BIOS device code 0x80 for RAID boot blocks
Added 2426-raid1 *
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.

Напоследок осталось подправить файл /etc/raidtab - удалить из него
строки failed-disk 1. Не забывайте про данный файл. Он используется в
стартовых скриптах для запуска/останова устройств /dev/md?, поэтому
важно иметь содержимое этого файла в соответствии с вашей текущей
конфигурацией массива.

Готово!


Добавление и удаление дисков из работающего массива
---------------------------------------------------

Так случается, что диски иногда отказывают. :-(

Для начала необходимо отключить сбойный диск из массива (пусть это
будет /dev/sda для примера):

# raidsetfaulty /dev/md0 /dev/sda1
# raidsetfaulty /dev/md1 /dev/sda2

# raidhotremove /dev/md0 /dev/sda1
# raidhotremove /dev/md1 /dev/sda2

После этого необходимо отключить диск от операционной системы, для
чего необходимо выяснить его параметры на шине SCSI. Ядра ALT Linux
(начиная с 2.4.22) собираются со специальным патчем, который позволяет
это сделать:

$ cat /proc/scsi/scsi_sd
sda: scsi00(0,0,0)
sdb: scsi00(0,1,0)

Если у вас нет /proc/scsi/scsi_sd, то нужно обратиться к документации
сервера для выяснения какому слоту какой SCSI Id соответствует. Обычно
ядро нумерует устройства по порядку. Это значит, что если у вас есть
диски 0 0 0 0 и 0 0 3 0, то первый диск получит имя /dev/sda, а второй
- /dev/sdb - несмотря на то, что Id у него 3 а не 1.

Удаляем устройство:

# echo "scsi remove-single-device 0 0 0 0" > /proc/scsi/scsi

После этого диск можно смело вытаскивать физически из сервера. Если в
массиве были резервные (spare) диски, то после выдачи команд
raidsetfaulty и raidhotremove автоматически начнется восстановление на
один из них. Если резервных дисков не было, то массив продолжит
работать в degraded mode.

Создано: bk_man <http://www.linux-os.ru/Members/bk_man>
Последнее изменение: 2004-05-21 03:22
397 Прочтений •  [Конвертация обычной установки Linux в Software-ROOT-RAID1 (raid disk fs linux)] [08.05.2012] [Комментариев: 0]
Добавил: Ukraine Vova
Ссылки
HTML: 
[BB Url]: 
Похожие статьи
Название Добавил Добавлено
• Конвертация обычной установки Linux... Ukraine Vova 08.05.2012
Ни одного комментария? Будешь первым :).
Пожалуйста, авторизуйтесь для добавления комментария.

Проект входит в сеть сайтов «8Gamers Network»

Все права сохранены. 8Gamers.NET © 2011 - 2025

Статьи
Рецензия на Pressure
Рецензия на Pressure
Чтобы обратить на себя внимание, начинающие маленькие разработчики, как правило, уходят в жанры, ...
Рецензия на Lost Chronicles of Zerzura
Рецензия на Lost Chron...
Игры, сделанные без любви и старания, похожи на воздушный шар – оболочка есть, а внутри пусто. Lo...
Рецензия на The Bridge
Рецензия на The Bridge
«Верх» и «низ» в The Bridge — понятия относительные. Прогуливаясь под аркой, можно запросто перей...
Рецензия на SimCity
Рецензия на SimCity
Когда месяц назад состоялся релиз SimCity, по Сети прокатилось цунами народного гнева – глупые ош...
Рецензия на Strategy & Tactics: World War 2
Рецензия на Strategy &...
Название Strategy & Tactics: World War II вряд ли кому-то знакомо. Зато одного взгляда на ее скри...
Рецензия на игру Scribblenauts Unlimited
Рецензия на игру Scrib...
По сложившейся традиции в информационной карточке игры мы приводим в пример несколько похожих игр...
Рецензия на игру Walking Dead: Survival Instinct, The
Рецензия на игру Walki...
Зомби и продукция-по-лицензии — которые и сами по себе не лучшие представители игровой биосферы —...
Обратная связь | RSS | Донейт | Статистика | Команда | Техническая поддержка