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
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 :
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
htop
Permet d’avoir un monitoring live
Les valeurs peuvent être différentes
de free par les utilisations des unités Gi/Go/Gb
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
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"