# Mise en place d'un RAID Logiciel (Linux)

## Création d'un RAID depuis une VM Ubuntu

Il y a 2 disque de 1 Go qui ont été ajouté /dev/sdb et /dev/sdc

[![image.png](https://wikinul.com/uploads/images/gallery/2024-02/scaled-1680-/stsbanIfBp2ycZaC-image.png)](https://wikinul.com/uploads/images/gallery/2024-02/stsbanIfBp2ycZaC-image.png)

Installer mdadm

```bash
apt-get install mdadm
```

Vérification des disques avec "lsblk, fdisk, df-h, et gparted"

Avec le module mdadm la commande suivante ajoute un RAID 1

/dev/sd**b** et /dev/sd**c** sont a modifier en fonction de la configuration.

```bash
mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
```

Obtenir les détails du disque

```bash
mdadm --detail /dev/md0
```

Scan des devices

```bash
mdadm --detail --scan
```

Le définir

```bash
mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
```

Mettre a jour

```bash
sudo update-initramfs -u
```

Ajouter des disques au RAID 1 (hors TP)

```bash
sudo mdadm /dev/md0 --add-spare /dev/sdd /dev/sde
```

```bash
mdadm --manage /dev/md0 --add /dev/sdd
```

### Transformer le RAID 1 en RAID 5

```bash
sudo mdadm --grow /dev/md0 --level=5
```

Ajouter les disques au RAID 5

```bash
mdadm --grow /dev/md0 --add --raid-devices=4 /dev/sdd /dev/sde
```

### Formater un Filesystem

Vérifier que LVM2 soit installé

```bash
apt install lvm2
```

Création du Volume Physique

```bash
pvcreate /dev/md0
```

Lister les volumes physiques et détail d'un volume

```bash
pvs
```

```bash
pvdisplay v2
```

Lister les groupes de volumes et détails d'un volume

```
vgs
```

```bash
vgdisplay v1
```

Création du Groupe de volume

```bash
vgcreate nom_volume_groupe /dev/md0
```

Création de 2 volumes logiques sur md0

```bash
lvcreate -n nom_volume_logique -L 1G nom_volume_groupe
```

Formater les volumes logiques dans 2 formats différents ext4 et XFS

```bash
mkfs.ext4 /dev/nom_volume_groupe/nom_volume_logique1
```

```
mkfs.xfs /dev/nom_volume_groupe/nom_volume_logique2
```

<p class="callout info">Si absence de XFS : apt install xfsprogs</p>

Vérifier la configuration des volumes logiques

```bash
lsblk -f /dev/nom_volume_groupe/nom_volume_logique1
```

```bash
lsblk -f /dev/nom_volume_groupe/nom_volume_logique2
```

Monter le volume pour qu'il soit utilisable

```bash
mkdir chemin_a_créer (/srv/data1)
```

```bash
mount /dev/nom_volume_groupe/nom_volume_logique2 chemin_a_créer
```

### Redimensionner un disque déjà partitionné

Par exemple on a un disque /dev/sda qui contient 2 partition l'objectif est d'agrandir la taille du 2ème disque donc /dev/sda2

- /dev/sda1
- /dev/sda2

Pour cela il faut agrandir le disque dans VMware avec la taille souhaitée

Il faut ensuite effectuer

```bash
fdisk /dev/sda
```

Vérifier que la place supplémentaire a bien été ajoutée

```
F
```

Il devrait indiquer l'espace restant attaché au disque.

Supprimer une partition donc

```bash
d
```

puis indiquer le n° de la partition ici 2 sda**2**

```
Numéro de partition (1,2, 2 par défaut) : 2
```

Il faut ensuite recréer une partition

```bash
n
```

Bien faire attention au type de partition ici la partition que nous allons modifier est la partition principale de la machine donc primaire.

Indiquer le n° de partition qu'il devra avoir, ici le même numéro :

```bash
Numéro de partition (2-4, 2 par défaut) : 2
```

Laisser le premier secteur par défaut

```
Premier secteur (1026048-251658239, 1026048 par défaut) :
```

Pour le dernier secteur si le choix est laissé par défaut il occupera tout l'espace, sinon il est possible d'ajouter une taille souhaitée +100G par exemple (+taille{K,M,G,T,P}) (Kilo, Mega, Giga, Tera, Peta)

<p class="callout danger">S'il indique que la partition contient une signature surtout ne pas la supprimer</p>

Puis valider le partitionnement avec

```bash
w
```

Pour que les volumes soient mis a jour il y a une commande a passer

Pour un disque précis

```bash
echo 1 > /sys/block/sda/device/rescan
```

Pour plusieurs disques

```bash
ls /sys/class/scsi_disk/ | while read disk ; do echo 1 > /sys/class/scsi_disk/$disk/device/rescan ; done
```

On peut maintenant observer que /dev/sda2 à été redimensionné

```bash
fdisk -l
/dev/sda2             1026048 251658239 250632192 119,5G 
```

### Agrandir un volume logique

Si l'étape précédente (Redimensionnement d'un volume physique à été correctement réalisé, en agrandissant le disque qui contient ce volume logique, il est très simple d'augmenter la taille d'un des volumes logiques.

Il faut cependant connaitre le nom du volume physique et la taille que l'on souhaite ajouter, ici 100 Go et il s'appelle vg

```bash
lvresize --resizefs --size +100G /dev/mapper/vg
```

Pour vérifier, il suffit de lancer un df-h, et voici le résultat le volume faisait 5Go et il a augmenté a 105 Go

```bash
Sys. de fichiers     Taille Utilisé Dispo Uti% Monté sur
/dev/mapper/vg        105G    788M  105G   1% /home
```

```bash
pvresize nom du volume
```

#### Ajouter plusieurs disque dans un volume logique

Ajoute le disque physique dans le volume choisi

```
vgextend nom_du_volume /dev/sdx
```

### Réduire un volume logique

Pour réduire un volume logique, ce n'est pas beaucoup plus compliqué

```bash
lvreduce -L 50G -v /dev/mapper/vg
```

### Vérification de l'intégrité des disques

#### Smartmontools

Installation de smartmontools

```bash
apt install smartmontools
```

Vérifier la configuration de smart

```bash
less/etc/smartd.conf
```

Vérifier l'intégrité des disques

```bash
smartctl -t short /dev/disque

smartctl -H /dev/disque
```

#### Hdparm

Installation de HDParm

```bash
apt install hdparm
```

vérification de la capacité d'écriture des disques

```bash
hdparm -Tt /dev/mapper/disque
```

## Mise en situation

Client ébéniste

Fait lui même sa compta, ses devis, factures (sur un pc), il gère lui-même ses clients volume environ 50Go/an.

Chaque plan fait environ 1Go et il produit environ pour 1To de plans par mois.

Il veut simplifier son système en ayant:

- 2 machines numériques acceptant les plans numériques (autocad, sketchup) pour tournage (tour a bois)
- Une possibilité de faire valider les plans mis en production
- Un suivi de ses employés

Proposez une solution (stockage + backup)

### Solution

NAS + DD Externe + Sauvegarde (avec maintenance comprise)

#### Comparatif

1\) NAS

- Placement physique
- MAINTENANCE intégré /mois
- BACKUP Integré

2\) Cloud

- Dépendant de la connexion (temps de sauvegarde + remontage backup)
- localisation (RGPD)

3\) Nextcloud + serveur

- Infrastructure trop couteuse et trop complexe a mettre en place

## Sources

[https://tekatux.fr](https://tekatux.fr)

[https://www.linuxtricks.fr/wiki/mdadm-raid-logiciel-sous-linux](https://www.linuxtricks.fr/wiki/mdadm-raid-logiciel-sous-linux)

cmatrix (apt install cmatrix)