End of Week 1 - Day 4
This commit is contained in:
@@ -1,81 +1,85 @@
|
|||||||
# 02.2.2 Questionnaire + Correction sur La containérisation
|
# Exos
|
||||||
|
|
||||||
|
Les réponses entre guillements anglais "" sont des corrections.
|
||||||
|
|
||||||
|
## 02.2.2 Questionnaire + Correction sur La containérisation
|
||||||
|
|
||||||
1. La virtualisation classique embarque un noyau complet ainsi que les couches micro-logiciels et divers pilotes. Un conteneur n'embarque que la partie applicative et repose sur un noyau principal de la machine hôte
|
1. La virtualisation classique embarque un noyau complet ainsi que les couches micro-logiciels et divers pilotes. Un conteneur n'embarque que la partie applicative et repose sur un noyau principal de la machine hôte
|
||||||
2. LXC embarque des conteneurs complets, avec kernels, sorte de VM légèrement allégée et plus flexible. Docker conteneurise à l'ancienne
|
2. LXC embarque des conteneurs complets, avec kernels, sorte de VM légèrement allégée et plus flexible. Docker conteneurise à l'ancienne
|
||||||
3. KVM et
|
3. "cgroups et namespaces"
|
||||||
4. LXC, Virt-Manager (LibVirt) et
|
4. En dur : Librairie C, kernel linux supérieur à 3.8. Recommandé : libcap, libapparmor, libselinux, libseccomp, libgnutls, liblua, python3-dev
|
||||||
5.
|
5. libcap (to allow for capability drops), libapparmor (to set a different apparmor profile for the container), libselinux (to set a different selinux context for the container), libseccomp (to set a seccomp policy for the container), libgnutls (for various checksumming), liblua (for the LUA binding), python3-dev (for the python3 binding)
|
||||||
6. Non, Docker a son propre démon
|
6. Non, Docker a son propre démon
|
||||||
7. Une version désuette de
|
7. "Extension de LXC qui apporte des fonctions avancées comme gestion à distance et snapshot"
|
||||||
8. Oui. sudo lxc-copy avec l'option --snapshot
|
8. Oui. sudo lxc-copy avec l'option --snapshot / "lxc-snapshot"
|
||||||
9.
|
9. "lxc network attach-profile PROFIL RESEAU"
|
||||||
10.
|
10. lxc-cgroup -n NOM_CONTENEUR cpuset.cpus "0,1" #Limite l'usage du conteneur aux coeurs 0 et 1
|
||||||
11.
|
11. lxc-cgroup -n NOM_CONTENEUR memory.limit_in_bytes "8000" #Does 1MB
|
||||||
12.
|
12. "Oui, si le conteneur est éteint, en SCP via SSH"
|
||||||
13.
|
13. "Non, sauf avec des outils tiers pas très fiables"
|
||||||
14. /var/lib/lxc/
|
14. /var/lib/lxc/
|
||||||
15. /var/lib/lxc/NomDuConteneur/config
|
15. /var/lib/lxc/NomDuConteneur/config
|
||||||
|
|
||||||
# Infrastructure Avancée . 02.1.2 Virtualiser des machines
|
## Infrastructure Avancée . 02.1.2 Virtualiser des machines
|
||||||
|
|
||||||
1. Installer un système d'exploitation complet sans avoir à géré l'hébergement machine par machine
|
1. Installer un système d'exploitation complet sans avoir à gérer l'hébergement machine par machine "et isolée du système"
|
||||||
2. Virtualisation complète, conteneurisation, émulation
|
2. Virtualisation complète, "para-virtualisation, et isolation"
|
||||||
3. Ca dépend de ce qu'on recherche. Maintenant la plus "perfomante" au sens gourmandise matérielle, c'est la conteneurisation
|
3. Ca dépend de ce qu'on recherche. Maintenant la plus "perfomante" au sens gourmandise matérielle, c'est la conteneurisation
|
||||||
4. Virtualiser c'est porter un SE sur une grosse bécane. Emulation c'est "convertir" une architecture matérielle (processeur) en temps réel pour l'adapter à une autre archi
|
4. Virtualiser c'est porter un SE sur une grosse bécane. Emulation c'est "convertir" une architecture matérielle (processeur) pour l'adapter à une autre archi
|
||||||
5. Le mieux c'est une couche d'abstraction genre QEMU pour émuler
|
5. Le mieux c'est une couche d'abstraction genre QEMU pour émuler
|
||||||
6. Mode NAT configuré en sortie routeur (plus standard), mode pont (plus simple), mode Switch interne derrière un VLAN/routeur (plus sécurisé)
|
6. Mode NAT configuré en sortie routeur (plus standard), mode pont (plus simple), mode Switch interne derrière un VLAN/routeur (plus sécurisé)
|
||||||
7. Oracle c'est gratuit mais limité si on veut professionnaliser l'infra. VMWare c'est payant et devenu de la merde
|
7. Oracle c'est gratuit mais limité si on veut professionnaliser l'infra. VMWare c'est payant et devenu de la merde
|
||||||
8. KVM
|
8. "virsh (virtual shell)"
|
||||||
9.
|
9. "Le groupe Virtualization Host"
|
||||||
10.
|
10. "vboxdrv, solution obsoilète"
|
||||||
11. Lance une VM avec KVM activé, le disque virtuel "ubuntudisquedur" attaché, une image .iso d'ubuntu en option de boot principale, avec deux interfaces réseaux et pas d'option ACPI
|
11. Lance une VM avec KVM activé, le disque virtuel 'ubuntudisquedur' attaché, une image .iso d'ubuntu en option de boot principale, "1024MB de RAM," avec deux interfaces réseaux et pas d'option ACPI
|
||||||
12. vboxmanage
|
12. vboxmanage
|
||||||
13. gérer plus nativement des déploiements de VM par script sur des serveurs neufs et sans paquets installés
|
13. Gérer plus nativement des déploiements de VM par script sur des serveurs neufs et sans paquets installés / "contrôle total au plus bas-niveau possible"
|
||||||
14. COW
|
14. "RAW"
|
||||||
15. QCOW2
|
15. QCOW2
|
||||||
16. Oui mais c'est chaud
|
16. Oui mais c'est chaud
|
||||||
17. Oui, avec qemu-img convert
|
17. Oui, avec qemu-img convert
|
||||||
18.
|
18. "cpu-checker"
|
||||||
19.
|
19. "kvm-ok"
|
||||||
20.
|
20. "Xen, VMWare, Hyper-V"
|
||||||
21. Hyper-V
|
21. Hyper-V
|
||||||
22. Hyperviseur de type 1 (et pas 2 comme on pourrait le croire)
|
22. Hyperviseur de type 1 (et pas 2 comme on pourrait le croire)
|
||||||
23. ESXi c'est du type 1 bare-metal, Workstation du type 2
|
23. ESXi c'est du type 1 bare-metal, Workstation du type 2
|
||||||
24.
|
24. "Oui, ESXi est compatible AMD et ARM"
|
||||||
25.
|
25. "Client graphique permettant la gestion d'un seul hôte ESXi"
|
||||||
26. Passthrough
|
26. Passthrough
|
||||||
27. Hyperviseur type 1 basé sur un Debian fortement modifié, open-source et gratuit
|
27. Hyperviseur type 1 basé sur un Debian fortement modifié, open-source et gratuit
|
||||||
28. .vhdx, historiquement .vhd
|
28. .vhdx, historiquement .vhd
|
||||||
29. Ouaiiiiiiiiiis
|
29. "Non"
|
||||||
30.
|
30. "On peut utiliser Linux Virtual Manager (interface bureau), ou Cockpit (interface web)"
|
||||||
|
|
||||||
# Questionnaire 02. Les différents types d_infrastructure avancées
|
## Questionnaire 02. Les différents types d_infrastructure avancées
|
||||||
|
|
||||||
1. Spine-Leaf,
|
1. "Centralisée (tout le contenu au même endroit), distribuée (), hybride ()."
|
||||||
2. Infra hybride
|
2. "Infra distribuée"
|
||||||
3. Les +, de la résilience, les -, des configs en plus à faire pour rester en sécurité
|
3. Les +, de la résilience, les -, des configs en plus à faire pour rester en sécurité
|
||||||
4.
|
4. "La couche leaf"
|
||||||
5.
|
5. "Elle est évolutive et permet une communication de paquet très rapide, ce qui est idéal pour une infrastructure centralisée/un datacenter"
|
||||||
6.
|
6. "Le middleware est un logiciel intermédiaire se trouvant entre client lourd et machine finale. Il peut se trouver sur une machine client ou intermédiaire dédiée, ou même le serveur final, et parfois sur les trois."
|
||||||
7. Network Access Storage. En anglais dans le texte
|
7. Network Access Storage. En anglais dans le texte
|
||||||
8. Non. Sécurité + RGPD
|
8. Non. Sécurité + RGPD
|
||||||
9.
|
9. "Unité de stockage à distance, 'Logicial Unit in Network' car n'importe quelle techno peut se cacher derrière."
|
||||||
10. SAN, Storage Area Network
|
10. SAN, Storage Area Network
|
||||||
11.
|
11. "On utilise le nom de 'fabric'"
|
||||||
12. Bah, pas forcément... si les données doivent être cloisonnées, c'est un usage pertinent. Au pire on peut ouvrir le SAN pour plus de ressources si besoin
|
12. Bah, pas forcément... si les données doivent être cloisonnées, c'est un usage pertinent. Au pire on peut ouvrir le SAN pour plus de ressources si besoin
|
||||||
13. Moins de latence, moins de déconnexions = moins de corruption dans les transferts
|
13. Moins de latence, moins de déconnexions = moins de corruption dans les transferts
|
||||||
14.
|
14. "Couche coeur réseau, couche Agrégation, couche Accès"
|
||||||
15.
|
15. "Le trafic ne va plus être optimisé et devra passer par plus d'appareils qu'il était autrefois nécessaire"
|
||||||
|
|
||||||
# Questionnaire et correction 01. Introductions aux Infrastructures Avancées
|
## Questionnaire et correction 01. Introductions aux Infrastructures Avancées
|
||||||
|
|
||||||
1. ??? Genre l'archi AMD64, les transistors nanométriques, le PCI-E génération 5, la fibre optique, le protocole Wireguard... comment ça ?
|
1. ??? Genre l'archi AMD64, les transistors nanométriques, le PCI-E génération 5, la fibre optique, le protocole Wireguard... comment ça ?
|
||||||
2. ?????? et bien, multiplier la résilience, les facilités de déploiement, réduire les besoins en gestion matérielle... comment ça ?
|
2. ?????? et bien, multiplier la résilience, les facilités de déploiement, réduire les besoins en gestion matérielle... comment ça ?
|
||||||
3. ????????? Gain de productivité à gérer un seul hébergeur, centralisation des factures, interconnexion facilitées dans un VPC donné... comment ça ?
|
3. ????????? Gain de productivité à gérer un seul hébergeur, centralisation des factures, interconnexion facilitées dans un VPC donné... comment ça ?
|
||||||
4. Le public veut moins attendre et pardonne moins les interruptions de service
|
4. Le public veut moins attendre et pardonne moins les interruptions de service
|
||||||
5. Méthode 1,2,3 et ensuite avoir des CDN locaux réduit la latence en régional
|
5. Méthode 1,2,3 et ensuite avoir des CDN locaux réduit la latence en régional
|
||||||
6. Bah, la nôtre. C'est encore en usage
|
6. "Années 50-60"
|
||||||
7. Bah encore maintenant, surtout en TPE/PME. Même en ETI
|
7. "Années 80"
|
||||||
8. Plutôt notre décennie cette fois. Le on-premise disparaît peu à peu face aux envies de "couper les coûts" en virant les admin sys maison
|
8. "Années 2000"
|
||||||
9. La prince elle a dit que le stockage, maintenant, ça coûte pas cher
|
9. La prince elle a dit que le stockage, maintenant, ça coûte pas cher
|
||||||
10.
|
10. "Le fait de place les données d'un SI au plus proche du client, à l'extrémité du réseau étendu"
|
||||||
253
Semaine_01/Jour_03.md
Normal file
253
Semaine_01/Jour_03.md
Normal file
@@ -0,0 +1,253 @@
|
|||||||
|
# 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
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user