# Administration des systèmes d'exploitations
## TP1 - TP filesystem
sur feuille
## TP2 - RAID et LVM
### Cours : RAID
#### RAID : Redondant Array og independent Disks
* RAID 0 : pas de redondance, accélération car disques multiples, meilleure performance par multiplication d'accès disque ()
* RAID 1 : 
* fiabilisation
Avantages : rapide et iable
Inconvénients : plus cher
* RAID 2/3/4 : on s'en branle
* RAID 5 :
### RAID 5
Technologie de sécurisation des données permettant une
récupération en cas de perte de l’un des disques.
Avantage du Raid 5 :
- Les données sont sécurisées grâce à les partitions de parités qui sont sur les autres disques
Inconvénient du Raid 5 :
- On perd l'équivalent d'un disque de stockage dans notre grappe de disque.
Installer un RAID 5 :
Pré-requis : paquet "mdadm" permettant de gérer les périphériques Raid logiciel.
* commande fdisk « chemin du disque », la partition créée est une nouvelle partition primaire de type « fd » (système de fichier du RAID) qui prend tout l’espace du disque.
* `« mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1 ».`
Cette commande permet de créer un appareil raid de niveau 5 que l’on appellera md0 qui gère les disques de la grappe RAID 5.
### TUTO LVM
Partition primaire : partition gérer par le BIOS
Partition logique : partition rajhouté à la partition
monter des bricks (regrouper les disques dur)
VG : Volume Groupe
PV : Physical Volume
LV : Logical Volume
VG(LV(PV))
Partitionage des disques :
* pvcreate /dev/sdb
#pvs : regarder la liste des PV
* vgcreate vgsdb /dev/sdb
#vgs : voir la liste des vg
* lvcreate -n lvsdb -l 100%VG vgsdb
#lvs
ls /dev/mapper pour voir
kp
Mise en place d’un système de fichier sur les disques (XFS)
mkfs.xfs /dev/vgsdb/lvsdb
* Monter les disques : répertoire à partir duquel sont accessibles les données se trouvant sous forme de partition de disque dur.
* `mount /dev/vgsdb/lvsdb /brick/bricks1`
*Mise en place définitive du montage des disk dans le fichier fstab :
*`/dev/vgsdb/lvsdb /srv/brick/sdb xfs defaults 1 1`
Le point de démontage se trouve sur /srv/brick/sdb
Commande de visualisation des pv, vg :
`pvdisplay, pvs, vgdisplay, vgs`
#### Intérêt de LVM, pouvoir redimensionner,agrandir ou réduire un volume logique
On peut le "resize2fs"
```
connexion en root root -> "exit" "exit" login : root mdp : root
umount /home
e2fsck /dev/mapper/vg-0-lv--home
resize2fs /dev/mapper/vg-o-lv--home 4GO
visulisation avec lvdisplay ou lvs
```
On peut le réduire ou l'augmenter avec "lvresize"
lvresize -L -XXG /dev/vg0/lv-home
/!\ -XXG ou +XXG en fonction de l'espace libre
"vg0/lv-gome succesfully resized"
#### On peut aussi rajouter un nouveau disque dans la grappe LVM
formatage : fdisk "/dev/nouveau disque"
```
dans la console fdisk "d" à répétition jusqu'a ce qu'il n'y est plus rien
puis n
```
partionnement : fdisk "/dev/nouveau disque" toujours
pvcreate /dev/"nouveau disque"
vgextend vg-0 /dev/"nouveau disque"
lvcreate -L 200G vg0 -n lv-usr2
mkfs.ext4 /dev/vg-0/lv-usr2
### Boot et séquence d'amorçage
Etape dangereuse au démarrage la machine est vulnérable
Au démarrage, le Basic Input/Ouput System - BIOS propose un interface avec le matériel propre au IBM PC compatible (architecture x86) -
inconvénients :
capacité ultra limité de la machine
4 partitions primaire max pour le BIOS
Alternative : Boot Unified Extensible Firwmare Interface -UEFI est conçu pour remplacer le BIOS d'un PC.
Il propose une gestion d'un plus grand nombre de partition en mode GPT, une fonctions réseaux, wifi et un mode graphique avancé et une sécurisation avec la **signature du bootloader**
#### Démarrage du BIOS
Au démarrage, le BIOS s'éxécute et entame une vérification du matériel à l'aide d'un mini "processeur" plus un micro controleur
Il dérermine le périphérique de démarrage suivant la séquence choisie et charge ensuite le bootstrap (bloc de boot) à partir de ce périphérique (512 octets) et le lance. On l'appelle le chargeur de premier niveau
Dans ces 512 octets, il y a du code éxécutable qui renvoie vers un second système que l'on appelle le second chargeur. Ce chargeur sait gérér les partitions, sait charger des modules complémentaires etc et de lancer l'installation de l'OS
## TP3 (Séquence 4) - début du travail sur le kit
### Rappel IPV4
@réseau IPV4 en 32 bits = @réseau +@locale = 32 -[log(N+2)]
Netmask en binaire ( c'est chiant)
http://cric.grenoble.cnrs.fr/Administrateurs/Outils/CalculMasque/
*10.1.21.0* **/25** = 1111 1111 ....11 1000 0000
25 | 32-25
soit le masque 255.255.255.128
Comparaison :
Adresse réseau = IP & mask
Adresse destination = IPdest & mask
Si c'est égale, alors ils appartiennent au même réseau et on "forge" le paquet réseau ~ envoyé le paquet le paquet en **réseau local **
Si c'est pas égale , on envoie à la **gateway** qui peut être une adresse au hasard hors celle de réseau et de broadcast
Mais bon, on sait tous qu'on utilise soit la .1 ou la .254, on est pas des animaux merde
#### Exercices pastille 4.2 :
1) Parc de 85 machines, quel est la taille du réseau
85+2 = machines + adresse réseau + broadcast
log[87]= 6.XXXX = 7
2^7=128 donc /25
2) addresse 10.0.1.169/25, déduire l'addresse du reseau
10.0.1.169
&
255.255.255.128
adresse du réseau :
10.0.1.128
3) 180 machines
180+2 -> log[182]~ 8 donc /24
193.49.184.0 /24 par exemple (addresse IP comprise dans le masque)
4) 1000 machines
1002 -> log[1002] ~ /22
5.6.4.7.8
255.255.252.0
@reseau = 5.6.4.0 car
252 = 11111100
7 = 00000111
252&7=00000100
### TP installation du kit
https://wassimzarrou.wixsite.com/portfolio/
Schéma du projet Wassim Aurélien Corentin
#### Sèance 1 : installation du Shuttle - config réseau et DHCP
cablage - accès au FOG en PXE

