So installieren Sie Ubuntu 15.10 auf einem verschlüsselten RAID 1

1759
soriak

Ich habe kürzlich ein Ubuntu 15.10 (Desktop) für ein verschlüsseltes RAID 1 eingerichtet und möchte mitteilen, wie dies erreicht werden kann, da es nicht sofort funktioniert hat und ich kein Tutorial gefunden habe. Was ich also erreichen wollte, war ein Ubuntu, das auf einem verschlüsselten Volume ausgeführt wurde, das auf zwei physischen Festplatten in RAID 1-Konfiguration gespiegelt wird.

2

1 Antwort auf die Frage

2
soriak

Großes Bild

Beginnen wir mit einem Bild, wie das Ergebnis aussieht: enter image description here

Grundlegende Strategie

Die Schritte zum Einrichten eines Systems wie folgt lauten also:

  1. Erstellen Sie einen Live-USB-Stick
  2. Starten Sie die Live-CD
  3. Bereiten Sie das RAID vor (verwendetes mdadm)
  4. Vorbereiten des verschlüsselten Containers (verwendete Luks)
  5. Installieren Sie Ubuntu über das Installationsprogramm (dieses Setup wird leider nicht standardmäßig unterstützt)
  6. Wechseln Sie über die Chroot zum Zielsystem
  7. Mdadm-installation korrigiert (bei Raid-Installation nicht automatisch installiert)
  8. Fixe crypttab (nicht automatisch installiert, wenn das verschlüsselte Volume installiert wird)
  9. Grub fixieren (falls nötig)
  10. Starten Sie neu

Schritt für Schritt

Ich werde Sie durch diese Schritte führen:

  1. Erstellen Sie einen Live-USB-Stick aus http://releases.ubuntu.com/15.10/ubuntu-15.10-desktop-amd64.iso (oder gegebenenfalls einer anderen Architektur).

  2. Booten Sie die Live-CD (nicht installieren)

3./4. Starten Sie das erste Shellskript, das Sie durch die folgenden Schritte führt

  • Bereiten Sie das RAID vor
  • Bereiten Sie den verschlüsselten Container vor

#!/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. Installieren Sie Ubuntu über das Installationsprogramm (Empfehlung: Installieren Sie keine Updates bei der Installation, damit Sie im Fehlerfall nicht unnötig warten).

  2. Wechseln Sie über die Chroot zum Zielsystem. Öffnen Sie dazu ein neues Terminalfenster cd unter / media / ubuntu und bereiten Sie die Chroot mit dem folgenden Skript vor:


#!/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. Verwenden Sie das folgende Skript in der Chroot-Shell (nach dem Aufruf von "sudo chroot / media / ubunu / root / bin / bash") für:

  • Mdadm-installation korrigieren
  • Fixieren Sie Crypttab
  • Grub fixieren (falls nötig)

#!/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. Starten Sie neu

Sie können beliebige Größen in den Skripts an Ihre Bedürfnisse anpassen. Speichern und verteilen Sie sie, um die benötigte Zeit zu reduzieren.

Übrigens danke ich einem guten Freund, der mir geholfen hat, als ich wirklich feststeckte.

Dies kann nicht gestartet werden, wenn `/ dev / sda` fehlschlägt, da die EFI-Bootpartition nicht unter` / dev / sdb` liegt Sacha K vor 8 Jahren 0
Eigentlich funktioniert das auch nicht, wenn es richtig konfiguriert ist. Es ist ein bekannter Fehler, der aber nicht behoben wird. Siehe http://serverfault.com/questions/261104/encrypted-lvm-on-raid1-failure-testing-manual-mount und https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/324997 Sacha K vor 8 Jahren 0
@SachaK danke für dein Feedback. Ich werde es mir ansehen und meine Antwort verbessern, wenn möglich. soriak vor 8 Jahren 0