Mon espace IT

#Blog_IT > orienté systèmes et réseaux

Benchmark Nutanix VS Hyper-V S2D

 Dans le cadre d'une migration Azure Stack HCI donc Hyper-v + S2D j'ai pu mesurer les perfomances sur le même matériel.

Nutanix VM Windows  : Ntx-r640-win Benchmarks - OpenBenchmarking.org

Nutanix VM Linux : Ntx-r640 Benchmarks - OpenBenchmarking.org

Hyper-V HCI VM Windows : ASHCI-win2019 Benchmarks - OpenBenchmarking.org

Hyper-V HCI VM Linux: HyperV_S2D-debianVM Benchmarks - OpenBenchmarking.org











Installation Windows 2022+ et partition

 Depuis Windows 2022 Microsoft place la partition de récupération à la suite de la partition de l'OS, ce qui est dérangeant pour étendre sa partition notamment en environnement virtualisé.

2 solutions :

a. Supprimer la partition recovery, mais cela peut poser des erreurs d'installation de KB

b. Customiser son schéma de partition avant l'installation. Pour cela au moment de sélectionner le disque d'installation lancer l'invite de commande par la combinaise de touche Shift + F10 et utiliser diskpart pour partitionner comme suit:

diskpart

list disk

convert gpt

create partition primary size=500

format quick fs=ntfs label="Recovery"

set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"

gpt attributes=0x8000000000000001

create partition efi size=100

format quick fs=fat32 label="System"

create partition primary 

format quick fs=ntfs label="Windows"

exit

Attribut et id permet au setup de détecter l'allocation des partitions

Quitter ensuite l'invite de commande, actualiser le disque et choisir la partition Windows pour l'installation

Accès impossible à des partages smb depuis Windows 11

 Si tu n'arrives pas à accéder à des partages Samba Linux, ou encore un NAS, et que tu es en Windows 11 24H2, c'est probablement une raison de sécurité. erreur possible :

  • 0x80070035
  • 0x800704f8
  • STATUS_INVALID_SIGNATURE
  • Ce n'est pas recommandé, mais pour dépanner la situation, nous allons dégrader la sécurité de smbclient de Windows :

     Désactive la signature obligatoire des partages 

    Set-SmbClientConfiguration -RequireSecuritySignature $false


     Active guest sur l'accès au partage distant

     

    Set-SmbClientConfiguration -EnableInsecureGuestLogons $true

     

    Joindre Linux à AD

    apt install sssd-tools sssd libnss-sss libpam-sss adcli realmd packagekit samba-common-bin krb5-user

    config /etc/krb5.conf

    realm join --user=admin@tondomaine.com TONDOMAINE.COM

    hostnamectl set-hostname machine.tondomaine.com

    realm list

    test demande ticket kerberos: kinit comptead@TONDOMAINE.COM

    Vérification : klist

    Gestion de la mémoire Linux

     

    Vérifier l’état d’occupation de la RAM :

     

    free -mh

     

    Mém = RAM

    Echange = SWAP

     

    Les indicateurs importants sont :

     

    Total : l’ensemble de la RAM allouée au système

    Utilisé : la mémoire actuellement occupée

    Disponible : la mémoire utilisable à cet instant (= total – utilisé - partagé)

     

    Libre = mémoire non utilisé, même pas par le cache

    Partagé= mémoire utilisée par tmpfs (fichiers stockés en RAM)

    Cache= mémoire utilisée par les applications pour accélérer le fonctionnement mais libérable instantanément si besoin

     

    Le SWAP :

    L’espace d’échange aka SWAP, est un espace mémoire résidant sur le disque où la mémoire décharge des éléments en urgence lorsque la RAM manque pour éviter un crash.

    Les éléments ne nécessitant pas d’accès rapide seront volontairement placés en SWAP, lorsqu’ils seront appelés ils pourront passer en RAM. Un échange IO se crée il est vérifiable par la commande vmstat :

     

    Les valeurs si et so témoignent des échanges entrants et sortants

     Cet espace est également utilisé par certaine application qui souhaite placer des éléments mémoires spécifiquement en SWAP.

     

     Monitoring

    htop

    Permet d’avoir un monitoring live

    Les valeurs peuvent être différentes de free par les utilisations des unités Gi/Go/Gb

     

    Une image contenant texte, capture d’écran, logiciel, Logiciel multimédia

