Outils pour utilisateurs

Outils du site


linux:raid_uefi (lu 1454 fois)

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
linux:raid_uefi [03-11-2019 11:47]
edmc73 créée
linux:raid_uefi [03-11-2019 15:29] (Version actuelle)
edmc73
Ligne 1: Ligne 1:
 ====== RAID + UEFI ====== ====== RAID + UEFI ======
 +
 +Inspirer de ce très bon tuto en français => https://www.youtube.com/watch?v=SPnoYE8FzV8
 +
 +===== Installation =====
  
 Ici nous allons faire une installation de Debian 10 sur 2 disques en RAID 1 et le boot en UEFI Ici nous allons faire une installation de Debian 10 sur 2 disques en RAID 1 et le boot en UEFI
Ligne 13: Ligne 17:
 Créer de préférence une partition de table GPT sur les 2 disques. Créer de préférence une partition de table GPT sur les 2 disques.
  
-Nous allons donc créer une partition FAT32 de 128Mo sur les 2 disques et mettre les flags BOOT et ESP uniquement sur le premier disque.+Nous allons créer une partition FAT32 de 128Mo sur les 2 disques et mettre les flags BOOT et ESP uniquement sur le premier disque et on utilise le reste des disques pour faire une partition RAID 
  
 +Sur le 1er disque
 +  * Sélectionner l'espace libre
 +  * Créer une nouvelle partition
 +  * 128MB
 +  * Début
 +  * Utiliser comme Partition système EFI (ce qui implique FAT32 et flags BOOT et ESP)
 +  * Indicateur d'amorçage présent
 +  * Fin du paramétrage de cette partition
 +  * Sélectionner l'espace libre
 +  * Créer une nouvelle partition
 +  * max
 +  * Utiliser comme volume physique pour RAID
 +  * Fin du paramétrage de cette partition
 +
 +Sur le 2ème disque
   * Sélectionner l'espace libre   * Sélectionner l'espace libre
   * Créer une nouvelle partition   * Créer une nouvelle partition
Ligne 20: Ligne 39:
   * Début   * Début
   * Utiliser comme système de fichiers FAT32   * Utiliser comme système de fichiers FAT32
-  * Point de montage, ne pas utiliser cette partition +  * Point de montage aucun 
-  * +  * Fin du paramétrage de cette partition 
 +  * Sélectionner l'espace libre 
 +  * Créer une nouvelle partition 
 +  * max 
 +  * Utiliser comme volume physique pour RAID 
 +  * Fin du paramétrage de cette partition 
  
-On utilise le reste des disques pour faire une partition RAID  
  
 Théoriquement on a donc nos partitions FAT32 en /dev/sda1 et /dev/sdb1 et le reste en /dev/sda2 et /dev/sdb2 Théoriquement on a donc nos partitions FAT32 en /dev/sda1 et /dev/sdb1 et le reste en /dev/sda2 et /dev/sdb2
