Ok, j'ai trouvé la solution et je peux répondre à mes propres questions.
1) Puis-je utiliser LVM sur RAID1 sur une machine UEFI?
Oui définitivement. Et il pourra démarrer même si l'un des deux disques tombe en panne.
2) Comment faire cela?
Il semble y avoir un bogue dans le programme d'installation, donc le simple fait d'utiliser le programme d'installation entraîne un échec de démarrage (shell grub).
Voici une procédure de travail:
1) créez manuellement les partitions suivantes sur chacun des deux disques: - une partition de 512 Mo de type UEFI au début du disque - une partition de type RAID après cela
2) créez votre matrice RAID 1 avec les deux partitions RAID, puis créez votre groupe de volumes LVM avec cette matrice et vos volumes logiques (j'en ai créé un pour root, un pour home et un pour swap).
3) laissez l'installation se poursuivre et redémarrez. ÉCHEC ! Vous devriez obtenir un shell grub.
4) il pourrait être possible de démarrer à partir du shell grub, mais j'ai choisi de démarrer à partir d'un disque USB de secours. En mode de secours, j'ai ouvert un shell sur mon fs racine cible (c'est-à-dire celui sur le volume logique lvm racine).
5) obtenez l'UUID de cette partition racine cible avec 'blkid'. Notez-le ou prenez une photo avec votre téléphone, vous en aurez besoin à l'étape suivante.
6) montez la partition système EFI ('mount / boot / efi') et éditez le fichier grub.cfg: vi /boot/efi/EFI/ubuntu/grub.cfg Ici, remplacez l'UUID erroné par celui que vous avez obtenu au point 5. Enregistrez.
7) pour pouvoir démarrer à partir du deuxième disque, copiez la partition EFI sur ce deuxième disque: dd if = / dev / sda1 of = / dev / sdb1 (changez sda ou sdb avec ce qui convient à votre configuration).
8) Redémarrez. Dans votre écran de configuration UEFI, définissez les deux partitions EFI comme amorçables et définissez un ordre de démarrage.
Vous avez terminé. Vous pouvez tester, débrancher l'un ou l'autre des disques, ça devrait marcher!
Je l'ai fait il y a un peu plus d'un an moi-même et, même si j'ai eu des problèmes, je n'ai pas eu les problèmes énumérés ici. Je ne sais pas où j'ai trouvé les conseils que j'ai faits à l'époque, alors je posterai ce que j'ai fait ici.
1) Créez des partitions efi de 128 Mo au début (dont une seule sera montée, à / boot / efi)
2) Créez une baie RAID 1 Go / boot, pas de LVM
3) Créez une grande matrice RAID1 à l'aide de LVM
Le fait que / boot soit sur une partition / baie RAID1 distincte résout les problèmes de la partition efi incapable de trouver les choses appropriées.
Et pour ceux qui recherchent plus de détails, comme je l'étais à l'époque, voici, plus précisément, comment j'ai fait ma configuration:
Notez qu'un seul des fichiers / boot / efi sera réellement monté, et les deux autres sont des clones; J'ai fait cela parce que je souhaitais pouvoir continuer à démarrer la machine lors de la perte de l'un des 3 disques du RAID1. Cela ne me dérange pas de fonctionner en mode dégradé si j'ai toujours une redondance complète, et cela me donne le temps de remplacer le lecteur alors que la machine est toujours en marche.
De plus, si je n'avais pas la deuxième matrice RAID1 pour mettre les conteneurs LXC et fondamentalement toutes les bases de données et autres, / var aurait dû être BEAUCOUP plus gros. Cependant, avoir chaque LXC comme son propre volume logique était une bonne solution pour empêcher une VM / un site Web de perturber les autres en raison de journaux d'erreurs hors de contrôle, par exemple ...
Et dernière note, j'ai installé à partir de l'Ubuntu Alternate Install USB avec 12.04.01 (avant la sortie du 12.04.02), et tout fonctionnait très bien. Après m'être cogné la tête contre elle pendant 72 heures.
J'espère que cela aide quelqu'un!
la source
J'ai eu le même problème, démarrage efi avec deux disques et raid logiciel
/ dev / sda
/ dev / sdb
Basculer sur / dev / md0 (sda2 & sdb2) Racine sur / dev / md1 (sda3 & sdb3)
Si vous entrez dans le shell grub-rescue, démarrez en utilisant:
Après cela, téléchargez ce fichier de correctif - https://launchpadlibrarian.net/151342031/grub-install.diff (comme expliqué sur https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1229738 )
la source