wiki:Configurator

Instalação e Configuração do m2installer

Objectivo

O objectivo desta página é apenas demonstrar como se deve proceder à instalação de um sistema sobre uma partição LVM, ou seja, a instalação do sistema dentro de um Volume Lógico (Logic Volume lv) do LVM. Assim, as explicações mais detalhadas sobre o LVM e qual a necessidade da utilização do mesmo encontram-se na página da documentação acerca dos snapshots em LVM (pode ser acedida aqui: http://contribsoft.caixamagica.pt/trac/wiki/SnapshotsLVM).

Instalação de um sistema sobre uma partição LVM (ou seja, instalação dentro de um lv)

Antes de começar com a exemplificação do processo de instalação convém referir que foi utilizado o Linux Caixa Mágica e certos aspectos podem, por isso, variar de sistema para sistema e assim é necessário fazer-se a respectiva adaptação à distribuição seja utilizada para executar este processo.

O que pretendemos é que seja possível ter um sistema instalado num lv que por sua vez está dentro de um vg que é composto por outras partições e/ou discos físicos.

Temos, logo à partida, um problema que consiste no facto de apenas ser possível utilizar o LVM depois de efectuado o processo de boot do sistema, pois é aí que serão carregados os módulos que permitem a sua utilização. Assim o que se faz é ter a directoria "/boot" numa partição exclusiva com o tipo de ficheiros ext3, porque desse modo já é possível iniciar um sistema que se encontre dentro de um lv de uma partição do tipo LVM porque como o "/boot" pode ser lido, dado que está em ext3, este dará suporte à leitura do sistema que está em LVM. Esta partição não precisará de ser maior do que 100 Mb.

É de realçar o facto de que ao colocar o "/boot" numa partição exclusiva em ext3 não estamos de modo algum a ir contra o principal objectivo da utilização do LVM, pois dado que queremos utilizar o LVM para restaurar o sistema para um ponto anterior, apenas queremos reverter o que foi modificado a partir do snapshot e, como os ficheiros existentes no "/boot" não é modificado aquando da instalação de programas, etc., não há necessidade de este ser revertido para um momento anterior.

Posteriormente, existe uma outra restrição aquando da instalação do nosso sistema, que é o facto de termos a necessidade de alterar o initrd (localizado em /boot/initrd) para que este carregue os módulos necessários à utilização do LVM, mas não podemos iniciar o sistema para depois executar os comandos necessários para alterar este. Assim, uma solução possível é utilizar um Live CD e executar neste os comandos necessário para reconstruir o initrd. Assim quando o initrd for reconstruido serão activados automaticamente os módulos que são necessários à utilização do LVM (para mais informações consultar o manual do comando utilizado para efectura a recontrução, que é o comando mkinitrd. Este manual pode ser encontrado no seguinte link http://linux.die.net/man/8/mkinitrd).

Nota: Este tipo de problema depende se a distribuição a ser instalada permite, na sua instalação normal, colocar o "/" numa partição LVM. Por isso pode não ser necessário a utilização do Live CD, mas para a instalação do Caixa Mágica é necessário este processo, logo vamos instalar com base no Live CD. O live CD que vamos utilizar pode ser obtido em http://ftp.caixamagica.pt/12/oficial/iso/caixamagica-linux-12-live-GNOME-pt_PT-cdrom-i586.iso

De seguida o que vamos fazer é "transferir" o nosso sistema para o sistema destino que foi instalado, de modo a podermos reconstruir o initrd como nos convém. Para isso montamos o sistema (o "/" que está no lv e o "/boot") em pastas à nossa escolha, para termos acesso ao mesmo, depois podemos reconstruir o initrd através do comando "chroot", mas temos de ter atenção que para que o sistema esteja "transferido" devemos montar com a opção "binds" de pastas especificas do sistema, como é o caso do "/proc", do "sys" e do "/dev", pois só assim estas estão realmente acessíveis do ponto de vista do sistema de destino.

No que diz respeito à instalação do LVM para que este fique a funcionar correctamente, em principio não será necessário instala-lo pois as versões mais recentes dos kernel's já têm todas o LVM e o device-mapper. O device-mapper é uma framework que serve de suporte a vários softwares de gestão de discos e é necessaŕio para que o LVM funcione correctamente. Poderá ser necessário activar alguns módulos do kernel caso os snapshots não funcionem ou caso o device-mapper não esteja activo. Estes módulos podem ser carregado através dos comandos:

modprobe dm-snapshot

e

modprobe dm-mod

Nota: Para mais informações consulte os seguinte links: http://tldp.org/HOWTO/LVM-HOWTO/ e http://sources.redhat.com/dm/

Depois desta "breve" explicação vamos então ver como instalar o sistema dentro de um lv, para o caso da distribuição Linux Caixa Mágica.

Processo de Instalação:

  • Inserir o Caixa Mágica Live CD e arrancar a partir do CD
  • Escolher a opção "Instalar no Disco" que se encontra no ambiente de trabalho, fazer seguinte e escolher o "particionamento personalizado do disco"
  • Utilizar este gestor para criar neste disco as partições de SWAP e e uma partição com cerca de 100Mb do tipo ext3 e montar o "/boot"
  • Alterar para o modo perito e criar uma partição do tipo "Logical Volume Manager", depois criar um vg (para isso clicar em adicionar a LVM) e por fim mudar para o separador que surgiu com o nome dado ao grupo e criar um lv do tipo ext3 com o ponto de montagem "/" (escolher um tamanho inferior ao dado ao vg para que exista espaço para os snapshots)
  • Esperar que o sistema instale e depois acabar com o processo de instalação normalmente
  • Executar o script abaixo para configurar e instalar o m2installer no sistema e para modificar o initrd: -> script que utiliza os comandos necessários para que o m2installer fique com algumas das configurações necessárias à utilização da funcionalidade de reversão total do sistema, através de snapshots. Inclui opção para modificar o initrd (necessário para que funcione em certas distribuições, como é o caso do Caixa Mágica 12 -> utilizando o Live CD): configurator.sh

Observações Importantes:

Este script para além de possibilitar a reconstrução do initrd irá criar vários directórios no sistema de destino que serão utilizados pelo m2installer. Um destes directórios vai ter um dicheiro com as configurações relativas ao m2installer. Este directório encontra-se, por defeito em "/etc/m2installer/" e o script vai de seguida criar um ficheiro de configuração dentro desta pasta. Para além disso, durante o processo de instalação vai pedir ao utilizador para modificar o ficheiro "/etc/rc.d/init.d/halt", fazendo com que este script execute um ficheiro se ele existir. A necessidade de modificar o ficheiro halt será explicada na página da documentação acerca dos snapshots em LVM (pode ser acedida aqui: http://contribsoft.caixamagica.pt/trac/wiki/SnapshotsLVM).

Exemplo de um ficheiro de configuração do m2installer: m2installer.conf.example

Este script também irá fazer a instalação do m2installer, que no fundo corresponde ao download do m2installer do directório do svn e de seguida colocá-lo no directório /sbin/. Deste modo o m2installer ficará disponivel para ser utilizado pelo root.

Convém ainda referir que caso seja necessário re-instalar ou re-configurar o m2installer basta executar o scrip configurator.sh.

Outro facto que também é importante indicar é que, apesar de a maior parte dos passos que aqui foram indicados e esclarecidos servirem para que o sistema possa ser instalado dentro de um lv do LVM, também é possivel utilizar o m2installer num sistema instalado num filesystem mais comum, como seja o ext3. O problema é que caso o m2installer seja instalado desta forma, não será possivel utilizar os Snapshots do LVM que permitem fazer a reversão total do sistema. Assim apenas ficarão disponiveis as opções de instalação/remoção de pacotes com suporte a rollback. A página da documentação acerca da instalação/remoção de pacotes com suporte a rollback pode ser acedida aqui: http://contribsoft.caixamagica.pt/trac/wiki/UnionFS.

Video exemplificativo do processo de instalação: http://www.vimeo.com/2020168

Termos utilizados:

LE - Logical Extend

lv - logic volume

LVM - Logical Volume Manager

PE - Physical Extend

pv - physical volume

vg - volume group

Last modified 12 years ago Last modified on Oct 20, 2008, 10:33:40 PM