Ligne 38: Ligne 62:
   echo 99999999999 > /proc/sys/dev/raid/speed_limit_max   echo 99999999999 > /proc/sys/dev/raid/speed_limit_max
  
 +Ici on va utiliser le menu 
 +  * Configurer le RAID avec gestion logicielle
 +  * On applique les changements
 +  * Créer un périphérique multidisque
 +  * RAID1
 +  * 2 périphériques actifs
 +  * 0 périphérique de réserve
 +  * On sélectionne nos /dev/sda2 /dev/sdb2
 +  * Terminer
 +  * Cliquer sur la partition de RAID
 +  * Utiliser comme système de fichiers journalisé btrfs
 +  * Point de montage /
 +  * Fin du paramétrage de cette partition
 +  * Terminer le partitionnement et appliquer les changements
 +
 +Ignorer l'alerte qui dit que votre partition FAT32 n'a pas de point de montage.
 +
 +Si tout s'est bien passé, la suite de l'installation devrait bien se passer.
 +
 +===== Configuration =====
 +
 +A ce stade, le système EFI est disponible uniquement sur le 1er disque sur /dev/sda1. Nous allons configurer tout ça pour que le système boot sur n'importe quel disque dans le cas ou un des 2 disques serait HS
 +
 +La commande suivante permet d'afficher toutes les partitions
 +
 +<code>
 +# lsblk -f
 +NAME    FSTYPE            LABEL     UUID                                 FSAVAIL FSUSE% MOUNTPOINT
 +sda                                                                                     
 +├─sda1  vfat                        99C7-2650                             505,9M     1% /boot/efi
 +├─sda2  linux_raid_member edmc___:0 ada4f056-bff8-8e36-b3d2-f4fe60f5bb81                
 +│ └─md0 btrfs                       19cb67a4-43f2-4221-ae89-b07e6bdaeed3  108,3G     1% /
 +└─sda3  linux_raid_member edmc___:1 d2d5cbef-f935-553b-ad3e-bfba1e20bd1b                
 +  └─md1 swap                        50e2e891-1891-4704-a46b-d2352a73175b                [SWAP]
 +sdb                                                                                     
 +├─sdb1  vfat                        46AF-038E                                           
 +├─sdb2  linux_raid_member edmc___:0 ada4f056-bff8-8e36-b3d2-f4fe60f5bb81                
 +│ └─md0 btrfs                       19cb67a4-43f2-4221-ae89-b07e6bdaeed3  108,3G     1% /
 +└─sdb3  linux_raid_member edmc___:1 d2d5cbef-f935-553b-ad3e-bfba1e20bd1b                
 +  └─md1 swap                        50e2e891-1891-4704-a46b-d2352a73175b                [SWAP]
 +
 +</code>
 +
 +On va maintenant copier notre partition EFI sda1 sur notre 2ème disque sdb1. Pour cela on va formater notre 2eme partition et lui mettre le même UUID que la partition EFI (on note qu'il n'y a pas de tiret dans l'UUID)
 +
 +  # mkfs.vfat -i 99C72650 /dev/sdb1
 +
 +On va maintenant configurer /etc/fstab pour qu'il monte les 2 partitions pour que le systeme puisse booter sur l'un des disques disponibles et aussi la possibilité de mettre à jour ces fichiers
 +
 +  vi /etc/fstab
 +On remplace ça
 +<code>
 +# /boot/efi was on /dev/sda1 during installation
 +UUID=99C7-2650  /boot/efi       vfat    umask=0077      0       1
 +</code>
 +par
 +<code>
 +# /boot/efi was on /dev/sda1 during installation
 +/dev/sda1  /boot/efi       vfat    umask=0077,nofail      0       1
 +/dev/sdb1  /boot/efi2       vfat    umask=0077,nofail      0       1
 +</code>
 +
 +L'option nofail est importante pour ne pas bloquer le démarrage si un des 2 disques est HS
 +
 +On crée le répertoire /boot/efi2 puis on vérifie que efi2 ait les mêmes droits que efi
 +  mkdir /boot/efi2
 +  chmod 700 /boot/efi2
 +
 +On teste le montage
 +<code>
 +# mount -a
 +# df -h
 +Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
 +udev               3,9G        3,9G   0% /dev
 +tmpfs              789M    8,8M  780M   2% /run
 +/dev/md0           111G    1,1G  109G   1% /
 +tmpfs              3,9G        3,9G   0% /dev/shm
 +tmpfs              5,0M        5,0M   0% /run/lock
 +tmpfs              3,9G        3,9G   0% /sys/fs/cgroup
 +/dev/sda1          511M    5,1M  506M   1% /boot/efi
 +tmpfs              789M        789M   0% /run/user/0
 +tmpfs              789M        789M   0% /run/user/1000
 +/dev/sdb1          511M    4,0K  511M   1% /boot/efi2
 +</code>
 +
 +On copie maintenant le contenu de efi sur efi2
 +<code>
 +# rsync -av /boot/efi/ /boot/efi2/
 +sending incremental file list
 +EFI/
 +EFI/debian/
 +EFI/debian/BOOTX64.CSV
 +EFI/debian/fbx64.efi
 +EFI/debian/grub.cfg
 +EFI/debian/grubx64.efi
 +EFI/debian/mmx64.efi
 +EFI/debian/shimx64.efi
 +
 +sent 5,322,140 bytes  received 138 bytes  10,644,556.00 bytes/sec
 +total size is 5,320,417  speedup is 1.00
 +</code>
 +
 +Il faut maintenant mettre le flags boot et ESP sur la partition /dev/sdb1
 +
 +On va utiliser parted
 +  apt install parted
 +<code>
 +# parted /dev/sdb
 +GNU Parted 3.2
 +Using /dev/sdb
 +Welcome to GNU Parted! Type 'help' to view a list of commands.
 +(parted) print                                                            
 +Model: ATA KINGSTON SA400S3 (scsi)
 +Disk /dev/sdb: 120GB
 +Sector size (logical/physical): 512B/512B
 +Partition Table: gpt
 +Disk Flags: 
 +
 +Number  Start   End    Size   File system     Name  Flags
 +      1049kB  538MB  537MB  fat32                 msftdata
 +      538MB   119GB  118GB                        raid
 +      119GB   120GB  999MB  linux-swap(v1)        raid
 +
 +(parted) set 1 boot on                                                    
 +(parted) set 1 esp on
 +
 +(parted) print                                                            
 +Model: ATA KINGSTON SA400S3 (scsi)
 +Disk /dev/sdb: 120GB
 +Sector size (logical/physical): 512B/512B
 +Partition Table: gpt
 +Disk Flags: 
 +
 +Number  Start   End    Size   File system     Name  Flags
 +      1049kB  538MB  537MB  fat32                 boot, esp
 +      538MB   119GB  118GB                        raid
 +      119GB   120GB  999MB  linux-swap(v1)        raid
 +
 +</code>
 +
 +===== Vérification =====
 +
 +On éteind tout et on débranche le disque 1. Le boot se passe bien, l'UEFI est chargé et grub est la. On vérifie l'état du RAID
 +
 +<code>
 +# mdadm --detail /dev/md0
 +/dev/md0:
 +           Version : 1.2
 +     Creation Time : Sun Nov  3 12:11:33 2019
 +        Raid Level : raid1
 +        Array Size : 115652608 (110.29 GiB 118.43 GB)
 +     Used Dev Size : 115652608 (110.29 GiB 118.43 GB)
 +      Raid Devices : 2
 +     Total Devices : 1
 +       Persistence : Superblock is persistent
 +
 +     Intent Bitmap : Internal
 +
 +       Update Time : Sun Nov  3 15:10:19 2019
 +             State : clean, degraded 
 +    Active Devices : 1
 +   Working Devices : 1
 +    Failed Devices : 0
 +     Spare Devices : 0
 +
 +Consistency Policy : bitmap
 +
 +              Name : cantine: (local to host cantine)
 +              UUID : ada4f056:bff88e36:b3d2f4fe:60f5bb81
 +            Events : 1243
 +
 +    Number   Major   Minor   RaidDevice State
 +                    2        0      active sync   /dev/sda2
 +                    0        1      removed
 +
 +</code>
 +
 +On recommence en débranchant le 2ème disque
 +<code>
 +# mdadm --detail /dev/md0
 +/dev/md0:
 +           Version : 1.2
 +     Creation Time : Sun Nov  3 12:11:33 2019
 +        Raid Level : raid1
 +        Array Size : 115652608 (110.29 GiB 118.43 GB)
 +     Used Dev Size : 115652608 (110.29 GiB 118.43 GB)
 +      Raid Devices : 2
 +     Total Devices : 1
 +       Persistence : Superblock is persistent
 +
 +     Intent Bitmap : Internal
 +
 +       Update Time : Sun Nov  3 15:14:37 2019
 +             State : clean, degraded 
 +    Active Devices : 1
 +   Working Devices : 1
 +    Failed Devices : 0
 +     Spare Devices : 0
 +
 +Consistency Policy : bitmap
 +
 +              Name : cantine: (local to host cantine)
 +              UUID : ada4f056:bff88e36:b3d2f4fe:60f5bb81
 +            Events : 1239
 +
 +    Number   Major   Minor   RaidDevice State
 +                    0        0      removed
 +                    2        1      active sync   /dev/sda2
 +</code>
 +
 +J'ai écrit un fichier toto sur un disque et tata sur l'autre disque, maintenant on rebranche les 2 et on voit se qui se passe.
 +
 +<code>
 +# mdadm --detail /dev/md0
 +/dev/md0:
 +           Version : 1.2
 +     Creation Time : Sun Nov  3 12:11:33 2019
 +        Raid Level : raid1
 +        Array Size : 115652608 (110.29 GiB 118.43 GB)
 +     Used Dev Size : 115652608 (110.29 GiB 118.43 GB)
 +      Raid Devices : 2
 +     Total Devices : 2
 +       Persistence : Superblock is persistent
 +
 +     Intent Bitmap : Internal
 +
 +       Update Time : Sun Nov  3 15:18:16 2019
 +             State : clean 
 +    Active Devices : 2
 +   Working Devices : 2
 +    Failed Devices : 0
 +     Spare Devices : 0
 +
 +Consistency Policy : bitmap
 +
 +              Name : cantine: (local to host cantine)
 +              UUID : ada4f056:bff88e36:b3d2f4fe:60f5bb81
 +            Events : 1257
 +
 +    Number   Major   Minor   RaidDevice State
 +                    2        0      active sync   /dev/sda2
 +                   18        1      active sync   /dev/sdb2
 +</code>
 +
 +Je retrouve bien mon fichier tata mais en revanche le fichier toto a disparu...
 +
 +On peut voir ici que notre RAID md1 (qui est la swap ici) est dans l'état pending
 +<code>
 +# cat /proc/mdstat 
 +Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
 +md0 : active raid1 sdb2[1] sda2[0]
 +      115652608 blocks super 1.2 [2/2] [UU]
 +      bitmap: 1/1 pages [4KB], 65536KB chunk
 +
 +md1 : active (auto-read-only) raid1 sda3[0] sdb3[1]
 +      974848 blocks super 1.2 [2/2] [UU]
 +      resync=PENDING
 +      
 +unused devices: <none>
 +</code>
 +En fait il est en readonly, on va le repasser en lecture écriture
 +<code>
 +# mdadm --readwrite /dev/md1
 +
 +# cat /proc/mdstat 
 +Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] 
 +md0 : active raid1 sdb2[1] sda2[0]
 +      115652608 blocks super 1.2 [2/2] [UU]
 +      bitmap: 0/1 pages [0KB], 65536KB chunk
 +
 +md1 : active raid1 sda3[0] sdb3[1]
 +      974848 blocks super 1.2 [2/2] [UU]
 +      [=======>.............]  resync = 38.5% (375872/974848) finish=0.0min speed=187936K/sec
 +      
 +unused devices: <none>
 +</code>
  
-On poursuit donc avec l'installation d'une debian 10+Je n'ai pas retourvé mon fichier toto.. conclusion, ne pas s'amuser à intervertir les disques. Dans le doute, reformatez le disque que vous allez remettre en place.
linux/raid_uefi.1572778060.txt.gz · Dernière modification: 03-11-2019 11:47 de edmc73