Обслуживание ALT Linux 2.4 Master, установленного на Soft RAID? LVM
Предполагается, что ALT Linux 2.4 Master (хотя это может быть и любой другой) установлен на 2 SCSI-диска, объединенных в программный массив RAID1 (зеркало), поверх которого поднят LVM.
Диски разбиты следующим образом:
Конфигурация RAID1 такова:
Разделы с номерами 2 и 3 не включены в RAID1, т.к. для swap и squid cache это не актуально.
Раздел md1 – это физический том LVM, включенный в группу томов system, на которой размещены следующие логические тома:
В смонтированном состоянии это выглядит так:
initrd для загрузки системы выглядит так:
linuxrc выглядит так:
Такая конфигурация может обеспечить:
Надежность: в случае отказа одного из дисков система останется работоспособной – обеспечивается средствами RAID1
Возможность создания полной и непротиворечивой копии системы в целях резервного копирования, экспериментов на тестовом сервере, который требует идентичной конфигурации с боевым, переезда на новое железо и т.д. – обеспечивается средствами LVM
Мы не будем рассматривать процедуру инсталляции такой системы, т.к. из дальнейшего будет ясно, как из этой системы можно постоить более простую и наоборот.
Создание копии системы
Для создания копии системы можно использовать свободное место на SCSI дисках или дополнительный IDE-диск. Во втором случае дополнительный диск может быть размечен так:
Если смонтировать /dev/hda2 в /backup использовать его для хранения копий системы, а /dev/hda1 использовать для создания снапшотов LVM, то скрипт, выполняющий копирование, будет выглядеть так:
Установка копии
Теперь рассмотрим процедуру установки полученной копии на новый компьютер, при этом целевая конфигурация должна быть идентична исходной. Для этого необходимо выполнить следующие действия:
Загрузиться с какого-нибудь Rescue CD c поддержкой Soft RAID? и LVM (например, System Rescue CD)
Разбить один из дисков также как и на исходной системе (например, с помощью cfdisk)
Скопировать таблицу разделов на второй диск (sfdisk -d /dev/sda | sfdisk /dev/sdb)
Создать файловые системы на разделах, которые не планируется включать в RAID1 (mkswap /dev/sda2; mkswap /dev/sdb2; mkfs.reiserfs /dev/sda3; mkfs.reiserfs /dev/sdb3)
Создать md-устройства для разделов, которые планируется включить в RAID1 (для md0: mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1, аналогично для md1)
Создать необходимые физические разделы LVM, группы томов, логические тома (pvcreate, vgcreate, vgchange, lvcreate) с той же версией метаданных, что и на исходной системе (для LVM2 ее можно задать в /etc/lvm/lvm.conf)
Создать файловые системы на md-устройствах, не являющихся физическими томами LVM (mkfs.ext2 /dev/md0), и на логических томах LVM (mkfs.ext3 ...)
Создать каталог и смонтировать в него все созданные файловые системы
Перейти в созданный каталог и выполнить в нем cat /network/current-system-image/system-050817114919.cpio.bz2 | bzip2 -d -c | cpio -i --make-directories (в данном случае мы обращаемся к архиву, который находится в каталоге, смонтированном по SMB или NFS)
Если SCSI-контролер на целевой системе отличается от исходной, придется перестроить используемый initrd: для этого нужно разжать его с помощью gunzip, смонтировать с -o loop, а затем в смонтированном образе заменить модуль контроллера и исправить linuxrc.
Выполнить chroot в созданный каталог и lilo
После этого новая система будет в состоянии загрузиться, после загрузки нужно будет исправить /etc/modules*, /etc/hosts, /etc/sysconfig/network* и прочие настройки, унаследованные от исходной системы.
Можно установить копию в другой конфигурации, например, отказаться от RAID1 или от LVM, разметить диски иначе, использовать IDE вместо SCSI и т.д. Выполняемые действия будут аналогичны, за тем лишь исключением, что некоторые шаги нужно будет опустить или выполнить иначе. При этом может возникнуть необходимость отредактировать /etc/fstab или /etc/lilo.conf, чтобы отразить в них изменения в составе и именах физических устройств.
Замена ядра
Может возникнуть необходимость заменить ядро на исходной или целевой системе. В этом случае после установки ядра необходимо будет вручную сгенерировать initrd для нового ядра, для этого нужно будет выполнить следующие действия:
Создать initrd, вы
1bd7
полнив lvminitrd_create kernel_version
Разжать и смонтировать созданный initrd
Перенести в каталог, в который смонтирован образ initrd, все необходимые модули из /lib/modules/kernel_version и при необходимости отредактировать linuxrc
Размонтировать образ initrd, скопировать его в /boot, прописать в /etc/lilo.conf и выполнить lilo