Description générée automatiquement

     

     

    La barre d’usage MEM a des couleurs particulières pour montrer la répartition de la RAM

     

    Vert : mémoire utilisé

    Bleu : tampon

    Jaune : Cache

     

    Les colonnes de l’usage mémoire :

     

    VIRT : Mémoire virtuelle : fichiers sur disques, et les bibliothèques partagées, le swap et les pages qui ont été mises sur disque mais pas utilisées.

     

    RES : Mémoire résidente : mémoire effective utilisée par le processus, comprend également la mémoire utilisée par d’autres process enfant de celui-ci

     

    SHR : Mémoire pouvant être partagée par d’autres processus

     

    Seule la valeur de RES donne une idée de la RAM consommée par un processus

     

     Gestion de la mémoire par le noyau : tuning

     

    Le swapiness est une propriété du noyau Linux qui lui permet de déterminer la fréquence d’utilisation du SWAP. Par défaut cette valeur est de 60. Plus la valeur est proche de 0, moins le noyau utilisera le SWAP.

    Pour des serveurs bien dimensionnés en RAM, et selon les applicatifs cette valeur doit être ajustée.

    Exemple : MariaDB ou PostGresql recommande une valeur de 1, Oracle une valeur de 10.

     

    Cette valeur doit être modifiée dans le fichier /etc/sysctl.conf

     

    vm.swappiness=1

     

     

    Par défaut un processus peut arriver à consommer plus de mémoire que la mémoire allouée ou disponible et déclencher le mécanisme OOM Killer et se faire tuer.

     

    Dans /etc/sysctl.conf c’est la paramètre vm.overcommit_memory qui définit le comportement

    Par défaut la valeur est 0, le noyau doit vérifier si l’allocation mémoire est possible selon une analyse. Mais ce n’est pas infaillible, un oom kill peut se déclencher.

    Avec la valeur 1, aucune vérification, la surcharge mémoire est autorisée

     

    La valeur 2 refuse les demandes de mémoire supérieure selon le calcul :

    Limite allocation mémoire = Swap + RAM * (Overcommit Ratio / 100)

     

    Par défaut vm.overcommit_ratio = 50

     

    Recommandation sur un serveur en production de BDD pour éviter les oom kill, à adapter selon la quantité de RAM et SWAP.

     

    Exemple serveur à 10 GB + 2 GB SWAP :

    2+ 10*0.8 = 10GB 

     

    vm.overcommit_memory = 2

    vm.overcommit_ratio = 80

    vm.swappiness = 1

     

    vm.vfs_cache_pressure=50

     

    Le paramètre vfs cache pressure contrôle la tendance à libérer du cache une donnée plutôt que de les libérer rapidement et de faire travailler le disque. La valeur par défaut est 100.

    50 permet de garder en cache plus longtemps, plus performant pour une bdd.

     

    OOM Killer

     

    Mécanisme protégeant le système d’un crash en tuant le processus qui demande de la mémoire au-delà de la capacité.

    Pour déterminer l’importance d’un processus et s’il a le droit d’être tué une notion de score existe :

    Noté de -1000 à 1000

    -1000 = intuable

     

    Pour voir le score d’un processus : cat /proc/P_ID/oom_score

    Il est possible de fixer un score directement dans le daemon du processus :

    [Service] OOMScoreAdjust=-17

     

    En cas de déclenchement une trace est présente dans /var/log/kern.log avec le processus tué et la quantité de mémoire qu’il demandait

    Exemple :

     

    Apr 29 12:51:26 srv kernel: [11273.289233] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/system.slice/system-postgresq>@13-main.service,task=postgres,pid=18325,uid=107

    Apr 29 12:51:26 srv kernel: [11273.289253] Out of memory: Killed process 18325 (postgres) total-vm:9479320kB, anon-rss:5123092kB, file-rss:0kB, shmem-rss:524572kB, UID:107> pgtables:14092kB oom_score_adj:0

     

    Veeam erreur hyper-v après upgrade

     Tu mets à jour ton Veeam B&R et tu dois faire avec l'erreur " Failed to upgrade host components. This server is not a hyper-v host"

    Résolution: Regarde la table hostcomponents de la base de donnée Veeam b&r. Si tu vois une ligne avec la version 0.0.0.0 et l'option hvintegrationclientoptions, efface la.

    Agent GLPI : astuces et subtilités

     1/ Tu veux utiliser l'agent GLPI inventory avec de la SSO ? voici la config Apache nécessaire :

    <Directory /var/www/glpi/public>
    # Autorise l'agent à bypass la SSO
            <If
    "%{HTTP_USER_AGENT} =~ /GLPI-Agent_v/">
                Require all granted
           </If>

    2/ Si tu veux déployer des paquets avec l'agent et que la tâche reste en status préparé, as tu bien installé le rôle de déploiement ?

    msiexec /i GLPI-Agent.msi /quiet RUNNOW=1 SERVER='https://tonglpi.com/marketplace/glpiinventory' ADDLOCAL=feat_DEPLOY

    3/ Pratique pour bypass le certificat check en local : rajoute NO_SSL_CHECK=1

    4/ Pour exécuter des scripts powershell via le déploiement de package :

    - créé un package avec ton script powershell dans les fichiers

    - utilise la commande de déploiement 

    powershell.exe -ExecutionPolicy Bypass -File ".\tonscript.ps1"