253 lines
5.3 KiB
Markdown
253 lines
5.3 KiB
Markdown
# Infra avancée
|
|
|
|
## Cours 1
|
|
|
|
Redimensionner une partition sur Linux
|
|
|
|
```
|
|
# Pour EXT2/3/4
|
|
sudo resize2fs
|
|
# Pour XFS
|
|
sudo xfs_growfs
|
|
```
|
|
|
|
Traiter les disques sur MDADM
|
|
```
|
|
# Déclarer disque défectueux
|
|
sudo mdadm --fail /dev/
|
|
# Le retirer
|
|
sudo mdadm --remove /dev/
|
|
# Le rajouter
|
|
sudo mdadm --add /dev/mdx /dev/sdx # AJout comme Hot-Spare
|
|
```
|
|
|
|
Pour enlever les traces du raid :
|
|
|
|
```
|
|
sudo mdadm --zero-superblock /dev/sdx
|
|
```
|
|
|
|
## Exercice 1
|
|
|
|
Tuto parfait : https://ruan.dev/blog/2022/06/29/create-a-raid5-array-with-mdadm-on-linux
|
|
|
|
```
|
|
sudo apt install mdadm -y
|
|
|
|
lsblk
|
|
> sde, sdg, sdh
|
|
|
|
fdisk /dev/sdx
|
|
n # ajouter une -n-ouvelle partition
|
|
p # partition -p-rimaire
|
|
1 # index de la partition
|
|
[default] # bloc de début
|
|
[default] # bloc de fin
|
|
|
|
t # modifier le -t-ype d'une partition
|
|
L # -l-iste tous les codes hexa
|
|
fd # RAID Linux auto
|
|
|
|
w # écrire (-w-rite) la table sur le disque et quitter
|
|
|
|
sudo mdadm --create /dev/md127 --level=5 --raid-devices=3 /dev/sde1 /dev/sdg1 /dev/sdh1
|
|
|
|
mkfs.ext4 /dev/md127
|
|
|
|
sudo mount /dev/md127 /mnt
|
|
```
|
|
|
|
Eteindre, ajouter un disque, étendre la partition
|
|
```
|
|
lsblk
|
|
> sdh
|
|
|
|
fdisk /dev/sdh
|
|
n
|
|
p
|
|
1
|
|
[default]
|
|
[default]
|
|
|
|
t
|
|
fd
|
|
|
|
w
|
|
|
|
sudo mdadm --add /dev/md127 /dev/sdh1
|
|
|
|
sudo mdadm --detail /dev/md127
|
|
> Active Devices : 3
|
|
> Working Devices : 4
|
|
> Spare Devices : 1
|
|
|
|
sudo mdadm --add /dev/md127 --raid-devices=4
|
|
|
|
sudo mdadm --detail /dev/md127
|
|
> Active Devices : 4
|
|
> Working Devices : 4
|
|
> Spare Devices : 0
|
|
|
|
sudo e2fsck -f /dev/md127
|
|
|
|
sudo resize2fs /dev/md127
|
|
|
|
sudo mount /dev/md127 /mnt/sauvegarde
|
|
|
|
df -h /mnt/sauvegarde
|
|
> Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur
|
|
> /dev/md127 3,0G 28K 2,8G 1% /mnt/sauvegarde
|
|
```
|
|
|
|
## Cours 2
|
|
|
|
### LVM
|
|
|
|
Créer volume LVM depuis disque physique
|
|
|
|
```
|
|
pvcreate /DEVICE1 /DEVICE2 /DEVICE3
|
|
|
|
# Intégrer ces volumes à un groupe de volume
|
|
vgcreate NOM_DU_VG /DEVICE1 /DEVICE2
|
|
|
|
# On découpe ces volumes
|
|
lvcreate -l TAILLE -n NOM_DU_LV NOM_DU_VG
|
|
```
|
|
|
|
VG et LV peuvent être accessibles par plusieurs chemins
|
|
|
|
`/dev/mapper/`
|
|
|
|
Identifier LV ou VG
|
|
|
|
```
|
|
# Identifier LV ou VG
|
|
sudo lvdisplay vgdisplay
|
|
|
|
sudo lvremove
|
|
|
|
sudo
|
|
```
|
|
|
|
Etendre VG
|
|
|
|
```
|
|
sudo vgdisplay
|
|
|
|
sudo vgextend NOM_DU_VG/PV_SUPPLEMENTAIRE
|
|
|
|
# Pour tester
|
|
|
|
```
|
|
|
|
Identifier le LV à étendre
|
|
|
|
```
|
|
sudo lvdisplay
|
|
|
|
sudo lvextend MON_VG/NOM_DU_LV /PV_SUPPLEMENTAIRE
|
|
|
|
# Option pour donner une taille délimitée
|
|
sudo lvextend -L +00M
|
|
```
|
|
|
|
Il faut redimensionner à chaud après l'extension avec `--resizefs` à chaud, toucher à un LV ne change pas la taille du système de fichiers.
|
|
|
|
Réduire un VG
|
|
|
|
```
|
|
sudo vgdisplay
|
|
|
|
sudo
|
|
```
|
|
|
|
## Exercice 2
|
|
|
|
### Partie 1
|
|
|
|
A créer, avec chacun deux disques :
|
|
```
|
|
Nom MD Taille Type FS Nom VL1-nom VL1-taille VL1-mnt VL2-nom VL2-taille VL2-mnt
|
|
------------------------------------------------------------------------------------------------------
|
|
/dev/md123 2GO RAID1 btrfs "Production" "Current" 50% /mnt/prod/Current - - -
|
|
/dev/md124 2GO RAID1 XFS "Sauvegarde" "Current" 100% /mnt/sauv/current - - -
|
|
/dev/md125 2GO RAID1 EXT4 "Développement" "x86_64" 60% /mnt/dev/x86_64 "ARM" 40% /mnt/dev/arm
|
|
/dev/md126 2GO RAID1 EXT4 "Laboratoire" "Current" 100% /mnt/labo/current - -
|
|
```
|
|
|
|
Maintenant on colle les ressources.
|
|
|
|
Pour attribuer des % de taille aux LV :
|
|
`sudo lvcreate -l 100%FREE # Toute la place restante`
|
|
`sudo lvcreate -l 50%VG # 50% de la taille totale du VG`
|
|
`sudo lvcreate -l 30%FREE # 30% de la place restante ACTUELLE`
|
|
|
|
-
|
|
```
|
|
sudo mdadm --create /dev/md12x --level=1/0 --raid-devices=2 /dev/sdx1 /dev/sdy1
|
|
|
|
sudo pvcreate /dev/md123
|
|
sudo vgcreate Production /dev/md123
|
|
sudo lvcreate -l 50%VG -n Current Production
|
|
|
|
sudo pvcreate /dev/md124
|
|
sudo vgcreate Sauvegarde /dev/md124
|
|
sudo lvcreate -l 100%VG -n Current Sauvegarde
|
|
|
|
sudo pvcreate /dev/md125
|
|
sudo vgcreate Developpement /dev/md125
|
|
sudo lvcreate -l 60%VG -n x86_64 Developpement
|
|
sudo lvcreate -l 100%FREE -n ARM Developpement
|
|
|
|
sudo pvcreate /dev/md126
|
|
sudo vgcreate Laboratoire /dev/md126
|
|
sudo lvcreate -l 100%VG -n Current Laboratoire
|
|
|
|
sudo lvs -o lv_name,vg_name,lv_size,attr
|
|
|
|
sudo mkfs.btrfs /dev/mapper/Production-Current
|
|
sudo mkfs.xfs /dev/mapper/Sauvegarde-Current
|
|
sudo mkfs.ext4 /dev/mapper/Developpement-x86_64
|
|
sudo mkfs.ext4 /dev/mapper/Developpement-ARM
|
|
sudo mkfs.ext4 /dev/mapper/Laboratoire-Current
|
|
|
|
sudo mount /dev/mapper/Production-Current /mnt/prod/current
|
|
sudo mount /dev/mapper/Sauvegarde-Current /mnt/sauv/current
|
|
sudo mount /dev/mapper/Developpement-x86_64 /mnt/dev/x86_64
|
|
sudo mount /dev/mapper/Developpement-ARM /mnt/dev/arm
|
|
sudo mount /dev/mapper/Laboratoire-Current /mnt/labo/current
|
|
```
|
|
|
|
### Partie 2
|
|
|
|
```
|
|
sudo mdadm --manage /dev/md123 --fail /dev/sdh
|
|
|
|
sudo mdadm --manage /dev/md123 --remove /dev/sdh
|
|
|
|
sgdisk -Z /dev/sdi
|
|
sgdisk -n1:0:0 -t1:fd00 /dev/sdi
|
|
|
|
mdadm --manage /dev/md123 --add /dev/sdq
|
|
```
|
|
|
|
### Partie 3
|
|
|
|
```
|
|
sudo mdadm --add /dev/md126 /dev/sdi
|
|
|
|
sudo mdadm --grow /dev/md126 --raid-devices=3
|
|
|
|
sudo pvresize /dev/md126
|
|
|
|
sudo lvextend -l +100%FREE /dev/mapper/Laboratoire-Current
|
|
|
|
sudo resize2fs /dev/mapper/Laboratoire-Current
|
|
```
|
|
|
|
### Partie 4
|
|
|
|
```
|
|
sudo mdadm --add /dev/md123 /dev/sdj
|
|
``` |