Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:centos:8:avance:l101 [2021/07/13 15:00] adminelearning:workbooks:centos:8:avance:l101 [2022/05/02 08:14] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-Version : **2021.01**+Version : **2022.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
Ligne 11: Ligne 11:
   * **LCF601 - Gestion des Paramètres et les Ressources du Matériel**   * **LCF601 - Gestion des Paramètres et les Ressources du Matériel**
     * Contenu du Module     * Contenu du Module
-    * Fichiers Spéciaux  +    * Présentation des Fichiers Spéciaux  
-    * Commandes +    * LAB #1 - Commandes 
-      * La Commande lspci +      * 1.1 - La Commande lspci 
-      * La Commande lsusb +      * 1.2 - La Commande lsusb 
-      * La Commande dmidecode +      * 1.3 - La Commande dmidecode 
-    * Répertoire /proc +    * LAB #2 - La Commande sysctl 
-      * Répertoires +      * 2.1 - Répertoire /proc 
-        * ide/scsi +        * Fichiers 
-        * acpi +          * Processeur 
-        * bus +          * Interruptions système 
-        * net +          * Canaux DMA 
-        * sys +          * Plages d'entrée/sortie 
-        * La Commande sysctl +          * Périphériques 
-      * Fichiers +          * Modules 
-        * Processeur +          * Statistiques de l'utilisation des disques 
-        * Interruptions système +          * Partitions 
-        * Canaux DMA +          * Espaces de pagination 
-        * Plages d'entrée/sortie +          * Statistiques d'utilisation du processeur 
-        * Périphériques +          * Statistiques d'utilisation de la mémoire 
-        * Modules +          * Version du noyau 
-        * Statistiques de l'utilisation des disques +        * Répertoires 
-        * Partitions +          * ide/scsi 
-        * Espaces de pagination +          * acpi 
-        * Statistiques d'utilisation du processeur +          * bus 
-        * Statistiques d'utilisation de la mémoire +          * net 
-        * Version du noyau +          * sys 
-      * Interprétation des informations dans /proc +      * 2.2 - Utilisation de la Commande sysctl        
-        * Commandes +    * LAB #3 - Interprétation des informations dans /proc 
-          * free +      3.1 - free 
-          * uptime ou w  +      3.2 - uptime ou w  
-          * iostat +      3.3 - iostat 
-          * hdparm +      3.4 - hdparm 
-          * vmstat +      3.5 - vmstat 
-          * mpstat +      3.6 - mpstat 
-          * sar +      3.7 - sar
-          * collectd+
     * Modules usb     * Modules usb
     * udev     * udev
       * La Commande udevadm       * La Commande udevadm
     * Système de fichiers /sys     * Système de fichiers /sys
-    * Limiter les Ressources +    * LAB #4 - Limiter les Ressources 
-      * ulimit +      * 4.1 - ulimit 
-      * Groupes de Contrôle +      * 4.2 - Groupes de Contrôle 
-        * LAB #1 - Travailler avec les CGroups +        * La Limitation de la Mémoire 
-          * 1.1 - La Limitation de la Mémoire +        * La Commande cgcreate 
-          1.2 - La Commande cgcreate +        * La Commande cgdelete 
-          1.3 - La Commande cgdelete +        * Le Fichier /etc/cgconfig.conf 
-          1.4 - Le Fichier /etc/cgconfig.conf +        * La Commande cgconfigparser
-          1.5 - La Commande cgconfigparser+
  
-=====Fichiers Spéciaux=====+=====Présentation des Fichiers Spéciaux=====
  
 Dans l'ordinateur les périphériques sont reliés à un **contrôleur** qui communique avec le processeur à l'aide d'un **bus**. Le contrôleur ainsi que les périphériques nécessitent des pilotes. Sous Linux, les pilotes sont généralement fournis sous la forme d'un **module**. Chaque périphérique est représenté par un **fichier spécial** dans le répertoire **/dev** et c'est dans ce fichier que le système trouve les informations nécessaires pour s'adresser au pilote. Dans l'ordinateur les périphériques sont reliés à un **contrôleur** qui communique avec le processeur à l'aide d'un **bus**. Le contrôleur ainsi que les périphériques nécessitent des pilotes. Sous Linux, les pilotes sont généralement fournis sous la forme d'un **module**. Chaque périphérique est représenté par un **fichier spécial** dans le répertoire **/dev** et c'est dans ce fichier que le système trouve les informations nécessaires pour s'adresser au pilote.
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Les périphériques qui nécessitent à ce que l'ordinateur soit éteint afin des les brancher/débrancher sont appelés communément **Cold Plug Devices**. Les périphériques qui peuvent être brancher/débrancher à chaud sont appelés des **Hot Plug Devices**. **Important** : Les périphériques qui nécessitent à ce que l'ordinateur soit éteint afin des les brancher/débrancher sont appelés communément **Cold Plug Devices**. Les périphériques qui peuvent être brancher/débrancher à chaud sont appelés des **Hot Plug Devices**.
 </WRAP> </WRAP>
Ligne 132: Ligne 130:
   * le **mineur** identifie le périphérique ou une particularité du périphérique telle une partition d'un disque.   * le **mineur** identifie le périphérique ou une particularité du périphérique telle une partition d'un disque.
  
