Optimiser l’utilisation de la RAM/SWAP sous Linux

Samuel Chevalley
22 juillet 2016

Afin d’affiner l’utilisation de la RAM et du SWAP, on peut dire à Linux quand il doit commencer a écrire sur le disque dur dans l’espace d’échange appelé SWAP afin de délester la RAM.

En Clair :

  • vm.swappiness = 0 – Linux utilisera le HD en dernière limite pour éviter un manque de RAM.
  • vm.swappiness = 60 – Valeur par défaut de Linux : à partir de 40% d’occupation de Ram, le noyau écrit sur le disque.
  • vm.swappiness = 100 – tous les accès se font en écriture dans la SWAP.

Lire la suite Optimiser l’utilisation de la RAM/SWAP sous Linux

Ajouter/supprimer des disques sous Linux sans rebooter

Samuel Chevalley
30 juin 2016

Dans le monde de la virtualisation, après avoir ajouté un disque virtuel sur une VM Linux, il serait préférable qu’il soit reconnu sans avoir à rebooter.
Pour ce faire, identifiez le contrôleur SCSI (Par exemple 1:0, 2:0 ou 3:0 etc…). En effet, en ajoutant le disque, vous pouvez choisir l’ID du disque. Pour paralléliser le trafic et améliorer les performances, on peut choisir de mettre un disque sur un second contrôleur (1:x au lieu de 0:x). Exécutez ensuite la commande suivante ou hostX correspond à l’ID de votre contrôleur SCSI (host0 pour 0:x, host1 pour 1:x, etc..)

for i in /sys/class/scsi_host/host*/scan; do echo « – – – » >$i; done

 

On peut aussi supprimer un disque à chaud. Une fois que vous êtes sûr que votre disque virtuel a été libéré de toute contrainte, vous pouvez le supprimer de la configuration de la VM.

Toutefois, l’inode se référant au disque n’est pas supprimer par les vmware tools. Aussi, vous pouvez exécuter la commande suivante afin de le supprimer (dans l’exemple, pour retirer /dev/sda) :

echo 1 > /sys/block/sda/device/delete

Connaitre la taille d’une partition sur ESXi 5.5

Samuel Chevalley
29 juin 2016

Pour l’exemple, nous allons chercher la taille de la partition pour les core dump :

/etc # esxcli system coredump partition list
Name                    Path                        Active  Configured
------------  ----------------------------  ------  ---------
mpx.vmhba32:C0:T0:L0:7  /vmfs/devices/disks/mpx.vmhba32:C0:T0:L0:7    true        true

Il s’agit donc de la partition 7 du device mpx.vmhba32:C0:T0:L0

Lire la suite Connaitre la taille d’une partition sur ESXi 5.5

Analyser les options d’un script avec « getopts »

Samuel Chevalley
13 juin 2016

La commande interne getopts permet à un script d’analyser les options passées en argument.Pour vérifier la validité de chacune des options, il faut appeler getopts à partir d’une boucle. Lire la suite Analyser les options d’un script avec « getopts »

LUN mapping

Samuel Chevalley
10 juin 2016

Trouver le WWN des ports fibres sous Linux

Avec la commande « systool », on peut trouver les 2 WWN des 2 ports fibres :

[root@linux ~]# systool -c fc_host -v
Class = "fc_host"

 Class Device = "host2"
 Class Device path = "/sys/class/fc_host/host2"
 fabric_name = "0x1000000533aa7b76"
 issue_lip = <store method only>
 node_name = "0x5001438409ac4f81"
 port_id = "0x150b00"
 port_name = "0x5001438409ac4f80"
 port_state = "Online"
 port_type = "NPort (fabric via point-to-point)"
 speed = "8 Gbit"
 supported_classes = "Class 3"
 supported_speeds = "1 Gbit, 2 Gbit, 4 Gbit, 8 Gbit"
 symbolic_name = "HPAK344A FW:v4.04.09 DVR:v8.03.01.04.05.05-k"
 system_hostname = ""
 tgtid_bind_type = "wwpn (World Wide Port Name)"
 uevent = <store method only>

 Device = "host2"
 Device path = "/sys/devices/pci0000:00/0000:00:03.0/0000:09:00.0/host2"
 ct =
 edc = <store method only>
 els =
 fw_dump =
 nvram = "ISP "
 optrom_ctl = <store method only>
 optrom =
 reset = <store method only>
 sfp = ""
 uevent = <store method only>
 vpd = "▒&"

Lire la suite LUN mapping

Les expressions régulières

Samuel Chevalley
9 mai 2016

Une expression régulière est une séquence de symboles qui répond à une syntaxe précise permettant d’identifier des chaînes de caractères existantes. Dans une expression régulière, on peut trouver tous les caractères sauf le caractère de saut de ligne (\n).

Les expressions régulières sont utilisées dans beaucoup de commandes UNIX (« sed », « awk », « grep », « vi » …). Lire la suite Les expressions régulières

Ajouter un fichier de Swap sous Linux

Samuel Chevalley
10 mars 2016

 

On va par exemple créer le fichier file.swap d’une taille de 512Mo à l’aide de la commande suivante :

[root@test tmp]# dd if=/dev/zero of=file.swap bs=1024 count=512000
512000+0 records in
512000+0 records out
524288000 bytes (524 MB) copied, 2.26171 s, 232 MB/s

Explication : la commande dd crée et copie des zéros dans le fichier file.swap contenant 512000 blocs de 1024 octets chacun, soit un fichier approximatif de 512 Mo (voir 524 Mo).

Lire la suite Ajouter un fichier de Swap sous Linux

Tests et conditions en Shell script

Samuel Chevalley
20 février 2016

Un script Shell se présente sous la forme d’un fichier contenant une ou plusieurs commandes qui seront exécutées de manière séquentielle. Il pourra donc permettre d’automatiser une série d’opérations.
 

Les opérateurs de test

Lors d’un test ( [ expression ] ou test expression ), le code de retour sera de 0 si l’expression est vrai ou de 1 si l’expression est fausse. Lire la suite Tests et conditions en Shell script