---
# System prepended metadata

title: Administration des systèmes d'exploitations

---

# 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 : ![](https://i.imgur.com/HsMsKpa.png)
 
* 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 

![](https://i.imgur.com/C1IuywY.png)

##### 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
    }
}
```
 
 

 
