Outils pour utilisateurs

Outils du site


linux:raid_uefi (lu 1440 fois)

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
linux:raid_uefi [03-11-2019 12:20]
edmc73
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 76: Ligne 80:
  
 Si tout s'est bien passé, la suite de l'installation devrait bien se passer. 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>
 +
 +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.1572780032.txt.gz · Dernière modification: 03-11-2019 12:20 de edmc73