]> gitweb.fluxo.info Git - padrao.git/commitdiff
Nova rotina de provisionamento usando a hydra suite
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 18 Nov 2010 21:56:29 +0000 (19:56 -0200)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 18 Nov 2010 21:56:29 +0000 (19:56 -0200)
install.mdwn

index 54d9441be3b17bbcfe965520733ec8c8e859f59c..e9da52ffdfc70123528768850f17ed14d0c02a5d 100644 (file)
@@ -8,16 +8,7 @@ A seguir, o procedimento de instala
 Instalação 
 ----------
 
-Antes de tudo, determine qual o dispositivo no qual o sistema será instalado, a arquitetura, a versão do sistema e o domínio principal:
-
-    export vg="install"
-    export device=/dev/nome_do_dispositivo
-    export arch=amd64
-    export version=lenny
-    export hostname=nome_da_maquina
-    export domain=projeto.org
-
-A primeira etapa é o particionamento do disco. Neste exemplo, assumiremos o seguinte layout, ajuste-o conforme as suas necessidades e gostos:
+A primeira etapa é o particionamento do disco. Neste exemplo, assumiremos o seguinte layout (ajuste-o conforme as suas necessidades e gostos):
 
     # fdisk -l $device
     Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
@@ -30,146 +21,27 @@ A primeira etapa 
     /dev/sdb2   *         250         273      192780   83  Linux
     /dev/sdb3             274      121601   974567160   8e  Linux LVM
 
-Em seguida vem a criação do LVM:
-
-    pvcreate "$device"3
-    vgcreate $vg "$device"3
-    lvcreate -L20G -n root $vg
-    vgchange -a y $vg
-
-Em seguida, preencher o dispositivo com sujeira:
-
-    dd if=/dev/urandom of=/dev/$vg/root
-
-A saída do comando acima deve ser algo como
-
-    dd: escrevendo em `/dev/install/root': Não há espaço disponível no dispositivo
-    41943041+0 registos dentro
-    41943040+0 registos fora
-    21474836480 bytes (21 GB) copiados, 8544 s, 2,5 MB/s
-
-Proceder igualmente com a partição swap:
-
-    dd if=/dev/urandom of="$device"1
-    
-    dd: escrevendo em `/dev/sdb1': Não há espaço disponível no dispositivo
-    4000123+0 registos dentro
-    4000122+0 registos fora
-    2048062464 bytes (2,0 GB) copiados, 972,049 s, 2,1 MB/s
-
-Com isso, já é possível passar para a criação do volume criptografado:
-
-    cryptsetup -h sha256 -c aes-cbc-essiv:sha256 -s 256 luksFormat /dev/$vg/root
-    cryptsetup luksOpen /dev/$vg/root debootstrap
-    mkfs.ext3 /dev/mapper/debootstrap
-
-Montando esse dispositivo num local temporário e instalar o sistema básico:
-
-    mkdir /tmp/debootstrap
-    mount /dev/mapper/debootstrap /tmp/debootstrap/
-    debootstrap --arch=$arch $version /tmp/debootstrap/
-
-Configuração inicial 
---------------------
-
-    mount none -t proc /tmp/debootstrap/proc/
-    mount -o bind /dev/ /tmp/debootstrap/dev
-    cp -L /etc/resolv.conf /tmp/debootstrap/etc
-    echo $hostname.$domain > /tmp/debootstrap/etc/hostname
-    echo "127.0.0.1 localhost $hostname $hostname.$domain" >> /tmp/debootstrap/etc/hosts
-    echo LANG=C > /tmp/debootstrap/etc/default/locale
-    
-    chroot /tmp/debootstrap/
-    export PS1="chroot $PS1"
-    apt-get update ; apt-get upgrade
-    apt-get install locales cryptsetup lvm2 initramfs-tools grub
-
-O `/etc/crypttab` deve conter (substitua `/dev/sda1` pelo seu valor correspondente para `$device`):
-
-    cat > /etc/crypttab <<-EOF
-    # <target name>    <source device>         <key file>      <options>
-    root            /dev/mapper/vg-root     none            luks,cipher=aes-cbc-essiv:sha256
-    cswap           /dev/sda1               /dev/random     swap,cipher=aes-cbc-essiv:sha256
-    EOF
-
-E o `/etc/fstab` deve conter:
-
-    cat > /etc/fstab <<-EOF
-    /dev/mapper/cswap none swap sw 0 0
-    /dev/mapper/root  /    ext3 defaults,errors=remount-ro 0 1
-    EOF
-
-Partida 
--------
-
-Agora é a hora de configurar o gerenciador de partida:
-
-    mkfs.ext3 "$device"2
-    mount "$device"2 /boot
-    grub-install --no-floppy "$device"
-
-Opcionalmente, adicione ao `/etc/fstab` (substituindo `sda1` pelo valor correspondente para `$device`):
-
-    /dev/sda2 /boot ext3 defaults,errors=remount-ro 0 2
+Os tamanhos das partições podem variar, porém as partições e seus tipos devem existir tal como no modelo acima.
 
