Como instalar o Ubuntu 15.10 em um RAID criptografado 1

2

Eu configurei recentemente um Ubuntu 15.10 (desktop) em um RAID 1 criptografado e quero compartilhar como conseguir isso, pois ele não funcionou de imediato e eu não encontrei nenhum tutorial. Então, o que eu queria alcançar era um Ubuntu rodando em um volume criptografado que é espelhado em dois HDDs físicos em execução na configuração do RAID 1.

    
por soriak 02.01.2016 / 11:46

1 resposta

2

Imagem grande

Então, vamos começar com uma imagem de como é o resultado:

Estratégiabásica

Assim,ospassosparaconfigurarumsistemacomoestesãoosseguintes:

  1. CrieumstickUSBaovivo
  2. InicializeoLive-CD
  3. PrepareoRAID(mdadmusado)
  4. Prepareocontêinercriptografado(luksusado)
  5. InstaleoUbuntuatravésdoinstalador(infelizmentenãosuportaessaconfiguraçãoprontaparauso)
  6. Mudeparaosistemadedestinoviachroot
  7. Corrigirainstalaçãodomdadm(nãoinstaladaautomaticamenteaoinstalarnoraid)
  8. Corrigirocrypttab(nãoinstaladoautomaticamenteaoinstalarnovolumecriptografado)
  9. Corrigirgrub(senecessário)
  10. Reinicializar

Passoapasso

Porisso,vouorientá-lonestespassos:

  1. CrieumLive-USBStickapartirdo link (ou de qualquer outro arquitetura se aplicável)

  2. Inicialize o CD ao vivo (não instale)

3./4. Inicie o primeiro script de shell que o guiará pelas etapas a seguir

  • Prepare o RAID
  • Preparar o contêiner criptografado
#!/bin/bash

read -p "verify sda/sdb are the intended devices and other devices are unplugged"
sudo apt-get install gparted mdadm

read -p "create empty partitions for raid and also reserved bios gpt areas manually! Use gpt-partition tables in all steps, apply the following layout to both disks: 1MiB unformmated (bios_grub) (recommendation to leave 99MiB unallocated in case we need to do some nasty EFI stuff), remaining space unformatted partition"
sudo gparted
sudo parted /dev/sda set 1 raid on
sudo parted /dev/sdb set 1 raid on

read -p "verify non-bios partition is actual sda2 and sdb2"
sudo mdadm --create /dev/md0 --auto md --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2

read -p "create boot partition and empty partition for encryption"
sudo gparted
sudo cryptsetup -c aes-xts-plain64 -s 512 -h sha512 luksFormat /dev/md0p2
sudo cryptsetup luksOpen /dev/md0p2 lukslvm
sudo pvcreate /dev/mapper/lukslvm
sudo vgcreate vgubuntu /dev/mapper/lukslvm
sudo lvcreate -L 10G -n swap vgubuntu
sudo lvcreate -L 100G -n root vgubuntu
sudo lvcreate -l 100%FREE -n home vgubuntu
sudo mkswap /dev/mapper/vgubuntu-swap -L swap
sudo mkfs.ext4 /dev/mapper/vgubuntu-root -L root
sudo mkfs.ext4 /dev/mapper/vgubuntu-home -L home
echo "all done, start installation (and fix boot in chroot)"
  1. Instale o Ubuntu através do instalador (a recomendação não instale atualizações na instalação, por isso, em caso de erro, não espere desnecessariamente)

  2. Mude para o sistema de destino via chroot. Para fazer isso, abra um novo cd da janela do terminal em / media / ubuntu e prepare o chroot com o seguinte script:

#!/bin/bash

read -p "verify this script is called from /media/ubuntu/ and a subfolder is used as mountpoint for the chroot root filesystem named root"
mkdir /media/ubuntu/root
#umount /media/ubuntu/bootpart 
mount /dev/mapper/vgubuntu-root root
mount /dev/md0p1 root/boot/
mount -o rbind /dev root/dev
mount -t proc proc root/proc/
mount -t sysfs sys root/sys
cp /etc/resolv.conf root/etc/resolv.conf 
echo "chroot setup, call 'sudo chroot /media/ubuntu/root /bin/bash' to chroot"

7./8./9. Use o seguinte script no shell chroot (depois de chamar 'sudo chroot / media / ubunu / root / bin / bash') para:

  • Corrigir a instalação do mdadm
  • Corrigir crypttab
  • Corrigir grub (se necessário)
#!/bin/bash

sudo apt-get update
apt-get install emacs mdadm
#read -p "the BIOS boot partition must be configured to be 1MiB, unformatted and having flag bios_grub"
#sudo gparted
grub-install /dev/sda
echo "reading UUID of root device /dev/md0p2"
blkid /dev/md0p2 
read -p "edit crypttab add line 'lukslvm UUID=<VOLUME_ID> none luks'"
emacs /etc/crypttab
read -p "edit modules add line 'dm-crypt'"
emacs /etc/modules
update-initramfs -u -k all
read -p "add 'kopt=root=/dev/mapper/vgubuntu-root' to 'GRUB_CMDLINE_LINUX_DEFAULT' in /etc/default/grub"
emacs /etc/default/grub
sudo update-grub
  1. Reinicializar

Você pode adaptar todos os tamanhos nos scripts às suas necessidades. Salve e force-os para reduzir o tempo necessário.

A propósito, agradeço a um bom amigo por me ajudar quando fiquei realmente preso.

    
por 02.01.2016 / 11:46