-=====Commandes=====+=====LAB #1 - Commandes=====
  
-====La Commande lspci====+====1.1 - La Commande lspci====
  
 Cette commande vous renseigne sur les adaptateurs reliés aux bus PCI, AGP et PCI express : Cette commande vous renseigne sur les adaptateurs reliés aux bus PCI, AGP et PCI express :
Ligne 238: Ligne 236:
 </code> </code>
  
-====La Commande lsusb====+====1.2 - La Commande lsusb====
  
 Cette commande vous renseigne sur les adaptateurs reliés au bus usb : Cette commande vous renseigne sur les adaptateurs reliés au bus usb :
Ligne 279: Ligne 277:
 </code> </code>
  
-====La Commande dmidecode====+====1.3 - La Commande dmidecode====
  
 La commande **dmidecode** lit la table **DMI** (//Desktop Management Interface//) aussi appelée **SMBIOS** (//System Management BIOS//) et fourni les informations sur : La commande **dmidecode** lit la table **DMI** (//Desktop Management Interface//) aussi appelée **SMBIOS** (//System Management BIOS//) et fourni les informations sur :
Ligne 462: Ligne 460:
 </code> </code>
  
-=====Répertoire /proc=====+=====LAB #2 - La commande sysctl===== 
 + 
 +====2.1 - Répertoire /proc====
  
 Le répertoire /proc contient des fichiers et des répertoires virtuels. Le contenu de ces fichiers est créé dynamiquement lors de la consultation. Seul root peut consulter la totalité des informations dans le répertoire /proc. Le répertoire /proc contient des fichiers et des répertoires virtuels. Le contenu de ces fichiers est créé dynamiquement lors de la consultation. Seul root peut consulter la totalité des informations dans le répertoire /proc.
Ligne 501: Ligne 501:
 </code> </code>
  
-====Répertoires==== +===Fichiers===
- +
-===ide/scsi=== +
- +
-Ce répertoire contient des répertoires dans lesquels se trouvent des informations sur la capacité, le type et la géométrie des disques. +
- +
-===acpi=== +
- +
-Ce répertoire contient des informations sur la gestion de l'énérgie, les températures, les vitesses de ventilateurs, la charge des batteries. +
- +
-===bus=== +
- +
-Ce répertoire contient un sous-répertoire par bus. +
- +
-===net=== +
- +
-Ce répertoire contient des informations sur le réseau. +
- +
-===sys=== +
- +
-Ce répertoire contient des paramètres du noyau. Certains des fichiers dans ce répertoire sont accessibles en écriture par root en temps réel. Par exemple pour éviter des attaques réseau **%%DoS%%** utilisant la commande **ping**, saisissez la commande suivante : +
- +
-  # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all [Entrée] +
- +
-Cette commande a pour résultat d'ignorer les reqûetes ping. +
- +
-==La commande sysctl== +
- +
-Les fichiers dans le répertoire **/proc/sys** peuvent être administrés par la commande **sysctl** en temps réel.  +
- +
-La commande **sysctl** applique les règles consignés dans le fichier **/etc/sysctl.conf** au démarrage de la machine. +
- +
-Saisissez la commande : +
- +
-<code> +
-[root@centos8 ~]# cat /etc/sysctl.conf +
-# sysctl settings are defined through files in +
-# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/+
-+
-# Vendors settings live in /usr/lib/sysctl.d/+
-# To override a whole file, create a new file with the same in +
-# /etc/sysctl.d/ and put new settings there. To override +
-# only specific settings, add a file with a lexically later +
-# name in /etc/sysctl.d/ and put new settings there. +
-+
-# For more information, see sysctl.conf(5) and sysctl.d(5). +
- +
-[root@centos8 ~]# ls -l /etc/sysctl.d/ +
-total 0 +
-lrwxrwxrwx. 1 root root 14 Mar 16 15:42 99-sysctl.conf -> ../sysctl.conf +
-[root@centos8 ~]# ls -l /usr/lib/sysctl.d/ +
-total 24 +
--rw-r--r--. 1 root root 1810 Dec 22  2020 10-default-yama-scope.conf +
--rw-r--r--. 1 root root  524 Mar 16 15:42 50-coredump.conf +
--rw-r--r--. 1 root root 1270 Mar 16 15:42 50-default.conf +
--rw-r--r--. 1 root root  246 Jun 15  2020 50-libkcapi-optmem_max.conf +
--rw-r--r--. 1 root root  636 Mar 16 15:42 50-pid-max.conf +
--rw-r--r--. 1 root root  499 Nov 26  2019 60-libvirtd.conf +
- +
-[root@centos8 ~]# cat /usr/lib/sysctl.d/50-default.conf  +
-#  This file is part of systemd. +
-+
-#  systemd is free software; you can redistribute it and/or modify it +
-#  under the terms of the GNU Lesser General Public License as published by +
-#  the Free Software Foundation; either version 2.1 of the License, or +
-#  (at your option) any later version. +
- +
-# See sysctl.d(5) and core(5) for documentation. +
- +
-# To override settings in this file, create a local file in /etc +
-# (e.g. /etc/sysctl.d/90-override.conf), and put any assignments +
-# there. +
- +
-# System Request functionality of the kernel (SYNC) +
-+
-# Use kernel.sysrq = 1 to allow all keys. +
-# See https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html for a list +
-# of values and keys. +
-kernel.sysrq = 16 +
- +
-# Append the PID to the core filename +
-kernel.core_uses_pid = 1 +
- +
-# https://bugzilla.redhat.com/show_bug.cgi?id=1689346 +
-kernel.kptr_restrict = 1 +
- +
-# Source route verification +
-net.ipv4.conf.all.rp_filter = 1 +
- +
-# Do not accept source routing +
-net.ipv4.conf.all.accept_source_route = 0 +
- +
-# Promote secondary addresses when the primary address is removed +
-net.ipv4.conf.all.promote_secondaries = 1 +
- +
-# Fair Queue CoDel packet scheduler to fight bufferbloat +
-net.core.default_qdisc = fq_codel +
- +
-# Enable hard and soft link protection +
-fs.protected_hardlinks = 1 +
-fs.protected_symlinks = 1 +
-</code> +
- +
-Les options de la commande **sysctl** sont : +
- +
-<code> +
-[root@centos8 ~]# sysctl --help +
- +
-Usage: +
- sysctl [options] [variable[=value] ...] +
- +
-Options: +
-  -a, --all            display all variables +
-  -A                   alias of -a +
-  -X                   alias of -a +
-      --deprecated     include deprecated parameters to listing +
-  -b, --binary         print value without new line +
-  -e, --ignore         ignore unknown variables errors +
-  -N, --names          print variable names without values +
-  -n, --values         print only values of the given variable(s) +
-  -p, --load[=<file> read values from file +
-  -f                   alias of -p +
-      --system         read values from all system directories +
-  -r, --pattern <expression> +
-                       select setting that match expression +
-  -q, --quiet          do not echo variable set +
-  -w, --write          enable writing a value to variable +
-  -o                   does nothing +
-  -x                   does nothing +
-  -d                   alias of -h +
- +
- -h, --help     display this help and exit +
- -V, --version  output version information and exit +
- +
-For more details see sysctl(8). +
-</code> +
- +
-<WRAP center round important> +
-**Important** : Consultez la page de la traduction du manuel de **sysctl** **[[http://www.delafond.org/traducmanfr/man/man8/sysctl.8.html|ici]]** pour comprendre la commande. +
-</WRAP> +
- +
-====Fichiers====+
  
-===Processeur===+==Processeur==
  
 <code> <code>
Ligne 865: Ligne 724:
 </code> </code>
  
-===Interruptions système===+==Interruptions système==
  
 <code> <code>
Ligne 907: Ligne 766:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Un pilote de périphérique demande au processeur de fournir un service en utilisant un IRQ. Quand la demande est faite, le processeur interrompe ses activités et passe le contrôle au pilote identifié par l'IRQ. Techniquement l'attribution d'un IRQ à un périphérique doit être exclusive. Dans le cas où deux périphériques demandent un service en même temps, c'est le périphérique ayant l'IRQ le plus bas qui est prioritaire. **Important** : Un pilote de périphérique demande au processeur de fournir un service en utilisant un IRQ. Quand la demande est faite, le processeur interrompe ses activités et passe le contrôle au pilote identifié par l'IRQ. Techniquement l'attribution d'un IRQ à un périphérique doit être exclusive. Dans le cas où deux périphériques demandent un service en même temps, c'est le périphérique ayant l'IRQ le plus bas qui est prioritaire.
 </WRAP>  </WRAP> 
  
-===Canaux DMA===+==Canaux DMA==
  
 <code> <code>
Ligne 918: Ligne 777:
 </code> </code>
  
-===Plages d'entrée/sortie===+==Plages d'entrée/sortie==
  
 <code> <code>
Ligne 950: Ligne 809:
 </WRAP> </WRAP>
  
-===Périphériques===+==Périphériques==
  
 <code> <code>
Ligne 1012: Ligne 871:
 </code> </code>
  
-===Modules===+==Modules==
  
 <code> <code>
Ligne 1040: Ligne 899:
 </code> </code>
  
-===Statistiques de l'utilisation  des disques===+==Statistiques de l'utilisation  des disques==
  
 <code> <code>
Ligne 1053: Ligne 912:
 </code> </code>
  
-===Partitions===+==Partitions==
  
 <code> <code>
Ligne 1068: Ligne 927:
 </code> </code>
  
-===Espaces de pagination===+==Espaces de pagination==
  
 <code> <code>
Ligne 1076: Ligne 935:
 </code> </code>
  
-===Statistiques d'utilisation du processeur===+==Statistiques d'utilisation du processeur==
  
 <code> <code>
Ligne 1083: Ligne 942:
 </code> </code>
  
-===Statistiques d'utilisation de la mémoire===+==Statistiques d'utilisation de la mémoire==
  
 <code> <code>
Ligne 1139: Ligne 998:
 </code> </code>
  
-===Version du noyau===+==Version du noyau==
  
 <code> <code>
Ligne 1146: Ligne 1005:
 </code> </code>
  
-===== Interprétation des informations dans /proc=====+===Répertoires==
 + 
 +==ide/scsi== 
 + 
 +Ce répertoire contient des répertoires dans lesquels se trouvent des informations sur la capacité, le type et la géométrie des disques. 
 + 
 +==acpi== 
 + 
 +Ce répertoire contient des informations sur la gestion de l'énérgie, les températures, les vitesses de ventilateurs, la charge des batteries. 
 + 
 +==bus== 
 + 
 +Ce répertoire contient un sous-répertoire par bus. 
 + 
 +==net== 
 + 
 +Ce répertoire contient des informations sur le réseau. 
 + 
 +==sys== 
 + 
 +Ce répertoire contient des paramètres du noyau. Certains des fichiers dans ce répertoire sont accessibles en écriture par root en temps réel. Par exemple pour éviter des attaques réseau **%%DoS%%** utilisant la commande **ping**, saisissez la commande suivante : 
 + 
 +  # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all [Entrée] 
 + 
 +Cette commande a pour résultat d'ignorer les reqûetes ping. 
 + 
 +====2.2 - Utilisation de la Commande sysctl==== 
 + 
 +Les fichiers dans le répertoire **/proc/sys** peuvent être administrés par la commande **sysctl** en temps réel.  
 + 
 +La commande **sysctl** applique les règles consignés dans le fichier **/etc/sysctl.conf** au démarrage de la machine. 
 + 
 +Saisissez la commande : 
 + 
 +<code> 
 +[root@centos8 ~]# cat /etc/sysctl.conf 
 +# sysctl settings are defined through files in 
 +# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/
 +
 +# Vendors settings live in /usr/lib/sysctl.d/
 +# To override a whole file, create a new file with the same in 
 +# /etc/sysctl.d/ and put new settings there. To override 
 +# only specific settings, add a file with a lexically later 
 +# name in /etc/sysctl.d/ and put new settings there. 
 +
 +# For more information, see sysctl.conf(5) and sysctl.d(5). 
 + 
 +[root@centos8 ~]# ls -l /etc/sysctl.d/ 
 +total 0 
 +lrwxrwxrwx. 1 root root 14 Mar 16 15:42 99-sysctl.conf -> ../sysctl.conf 
 +[root@centos8 ~]# ls -l /usr/lib/sysctl.d/ 
 +total 24 
 +-rw-r--r--. 1 root root 1810 Dec 22  2020 10-default-yama-scope.conf 
 +-rw-r--r--. 1 root root  524 Mar 16 15:42 50-coredump.conf 
 +-rw-r--r--. 1 root root 1270 Mar 16 15:42 50-default.conf 
 +-rw-r--r--. 1 root root  246 Jun 15  2020 50-libkcapi-optmem_max.conf 
 +-rw-r--r--. 1 root root  636 Mar 16 15:42 50-pid-max.conf 
 +-rw-r--r--. 1 root root  499 Nov 26  2019 60-libvirtd.conf 
 + 
 +[root@centos8 ~]# cat /usr/lib/sysctl.d/50-default.conf  
 +#  This file is part of systemd. 
 +
 +#  systemd is free software; you can redistribute it and/or modify it 
 +#  under the terms of the GNU Lesser General Public License as published by 
 +#  the Free Software Foundation; either version 2.1 of the License, or 
 +#  (at your option) any later version. 
 + 
 +# See sysctl.d(5) and core(5) for documentation. 
 + 
 +# To override settings in this file, create a local file in /etc 
 +# (e.g. /etc/sysctl.d/90-override.conf), and put any assignments 
 +# there. 
 + 
 +# System Request functionality of the kernel (SYNC) 
 +
 +# Use kernel.sysrq = 1 to allow all keys. 
 +# See https://www.kernel.org/doc/html/latest/admin-guide/sysrq.html for a list 
 +# of values and keys. 
 +kernel.sysrq = 16 
 + 
 +# Append the PID to the core filename 
 +kernel.core_uses_pid = 1 
 + 
 +# https://bugzilla.redhat.com/show_bug.cgi?id=1689346 
 +kernel.kptr_restrict = 1 
 + 
 +# Source route verification 
 +net.ipv4.conf.all.rp_filter = 1 
 + 
 +# Do not accept source routing 
 +net.ipv4.conf.all.accept_source_route = 0 
 + 
 +# Promote secondary addresses when the primary address is removed 
 +net.ipv4.conf.all.promote_secondaries = 1 
 + 
 +# Fair Queue CoDel packet scheduler to fight bufferbloat 
 +net.core.default_qdisc = fq_codel 
 + 
 +# Enable hard and soft link protection 
 +fs.protected_hardlinks = 1 
 +fs.protected_symlinks = 1 
 +</code> 
 + 
 +Les options de la commande **sysctl** sont : 
 + 
 +<code> 
 +[root@centos8 ~]# sysctl --help 
 + 
 +Usage: 
 + sysctl [options] [variable[=value] ...] 
 + 
 +Options: 
 +  -a, --all            display all variables 
 +  -A                   alias of -a 
 +  -X                   alias of -a 
 +      --deprecated     include deprecated parameters to listing 
 +  -b, --binary         print value without new line 
 +  -e, --ignore         ignore unknown variables errors 
 +  -N, --names          print variable names without values 
 +  -n, --values         print only values of the given variable(s) 
 +  -p, --load[=<file> read values from file 
 +  -f                   alias of -p 
 +      --system         read values from all system directories 
 +  -r, --pattern <expression> 
 +                       select setting that match expression 
 +  -q, --quiet          do not echo variable set 
 +  -w, --write          enable writing a value to variable 
 +  -o                   does nothing 
 +  -x                   does nothing 
 +  -d                   alias of -h 
 + 
 + -h, --help     display this help and exit 
 + -V, --version  output version information and exit 
 + 
 +For more details see sysctl(8). 
 +</code> 
 + 
 +<WRAP center round important 60%> 
 +**Important** : Consultez la page de la traduction du manuel de **sysctl** **[[http://www.delafond.org/traducmanfr/man/man8/sysctl.8.html|ici]]** pour comprendre la commande. 
 +</WRAP> 
 + 
 +=====LAB#3 - Interprétation des informations dans /proc=====
  
 Les informations brutes stockées dans /proc peuvent être interprétées grâce à l'utilisation des commandes dites de //gestion des performances// : Les informations brutes stockées dans /proc peuvent être interprétées grâce à l'utilisation des commandes dites de //gestion des performances// :
Ligne 1156: Ligne 1156:
   * vmstat,   * vmstat,
   * mpstat,   * mpstat,
-  * sar+  * sar.
-  * collectd.+
  
-====La Commande free====+====3.1 - La Commande free====
  
 La commande **free** permet de donner l’état de la mémoire totale, libre, partagée, swap et bufferisée. Saisissez donc la commande suivante : La commande **free** permet de donner l’état de la mémoire totale, libre, partagée, swap et bufferisée. Saisissez donc la commande suivante :
Ligne 1210: Ligne 1209:
 </code> </code>
  
-====Les Commandes uptime et w====+====3.2 - Les Commandes uptime et w====
  
 Chacune des ces commandes indique la charge moyenne du ou des processeurs depuis 1 minute, 5 minutes et 15 minutes : Chacune des ces commandes indique la charge moyenne du ou des processeurs depuis 1 minute, 5 minutes et 15 minutes :
Ligne 1267: Ligne 1266:
 </code> </code>
  
-====La Commande iostat====+====3.3 - La Commande iostat====
  
 La commande **iostat** affiche des statistiques sur l'utilisation des disques, des terminaux et des lecteurs de cartouche : La commande **iostat** affiche des statistiques sur l'utilisation des disques, des terminaux et des lecteurs de cartouche :
Ligne 1306: Ligne 1305:
 Au-dessous de la première ligne indiquant la version du noyau du système et son nom d'hôte ainsi que la date actuelle, iostat affiche une vue d'ensemble de l'utilisation CPU moyenne du système depuis le dernier démarrage. Le rapport d'utilisation du CPU inclut les pourcentages suivants : Au-dessous de la première ligne indiquant la version du noyau du système et son nom d'hôte ainsi que la date actuelle, iostat affiche une vue d'ensemble de l'utilisation CPU moyenne du système depuis le dernier démarrage. Le rapport d'utilisation du CPU inclut les pourcentages suivants :
  
-  * Pourcentage de temps passé en mode utilisateur (exécutant des applications, etc.) +  * **%user** - Pourcentage de temps passé en mode utilisateur (exécutant des applications, etc.) 
-  * Pourcentage de temps passé en mode utilisateur (pour les processus qui ont modifié leur priorité de programmation à l'aide de la commande nice) +  * **%nice** - Pourcentage de temps passé en mode utilisateur (pour les processus qui ont modifié leur priorité de programmation à l'aide de la commande nice) 
-  * Pourcentage de temps passé en mode noyau +  * **%system** - Pourcentage de temps passé en mode noyau 
-  * Pourcentage de temps passé en inactivité+  * **%steal** - Pourcentage du temps passé par des CPU virtuels en attendant que l'hyperviseur s'occupe d'un autre CPU virtuel. 
 +  * **%iowait** - Pourcentage du temps passé à attendre les entrées et les sorties des disques. 
 +  * **%idle** - Pourcentage de temps passé en inactivité
  
 Notez la valeur de **%iowait**. Dans le cas où ce pourcentage est trop élévé, ceci indique que le processeur passe son temps à attendre les entrées et les sorties de disque. Notez la valeur de **%iowait**. Dans le cas où ce pourcentage est trop élévé, ceci indique que le processeur passe son temps à attendre les entrées et les sorties de disque.
Ligne 1315: Ligne 1316:
 Au-dessous du rapport d'utilisation du CPU de la sortie de la commande **iostat** figure le rapport d'utilisation des périphériques. Ce dernier contient une ligne pour chaque périphérique disque du système et inclut les informations suivantes : Au-dessous du rapport d'utilisation du CPU de la sortie de la commande **iostat** figure le rapport d'utilisation des périphériques. Ce dernier contient une ligne pour chaque périphérique disque du système et inclut les informations suivantes :
  
-  * La spécification du périphérique, apparaissant sous la forme dev<major-number>-sequence-number où <major-number> correspond au nombre majeur du périphérique et <sequence-number> correspond à un numéro de séquence commençant par zéro.+  * La spécification du périphérique.
   * Le nombre de transferts (ou opérations d'E/S) par seconde.   * Le nombre de transferts (ou opérations d'E/S) par seconde.
-  * Le nombre de blocs de 512 octets lus par seconde. +  * Le nombre de blocs de KB lus par seconde. 
-  * Le nombre de blocs de 512 octets écrits par seconde. +  * Le nombre de blocs de KB écrits par seconde. 
-  * Le nombre total de blocs de 512 octets lus par seconde+  * Le nombre total de KB lus. 
-  * Le nombre total de blocs de 512 octets écrits par seconde.+  * Le nombre total de KB écrits.
      
-Dernèrement, pour voir les statistiques étendues des disques, utilisez la commande suivante :+Dernièrement, pour voir les statistiques étendues des disques, utilisez la commande suivante :
  
 <code> <code>
Ligne 1348: Ligne 1349:
 </code> </code>
  
-====La Commande hdparm====+====3.4 - La Commande hdparm====
  
 Pour surveiller la vitesse des entrées et des sorties du disque, vous pouvez utiliser la commande **hdparm** : Pour surveiller la vitesse des entrées et des sorties du disque, vous pouvez utiliser la commande **hdparm** :
Ligne 1359: Ligne 1360:
 </code> </code>
  
-====La Commande vmstat====+====3.5 - La Commande vmstat====
  
 La commande **vmstat** affiche des statistiques sur la mémoire, la pagination et la charge ponctuelle du processeur : La commande **vmstat** affiche des statistiques sur la mémoire, la pagination et la charge ponctuelle du processeur :
Ligne 1442: Ligne 1443:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Par défaut la commande vmstat affiche des informations depuis le démarrage du système. **Important** : Par défaut la commande vmstat affiche des informations depuis le démarrage du système.
 </WRAP> </WRAP>
  
-====La Commande mpstat====+====3.6 - La Commande mpstat====
  
 La commande **mpstat** affiche des statistiques détaillées sur le CPU : La commande **mpstat** affiche des statistiques détaillées sur le CPU :
Ligne 1559: Ligne 1560:
 </code> </code>
  
-====La Commande sar====+====3.7 - La Commande sar====
  
 La commande **sar** (**S**ystem **A**ctivity **R**eporter) permet de surveiller toutes les ressources du système selon l'option qui est passée en argument à la commande.  La commande **sar** (**S**ystem **A**ctivity **R**eporter) permet de surveiller toutes les ressources du système selon l'option qui est passée en argument à la commande. 
Ligne 1622: Ligne 1623:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez la ligne **OnCalendar=** qui est necessaire afin de surcharger la valeur par défaut. **Important** : Notez la ligne **OnCalendar=** qui est necessaire afin de surcharger la valeur par défaut.
 </WRAP> </WRAP>
Ligne 1956: Ligne 1957:
         -y      TTY devices statistics [A_SERIAL]         -y      TTY devices statistics [A_SERIAL]
 </code> </code>
- 
-====La Commande collectd==== 
- 
-Installez collectd à partir du dépôt EPEL : 
- 
-<code> 
-[root@centos8 ~]# dnf install epel-release -y 
-... 
-[root@centos8 ~]# dnf install collectd -y 
-</code> 
- 
-<code> 
-[root@centos8 ~]# systemctl enable collectd 
-Created symlink /etc/systemd/system/multi-user.target.wants/collectd.service → /usr/lib/systemd/system/collectd.service. 
-[root@centos8 ~]# systemctl start collectd 
-[root@centos8 ~]# systemctl status collectd 
-● collectd.service - Collectd statistics daemon 
-   Loaded: loaded (/usr/lib/systemd/system/collectd.service; enabled; vendor preset: disabled) 
-   Active: active (running) since Wed 2021-06-30 08:41:55 EDT; 6s ago 
-     Docs: man:collectd(1) 
-           man:collectd.conf(5) 
- Main PID: 65331 (collectd) 
-    Tasks: 11 (limit: 23524) 
-   Memory: 3.1M 
-   CGroup: /system.slice/collectd.service 
-           └─65331 /usr/sbin/collectd 
- 
-Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: Available write targets:: [none] 
-Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: Available write targets:: [none] 
-Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: plugin_dispatch_values: No write callback has been registered. Please load at least one output plugin, if you want> 
-Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: Available write targets:: [none] 
-Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: Available write targets:: [none] 
-Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: Available write targets:: [none] 
-Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: Available write targets:: [none] 
-Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: Available write targets:: [none] 
-Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: Available write targets:: [none] 
-Jun 30 08:41:55 centos8.ittraining.loc collectd[65331]: Available write targets:: [none] 
-lines 1-21/21 (END) 
-</code> 
- 
-<code> 
-[root@centos8 ~]# dnf install rrdtool rrdtool-perl perl-HTML-Parser perl-JSON perl-CGI 
-[root@centos8 ~]# dnf --enablerepo=powertools install rrdtool-devel 
-</code> 
- 
-<code> 
-[root@centos8 ~]# cd /usr/local/ 
-[root@centos8 local]# git clone https://github.com/httpdss/collectd-web.git 
-Cloning into 'collectd-web'... 
-remote: Enumerating objects: 1430, done. 
-remote: Total 1430 (delta 0), reused 0 (delta 0), pack-reused 1430 
-Receiving objects: 100% (1430/1430), 1.19 MiB | 3.75 MiB/s, done. 
-Resolving deltas: 100% (664/664), done. 
-[root@centos8 local]# cd collectd-web/ 
-[root@centos8 collectd-web]# ls 
-AUTHORS  CHANGELOG      COPYING  index.html  media       runserver.py 
-cgi-bin  check_deps.sh  docs     iphone      README.rst 
-[root@centos8 collectd-web]# chmod +x cgi-bin/graphdefs.cgi 
-</code> 
- 
-<code> 
-[root@centos8 collectd-web]# vi /usr/local/collectd-web/runserver.py 
-</code> 
- 
-Exécutez la commande VI suivante : <nowiki>:g/127.0.0.1/s//0.0.0.0/g</nowiki>. 
- 
-<code> 
-[root@centos8 collectd-web]# cat /usr/local/collectd-web/runserver.py 
-#!/usr/bin/env python 
- 
-import CGIHTTPServer 
-import BaseHTTPServer 
-from optparse import OptionParser 
- 
-class Handler(CGIHTTPServer.CGIHTTPRequestHandler): 
-    cgi_directories = ["/cgi-bin"] 
- 
-PORT = 8888 
- 
-def main(): 
-    parser = OptionParser() 
-    opts, args = parser.parse_args() 
-    if args: 
-        httpd = BaseHTTPServer.HTTPServer((args[0], int(args[1])), Handler) 
-        print "Collectd-web server running at http://%s:%s/" % (args[0], args[1]) 
-    else: 
-        httpd = BaseHTTPServer.HTTPServer(("0.0.0.0", PORT), Handler) 
-        print "Collectd-web server running at http://%s:%s/" % ("0.0.0.0", PORT) 
-    httpd.serve_forever() 
- 
-if __name__ == "__main__": 
-    main()  
-</code> 
- 
-<code> 
-[root@centos8 collectd-web]# dnf install python2 
-</code> 
- 
-<code> 
-[root@centos8 collectd-web]# python2 runserver.py & 
-[1] 34080 
-[root@centos8 collectd-web]# Collectd-web server running at http://0.0.0.0:8888/ 
- 
-[root@centos8 collectd-web]#  
-</code> 
- 
- 
- 
- 
- 
- 
- 
  
 =====Modules usb===== =====Modules usb=====
Ligne 2203: Ligne 2092:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Il vous est possible d'ajouter des règles si besoin est. Dans ce cas, créez un fichier **99-local.rules** est éditez-le au lieu d'éditer les fichiers existants. **Important** : Il vous est possible d'ajouter des règles si besoin est. Dans ce cas, créez un fichier **99-local.rules** est éditez-le au lieu d'éditer les fichiers existants.
 </WRAP> </WRAP>
Ligne 2430: Ligne 2319:
 Ce chiffre correspond aux nombre de secteurs. Ce chiffre correspond aux nombre de secteurs.
  
-=====Limitation des ressources=====+=====LAB #4 - Limitation des ressources=====
  
-====ulimit====+====4.1 - ulimit====
  
 Les ressources disponibles aux utilisateurs peuvent être limitées par l'utilisation de la commande **ulimit**.  Les ressources disponibles aux utilisateurs peuvent être limitées par l'utilisation de la commande **ulimit**. 
Ligne 2507: Ligne 2396:
 </code>  </code> 
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : La valeur de la limite peut être un **nombre** ou le mot **unlimited**. **Important** : La valeur de la limite peut être un **nombre** ou le mot **unlimited**.
 </WRAP> </WRAP>
Ligne 2601: Ligne 2490:
 </code> </code>
  
-====Groupes de Contrôle====+====4.2 - Groupes de Contrôle====
  
 Les **Groupes de Contrôles** (//Control Groups//) aussi appelés **CGroups**, sont une façon de contrôler et de limiter des ressources. Les groupes de contrôle permettent l'allocation de ressources, même d'une manière dynamique pendant que le système fonctionne, telles le temps processeur, la mémoire système, la bande réseau, ou une combinaison de ces ressources parmi des groupes de tâches (processus) définis par l'utilisateur et exécutés sur un système. Les **Groupes de Contrôles** (//Control Groups//) aussi appelés **CGroups**, sont une façon de contrôler et de limiter des ressources. Les groupes de contrôle permettent l'allocation de ressources, même d'une manière dynamique pendant que le système fonctionne, telles le temps processeur, la mémoire système, la bande réseau, ou une combinaison de ces ressources parmi des groupes de tâches (processus) définis par l'utilisateur et exécutés sur un système.
Ligne 2607: Ligne 2496:
 Les groupes de contrôle sont organisés de manière hiérarchique, comme des processus. Par contre, la comparaison entre les deux démontre que tandis que les processus se trouvent dans une arborescence unique descandant tous du processus init et héritant de l'environnement de leurs parents, les contrôles groupes peuvent être multiples donnant lieu à des arborescences ou **hiérarchies** multiples qui héritent de certains attributs de leurs groupes de contrôle parents. Les groupes de contrôle sont organisés de manière hiérarchique, comme des processus. Par contre, la comparaison entre les deux démontre que tandis que les processus se trouvent dans une arborescence unique descandant tous du processus init et héritant de l'environnement de leurs parents, les contrôles groupes peuvent être multiples donnant lieu à des arborescences ou **hiérarchies** multiples qui héritent de certains attributs de leurs groupes de contrôle parents.
  
-Ces hiérarchies multiples et séparés sont necéssaires parce que chaque hiérarchie est attaché à un ou plusieurs **sous-système(s)** aussi appelés des **Contrôleurs de Ressources** ou simplement des **Contrôleurs**. Les contrôleurs disponibles sous RHEl/CentOS 7 sont :+Ces hiérarchies multiples et séparés sont necéssaires parce que chaque hiérarchie est attaché à un ou plusieurs **sous-système(s)** aussi appelés des **Contrôleurs de Ressources** ou simplement des **Contrôleurs**. Les contrôleurs disponibles sous RHEl/CentOS 7 sont :
  
   * **blkio** - utilisé pour établir des limites sur l'accès des entrées/sorties à partir et depuis des périphériques blocs,   * **blkio** - utilisé pour établir des limites sur l'accès des entrées/sorties à partir et depuis des périphériques blocs,
Ligne 2812: Ligne 2701:
   * **CPUQuota** - utilisé pour limiter le temps CPU, même quand le système ne fait rien.   * **CPUQuota** - utilisé pour limiter le temps CPU, même quand le système ne fait rien.
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Consultez le manuel systemd.resource-control(5) pour voir les paramètres CGroup qui peuvent être passés à systemctl. **Important** : Consultez le manuel systemd.resource-control(5) pour voir les paramètres CGroup qui peuvent être passés à systemctl.
 </WRAP> </WRAP>
  
-====LAB #1 - Travailler avec les CGroups==== +===Limitation de la Mémoire===
- +
-===1.1 - Limitation de la Mémoire===+
  
 Commencez par créer le script **hello-world.sh** qui servira à générer un processus pour travailler avec les CGroups : Commencez par créer le script **hello-world.sh** qui servira à générer un processus pour travailler avec les CGroups :
Ligne 2855: Ligne 2742:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** - Notez que les 40 000 000 demandés sont devenus 39 997 440 ce qui correspond à un nombre entier de pages mémoire du noyau de 4Ko. ( 39 997 440 / 4096 = 9 765 ). **Important** - Notez que les 40 000 000 demandés sont devenus 39 997 440 ce qui correspond à un nombre entier de pages mémoire du noyau de 4Ko. ( 39 997 440 / 4096 = 9 765 ).
 </WRAP> </WRAP>
Ligne 2940: Ligne 2827:
 </code> </code>
  
-===1.2 - La Commande cgcreate===+===La Commande cgcreate===
  
 Cette commande permet la création d'un CGroup : Cette commande permet la création d'un CGroup :
Ligne 3001: Ligne 2888:
 </code> </code>
  
-===1.3 - La Commande cgdelete===+==La Commande cgdelete==
  
 Une fois le script terminé, cette commande permet de supprimer le cgroup : Une fois le script terminé, cette commande permet de supprimer le cgroup :
Ligne 3022: Ligne 2909:
 </code> </code>
  
-===1.4 - Le Fichier /etc/cgconfig.conf===+==Le Fichier /etc/cgconfig.conf==
  
 Afin de les rendre persistants, il convient d'éditer le fichier **/etc/cgconfig.conf** : Afin de les rendre persistants, il convient d'éditer le fichier **/etc/cgconfig.conf** :
Ligne 3056: Ligne 2943:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** - Notez la création de **deux** limitations, une de 40 000 octets de mémoire et l'autre de **100** **cpu.shares**. Cette dernière est une valeur exprimée sur 1 024, où 1 024 représente 100% du temps CPU. La limite fixée est donc equivalente à 9,77% du temps CPU. **Important** - Notez la création de **deux** limitations, une de 40 000 octets de mémoire et l'autre de **100** **cpu.shares**. Cette dernière est une valeur exprimée sur 1 024, où 1 024 représente 100% du temps CPU. La limite fixée est donc equivalente à 9,77% du temps CPU.
 </WRAP> </WRAP>
Ligne 3123: Ligne 3010:
 </code> </code>
  
-===1.5 - La Commande cgconfigparser===+==La Commande cgconfigparser==
  
 Appliquez le contenu du fichier **/etc/cgconfig.conf** grâce à l'utilisation de la commande **cgconfigparser** : Appliquez le contenu du fichier **/etc/cgconfig.conf** grâce à l'utilisation de la commande **cgconfigparser** :
Ligne 3136: Ligne 3023:
  
 ----- -----
-<html> +Copyright © 2022 Hugh Norris.
-<div align="center"> +
-Copyright © 2021 Hugh Norris. +
-</html>+
Menu