-Conteúdo do `/boot/grub/menu.lst` (substitua de acordo com os valores de `$arch` e da versão do kernel instalado):
-
-    title      Servidor (hd0)
-    root       (hd0,1)
-    kernel     /vmlinuz-2.6.26-2-vserver-amd64 root=/dev/mapper/root ro quiet rootdelay=10
-    initrd     /initrd.img-2.6.26-2-vserver-amd64
-    
-    title      Servidor (hd0) (single)
-    root       (hd0,1)
-    kernel     /vmlinuz-2.6.26-2-vserver-amd64 root=/dev/mapper/root ro single rootdelay=10
-    initrd     /initrd.img-2.6.26-2-vserver-amd64
-
-Note que a opção rootdelay é importante no caso de sistemas contidos dentro de volumes USB, já que o kernel demora alguns instantes para detectar tais volumes. Detalhes a respeito em
-
-* [Installing Linux on USB - Part 5: Installing Debian Linux on USB flash memory drives](http://blogs.koolwal.net/2009/02/03/installing-linux-on-usb-part-5-installing-debian-linux-on-usb-flash-memory-drives/).
-* [initramfs-tools: lvm is not initialized on USB disks](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=366175#37).
-* [When root on USB: add rootdelay=xx to kernel command line](https://blueprints.launchpad.net/ubuntu/+spec/kernel-boot-usb-roodelay).
-
-Kernel 
-------
-
-Adicione a lista dos módulos criptográficos necessários ao arquivo `/etc/initramfs-tools/modules`:
-
-    cat > /etc/initramfs-tools/modules <<-EOF
-    dm-mod
-    dm-crypt
-    aes
-    twofish
-    sha256
-    EOF
-
-Tenha certeza de que o kernel irá utilizar uma imagem de inicialização adicionando a seguinte linha ao arquivo `/etc/kernel-img.conf`:
+Hydra Suite
+-----------
 
-    cat > /etc/kernel-img.conf <<-EOF
-    do_initrd = Yes
-    EOF
+Atualmente o Padrão Saravá utiliza a Hydra Suite para fazer o provisionamento. Versões anteriores deste documento não o utilizam, são mais descritivas e talvez até mais interessantes ao público interessado nos pormenores do procedimento de instalação.
 
-Proceda [desabilitando o firewire do sistema](../firewire) e, em seguida, instale o kernel:
+A Hydra Suite pode ser obtida diretamente do seu repositório:
 
-    if [ "$arch" == "i386" ]; then
-      kernel_arch="686"
-    else
-      kernel_arch="$arch"
-    fi
-    
-    apt-get install linux-image-2.6-vserver-$kernel_arch
+    git clone git://git.sarava.org/hydra.git
 
-Imagem de partida 
------------------
+Opcionalmente coloque os scripts `hydra` e `hydract` em seu `$PATH` (ou execute os programas a partir da pasta da suíte, por exemplo via `./hydractl`). Após a instalação, basta iniciar o procedimento com os devidos privilégios administrativos (como `root` ou usando o `sudo`):
 
-Para que o sistema consiga inicializar, atualize a imagem de partida:
+    hydractl provision
 
-    update-initramfs -v -u
+Antes de começar a instalar, você deverá informar ao programa qual o dispositivo no qual o sistema será instalado, a arquitetura, a versão do sistema e o domínio principal. Depois disso a suíte se encarregará da maior parte dos detalhes de instalação.
 
 Renomeando o volume group
 -------------------------
 
-Num sistema GNU/Linux, não pode haver dois volume groups com o mesmo nome. Assim, para evitar conflitos de `LVM`, utilizamos um nome temporário (`$vg`) na instalação do sistema. No entanto, o sistema apenas funcionará com o volume group `vg`. Assim, é preciso renomear o volume group.
+Num sistema GNU/Linux, não pode haver dois volume groups com o mesmo nome. Assim, para evitar conflitos de `LVM`, o provisionamento usa um nome temporário (`$vg`) na instalação do sistema. No entanto, o sistema apenas funcionará com o volume group `vg`. Assim, é preciso renomear o volume group.
 
 Para isso, **certifique-se de estar num sistema e computador que não possua nenhum volume group com o nome** `vg` (caso contrário vá para um que satisfaça tal condição) e proceda com a mudança:
 
@@ -179,20 +51,6 @@ Para isso, **certifique-se de estar num sistema e computador que n
 Continuando remotamente 
 -----------------------
 
-Para que seja possível continuar remotamente com a configuração, é preciso instalar um servidor SSH:
-
-    apt-get install openssh-server
-    ssh-keygen -l -f /etc/ssh/ssh_host_dsa_key.pub
-    ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
-
-Aproveite para instalar aplicativos básicos:
-
-    apt-get install screen cron lsb-release openssl
-
-Por fim,
-
-    passwd root
-
 Agora a máquina já está quase a ponto de poder ser administrada remotamente. Antes disso, configure a rede, instale o sudo e adicione as contas de usuário/a iniciais:
 
     vi /etc/network/interfaces                      # configuracao de rede
@@ -200,7 +58,7 @@ Agora a m
     vi /etc/resolv.conf                             # para usar o dns disponivel no data center
     apt-get install sudo && adduser nome-de-usuario
 
-Antes de largar a máquina no data center, lembre-se de anotar os fingerprints do ssh que você listou anteriormente.
+Antes de largar a máquina no data center, lembre-se de anotar os fingerprints do ssh exibidos anteriormente.
 
 Expansão de espaço em disco 
 ---------------------------
@@ -217,3 +75,10 @@ Algumas refer
 * [Encrypted Root LVM](http://www.howtoforge.com/encrypted-root-lvm).
 * [Encrypted filesystem - rigacci.org](http://www.rigacci.org/wiki/doku.php/doc/appunti/linux/sa/cryptfs).
 * [EncryptedFilesystems - Ubuntu Documentation](https://help.ubuntu.com/community/EncryptedFilesystems).
+
+A opção de partida `rootdelay` é importante no caso de sistemas contidos dentro de volumes USB, já que o kernel demora alguns instantes para detectar tais volumes. Detalhes a respeito em
+
+* [Installing Linux on USB - Part 5: Installing Debian Linux on USB flash memory drives](http://blogs.koolwal.net/2009/02/03/installing-linux-on-usb-part-5-installing-debian-linux-on-usb-flash-memory-drives/).
+* [initramfs-tools: lvm is not initialized on USB disks](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=366175#37).
+* [When root on USB: add rootdelay=xx to kernel command line](https://blueprints.launchpad.net/ubuntu/+spec/kernel-boot-usb-roodelay).
+