##### Installation de debian 9 avec partition LVM
utilisateur root : bernardtapis
mot de passe root : bernardtapis
utilisateur : babouche
mot de passe bernardtapis
##### Création de partition LVM - 128Go
5G root
40% home
10% tmp - noatime, nodirtime
20% var
20% usr
10% swap
##### Config réseau
port intégré : enp1s0
port usb/ethernet : enx005b062184b1 (oskour nom de merde)
nano /etc/network/interfaces
```
auto lo
auto enp0s1
iface enp0s1 inet dhcp
auto enx...
iface enx... inet static
address 10.0.2.1
netmask 255.255.255.238
network 10.0.2.0
gateway 10.0.2.1
```
systemctl networking restart
##### Installation du paquet
```
apt-get install isc-dhcp-server
```
##### Config DHCP sur la plague sur le shuttle
fichier /etc/default/isc-dhcp-server
`INTERFACESv4="enx...sfw"`
fichier /etc/dhcp/dhcpd.conf
Sur le shuttle
```
subnet 10.0.2.0 netmask 255.255.255.248 {
range 10.0.2.2 10.0.2.6;
option subnet-mask 255.255.255.248;
option broadcast-address 10.0.2.7;
option routers 10.0.2.1
default-lease-time 600;
max-lease-time 7200;
}
```
systemctl restart isc-dhcp-server
#### Sèance 2 : suite de l'installation du shuttle avec DHCP et mise en place des raspberry PI
##### Raspberry PI3
Raspberry 1 : DHCP, machine IP fixe
Raspberry 2 : partage de fichier NFS
Architecture NFS Client / serveur :
Serveur : service nfsd avec les dossiers exportés dans /etc/exports
Client : mount -t nfs serveur:/... /home avec un montage automatique dans /etc/fstab
/!\ L'architecture NFS n'embarque pas de notion d'utilisateur
Raspberry 3 : logs
##### Récupération de l'ISO raspbian sur le shuttle
#wget https://raspberry-pi.fr/download/raspbian_lite_latest.zip
#apt-get install zip & unzip
Avec la clé SHA-1 du site, vérifiez l'intégrité du fichier
md5sum mais osef
#dd if=image.img of=/dev/mcb1k0 (périphérique physique)
Finalement on a flashouillé sur Windows mdr
##### Rennomage de l'interface réseau nul
créer un fichier /etc/udev/rules.d/70-persistent-ifname.rules
et renseigner :
` SUBSYSTEM=="net", DRIVERS=="?*",ATTR{address}=="ba:51:63:84:09:f1", NAME="eth1" `
Reboot
ABANDON
##### Récup des @IP des PI sur le fichier /var/lib/dhcp/dhcpd.leases
/!\ DEMARRAGE DHCP REQUIS /!\ C bugé
IP 1 : 10.0.2.2 - Raspberry numéro 4 - DHCP
IP 2 : 10.0.2.3 - IP Constante réservé par DHCP -RASPBERRY SANS NUMERO
IP 3 : 10.0.2.4 - IP Constante réservé par DHCP -Rasberry numéro 3
##### Connexion sur les raspberry
ssh pi@10.0.2.2
password : raspberry
Switch entre deux sessions : bouton Windows F2
Bonus : renommage des machines /etc/hostanme
##### Mise en IP fixe de la PI 10.0.2.2
modification du fichier /etc/network/interfaces.d sur la PI .2.2
```
iface eth0 inet static
address 10.0.2.2
netmask 255.255.255.248
network 10.0.2.0
broadcast 10.0.2.7
gateway 10.0.2.1
```
Sur le serveur DHCP Shuttle
dans etc/dhcp/dhcpd.conf
```
subnet 10.0.2.0 netmask 255.255.255.248 {
range 10.0.2.2 10.0.2.6;
option subnet-mask 255.255.255.248;
option broadcast-address 10.0.2.7;
option routers 10.0.2.1
default-lease-time 600;
max-lease-time 7200;
host piDHCP {
hardware ethernet b8:27:eb:4d:d6:ab;
fixed-address 10.0.2.2
}
}
```
##### Accès à l'extérieur pour donwload des paquets (ajout de gateway)
#nano /etc/systemctl
et mettre la variable net.ipv4.ip_forward= 1
Commande de translation d'adresses
#apt-get install iptables-persistent
#iptables-t nat -A POSTROUTING -s 10.0.2.0/28 -j MASQUERADE
#iptables-save
Dans la config DNS /etc/dhcp/dhcpd.conf, ajoutez le DNS de la fac
dans etc/dhcp/dhcpd.conf
```
subnet 10.0.2.0 netmask 255.255.255.248 {
range 10.0.2.2 10.0.2.6;
option subnet-mask 255.255.255.248;
option broadcast-address 10.0.2.7;
option routers 10.0.2.1
default-lease-time 600;
max-lease-time 7200;
options domain-name-servers 193.49.184.5;
host piDHCP {
hardware ethernet b8:27:eb:4d:d6:ab;
fixed-address 10.0.2.2
}
}
```