Какой рейтинг вас больше интересует?
|
Перенос установленной Slackware на программный raid1-массив 22010-02-24 10:33:00 (читать в оригинале)
Описание задачиУсловия:
На основе /dev/sda и /dev/sdb создать raid-массив первого уровня /dev/md0. Затем перенести на /dev/md0 операционную систему и настроить ее загрузку. Т.к. один из дисков изначально занят данными, создание raid-массива будем проводить в три этапа:
Дополнительные условия:
Перед началом необходимо убедиться, что в рабочей slackware установлена утилита mdadm для управления программными raid-массивами. При ее отстутствии нужно установить пакет mdadm.
Решение задачиШаг 1. Загрузка с внешнего носителя. Загружаемся с SystemResсueCD или c Slax или чего-нибудь еще, чтобы получить полный доступ ко всем дискам и ни один из них не был бы текущим загрузочным. Шаг 2. Создание таблицы разделов на новом диске. Начальное состояние таблицы разделов на дисках: # fdisk -l /dev/sda /dev/sdb Device Boot Start End Blocks Id System /dev/sda1 * 1 973 7815591 83 Linux /dev/sda2 974 1044 570307+ 82 Linux swap / Solaris Disk /dev/sdb doesn't contain a valid partition table Сначала, с помощью команды: cfdisk /dev/sdb создаем следующие разделы на новом пустом диске:
Обращаю внимание, что нельзя полностью заполнять разделами все доступное пространство диска. Т.к., несмортя на указанный одинаковый размер дисков, фактический их размер у разных производителей может не совпадать. Пример того, что получилось: # fdisk -l /dev/sdb Device Boot Start End Blocks Id System /dev/sdb1 * 1 1009 8104761 fd Linux raid autodetect /dev/sdb2 1010 1044 281137+ 82 Linux swap / Solaris Шаг 3. Создание неполного raid-массива. Сначала, на всякий случай, очищаем возможные следы предыдущих raid-массивов: mdadm --zero-superblock /dev/sdb1 Теперь, создаем неполный raid-массив, с одним отсутствующим диском: # mdadm --create /dev/md0 --level=1 --raid-disks=2 missing /dev/sdb1 mdadm: array /dev/md0 started. Просмотреть состояние raid-массива можно с помощью команды: # cat /proc/mdstat Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdb1[1] 8104640 blocks [2/1] [_U] unused devices: <none> Шаг 4. Копирование операционной системы. Форматируем разделы: mkfs.reiserfs /dev/md0 mkswap /dev/sdb2 Монтируем raid-массив: mkdir /mnt/md0 mount /dev/md0 /mnt/md0 Монтируем раздел с рабочей системой: mkdir /mnt/sda1 mount /dev/sda1 /mnt/sda1 Копируем содержимое рабочей системы на raid-массив: cp -aT /mnt/sda1 /mnt/md0 Теперь всё полезное содержимое диска /dev/sda скопировано на raid-массив. Отмонтируем раздел с рабочей системой: umount /mnt/sda1 Шаг 5. Подготовка таблицы разделов на старом диске. Копируем таблицу разделов с диска /dev/sdb на /dev/sda: sfdisk -d /dev/sdb | sfdisk /dev/sda Убеждаемся, что таблицы разделов на дисках /dev/sda и /dev/sdb стали идентичны: # fdisk -l /dev/sda /dev/sdb Device Boot Start End Blocks Id System /dev/sda1 * 1 1009 8104761 fd Linux raid autodetect /dev/sda2 1010 1044 281137+ 82 Linux swap / Solaris Device Boot Start End Blocks Id System /dev/sdb1 * 1 1009 8104761 fd Linux raid autodetect /dev/sdb2 1010 1044 281137+ 82 Linux swap / Solaris Форматируем раздел подкачки: mkswap /dev/sda2 Шаг 6. Добавление диска в неполный raid-массив. Опять, очищаем возможные следы предыдущих raid-массивов: mdadm --zero-superblock /dev/sda1 Добавляем раздел /dev/sda1 в неполный raid-массив /dev/md0: # mdadm /dev/md0 -a /dev/sda1 mdadm: added /dev/sda1 Здесь запустится процесс синхронизации дисков raid-массива. Отслеживать его можно с помощью команды: cat /proc/mdstat Personalities : [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sda1[2] sdb1[1] 8104640 blocks [2/1] [_U] [==>..................] recovery = 13.7% (1118016/8104640) finish=2.5min speed=44720K/sec unused devices: <none> Шаг 7. Настройка скопированной системы. Сохраняем конфигурацию raid-массива: mdadm -D --scan >> /mnt/md0/etc/mdadm.conf Редактируем в файле /mnt/md0/etc/fstab строчки монтирования корневого раздела и раздела подкачки: /dev/md0 / reiserfs defaults 1 1 /dev/sda2 swap swap pri=1,defaults 0 0 /dev/sdb2 swap swap pri=1,defaults 0 0 Шаг 8. Настройка загрузки с raid-массива. Редактируем /mnt/md0/etc/lilo.conf, заменяем строчку: boot = /dev/sda1 на: boot = /dev/md0 И добавляем строчку: raid-extra-boot=mbr Далее действуем в зависимости от типа стандартного ядра slackware. Шаг 8.1. Используется huge ядро. В /mnt/md0/etc/lilo.conf добавляем строки: image = /boot/vmlinuz-huge-smp-2.6.27.7-smp root = /dev/md0 label = gener-raid read-only Версия ядра может быть другой, в зависимости от используемой версии slackware. Запускаем установку загрузчика lilo на оба диска в raid-массиве: chroot /mnt/md0 /sbin/lilo Шаг 8.2. Используется generic ядро. Создаем файл /mnt/md0/etc/mkinitrd.conf, содержащий строки: CLEAR_TREE="1" OUTPUT_IMAGE="/boot/initrd-generic-2.6.27.7-smp-raid.gz" KERNEL_VERSION="2.6.27.7-smp" MODULE_LIST="reiserfs" ROOTDEV="/dev/md0" RAID="1" Генерируем initrd-файл: chroot /mnt/md0 /sbin/mkinitrd -F В /mnt/md0/etc/lilo.conf добавляем строки: image = /boot/vmlinuz-generic-smp-2.6.27.7-smp initrd = /boot/initrd-generic-2.6.27.7-smp-raid.gz root = /dev/md0 label = gener-raid read-only Запускаем установку загрузчика lilo на оба диска в raid-массиве: chroot /mnt/md0 /sbin/lilo Шаг 9. Проверка. Перезагружаем компьютер и убеждаемся что загрузка операционной системы происходит нормально с любого диска из raid-массива.
|
Категория «Политики»
Взлеты Топ 5
Популярные за сутки
|
Загрузка...
взяты из открытых общедоступных источников и являются собственностью их авторов.