Team Leader - Nutanix Technology Champion - Nutanix NTC Storyteller

Julien DUMUR
Infrastructure in a Nutshell

Effectuer une supervision constante de son cluster est la meilleure option pour s’assurer que toute fonctionne comme vous le souhaitez.

Au travers de cet article, je vais vous expliquer comment assurer la supervision de votre cluster Nutanix sur Centreon en SNMP v2c.

Pré requis

Il y a quelques pré requis a respecter afin de pouvoir ajouter son cluster Nutanix sur la solution Centreon. Voici la liste de ce dont vous avez besoin :

  • un cluster Nutanix avec des accès admin à l’interface web
  • un serveur Centreon opérationnel avec le connecteur Nutanix installé
  • un accès SSH a la VM Centreon
  • les flux doivent être ouverts dans le pare feu

Configuration du SNMP v2c sur le cluster Nutanix

Pour configurer le SNMP sur son cluster Nutanix, il faut commencer par se connecter au Prism Element puis aller dans « Settings > SNMP ». Cocher « Enable SNMP » et cliquer sur « + New Transport » pour ajouter le port 161 en UDP :

Ensuite, dans « Traps » cliquer sur « + New Trap Receiver » et renseigner les champs suivants :

  • Receiver Name : le nom que vous souhaiter attribuer à votre Receiver
  • Cocher v2c
  • Community : indiquez la communauté SNMP que vous souhaitez utiliser
  • Address : l’adresse de votre serveur Centreon
  • Port : 161
  • Transport protocol : UDP

Cliquer sur « Save » pour enregistrer la configuration.

Ajout du cluster Nutanix sur Centreon

Pour ajouter son cluster Nutanix sur Centreon, il faut se connecter à l’interface web de votre supervision et aller dans « Configuration > Hosts » et cliquer sur « Add » :

Sur la page qui s’affiche, il y a un premier block d’informations à remplir avec :

  • 1 : nom du cluster
  • 2 : adresse IP du cluster
  • 3 : la communauté que vous avez renseigné sur le trap receiver
  • 4 : la version 2c de SNMP
  • 5 : le serveur Centreon qui va superviser le cluster
  • 6 : le fuseau horaire associé à votre cluster
  • 7 : les templates que vous souhaitez ajouter
  • 8 : cocher « Yes » pour être sûr que tous les services associés aux templates précédemment ajoutés soient automatiquement créés

Sur la deuxième partie de la page, il y a quelques petites choses a configurer notamment l’amplitude et la fréquence des checks :

Une fois l’ensemble des informations saisies, valider afin que le nouvel hôte soit créé sur le serveur. Il faut ensuite exporter la configuration vers les pollers. Pour ce faire, cliquer en haut à gauche sur « Pollers » puis sur « Export configuration » :

Cliquer ensuite sur « Export & Reload » dans la petite fenêtre qui s’affiche :

Pour vérifier que votre hôte est bien pris en compte, rendez vous dans « Monitoring > Ressources Status », vos premiers check devraient commencer à remonter :

Si tout se passe comme prévu, vous devriez avoir toutes vos sondes au vert en quelques minutes !

Troubleshooting

Si par malheur vous avez une supervision qui ressemble à ceci :

Je vous conseille de vérifier les points suivants :

  • ouverture des flux SNMP (port 161/UDP) dans le pare-feu
  • configuration du Traps Receiver sur le cluster Nutanix
  • configuration de la communauté sur le serveur Centreon
Read More
header nutanix

Lors d’une intervention le cluster de l’un de nos clients, je me suis heurté à un soucis de taille : l’impossibilité de supprimer un container de stockage qui avait pourtant été vidé de son contenu au préalable…

Un peu de contexte

La nécessité de supprimer un container de stockage est apparue lorsque nous avons décidé de migrer les machines virtuelles vers d’autres containers. Pourquoi devoir faire cela ? Dans le cadre d’un On Demand Cross Cluster Live Migration, l’un des prérequis est d’avoir des noms identiques sur les containers de stockages…

Pour ce faire, nous avons donc procédé à la migration des vdisks en CLI, une opération longue et fastidieuse que je détaillerais peut être dans un prochain article.

Une fois l’ensemble des vdisks migrés, nous ne pouvions toujours pas supprimer le container…

Diagnostic du problème

Pour commencer, j’ai d’abord listé l’ensemble des containers présents sur mon cluster pour identifier celui qui m’intéresse :

nutanix@CVM:~$ ncli container list
Id : 00060f28-23f5-dbbb-7c17-7cc255a7f766::7
Uuid : ecc3d02d-57c0-4253-a5a4-a335aa3bdcd4
Name : default-container-15796345896744
Storage Pool Id : 00060f28-23f5-dbbb-7c17-7cc255a7f766::6
Storage Pool Uuid : 4fa56350-ece0-4932-8ec9-70669e241470
Free Space (Logical) : 31.16 TiB (34,265,616,109,568 bytes)
Used Space (Logical) : 90.79 GiB (97,483,378,688 bytes)
Allowed Max Capacity : 31.25 TiB (34,363,099,488,256 bytes)
Used by other Containers : 574.87 GiB (617,261,654,016 bytes)
Explicit Reservation : 0 bytes
Thick Provisioned : 0 bytes
Replication Factor : 2
Oplog Replication Factor : 2
NFS Whitelist Inherited : false
Container NFS Whitelist : 
VStore Name(s) : default-container-15796345896744
Random I/O Pri Order : SSD-MEM-NVMe, SSD-PCIe, SSD-SATA, DAS-SATA
Sequential I/O Pri Order : SSD-PCIe, SSD-SATA, SSD-MEM-NVMe, DAS-SATA
Compression : on
Compression Delay : 0 mins
Fingerprint On Write : off
On-Disk Dedup : off
Erasure Code : off
Software Encryption : off

Une fois mon container identifié (default-container-15796345896744), je tente une suppression en CLI avec la ligne de commande suivante :

nutanix@CVM:~$ ncli ctr rm name=default-container-15796345896744
Error: Storage container default-container-15796345896744 contains VDisk(s) not marked for removal.

Le message est assez explicite, il reste des VDisks dans mon container ce qui bloque complètement la suppression. Pour rappel, j’ai procédé à la migration de l’ensemble des vdisks de mes machines virtuelles, il ne devrait donc rien rester dessus…

Je check le contenu de mon vdisk avec la commande suivante (remplacez le container_id par celui correspondant à votre container) :

nutanix@CVM:~$ vdisk_config_printer -container_id=7 -skip_to_remove_vdisks

vdisk_id: 1247912
vdisk_name: "$NTNX$-$CURATOR$-$CHAINVDISK$-$0630848d-af0a-440b-9bf2-14ed432105c2$7$"
vdisk_size: 0
container_id: 7
creation_time_usecs: 1724796346611475
mutability_state: kImmutable
snapshot_chain_id: 8053639
vdisk_creation_time_usecs: 1724796346611475
last_updated_pithos_version: kChainIdKey
vdisk_uuid: "faa173c5-be0a-4502-9977-02d9c125b02e"
chain_id: "0630848d-af0a-440b-9bf2-14ed432105c2"
last_modification_time_usecs: 1724800080940533
vdisk_id: 22562934
vdisk_name: "NFS:2:0:2513"
vdisk_size: 4398046511104
container_id: 7
creation_time_usecs: 1741004981139322
vdisk_creator_loc: 4
vdisk_creator_loc: 789428
vdisk_creator_loc: 9451518309
nfs_file_name: "nutanix_guest_tools.iso"
may_be_parent: true
never_hosted: false
snapshot_draining: false
snapshot_chain_id: 22562935
vdisk_creation_time_usecs: 1741004981139322
oplog_type: kVDiskOplog
vdisk_snapshot_time_usecs: 1741004983089382
last_updated_pithos_version: kChainIdKey
always_write_emap_extents: true
vdisk_uuid: "5b601b32-eaf5-4612-9bdf-f8ce3a24c96b"
chain_id: "ebd35e10-4917-476a-9cb7-8447478af99c"
last_modification_time_usecs: 1741004985848279
vdisk_id: 28693745
vdisk_name: "NFS:2:0:2703"
parent_vdisk_id: 9701970
vdisk_size: 10737418240
container_id: 7
creation_time_usecs: 1724235742966570
mutability_state: kImmutableSnapshot
closest_named_ancestor: "NFS:4611686018456079974"
avoid_vblock_copy_when_leaf: true
vdisk_creator_loc: 4
vdisk_creator_loc: 27341647
vdisk_creator_loc: 454849015
nfs_file_name: "a8893eb4-a9b8-4710-80c8-e69fb0093bb0"
may_be_parent: true
parent_nfs_file_name_hint: "a8893eb4-a9b8-4710-80c8-e69fb0093bb0"
scsi_name_identifier: "naa.6506b8dc3a35444155c2731c8d7a8b94"
never_hosted: false
snapshot_draining: false
parent_draining: false
clone_parent_draining: false
snapshot_chain_id: 8053639
has_complete_data: true
clone_source_vdisk_id: 7790073
vdisk_creation_time_usecs: 1745309380225031
originating_vdisk_snapshot_time_usecs: 1724235742966570
oplog_type: kVDiskOplog
vdisk_snapshot_time_usecs: 1745310092381733
last_updated_pithos_version: kChainIdKey
always_write_emap_extents: true
vdisk_uuid: "c1b33a68-dd3e-4afc-917e-67f8c257f40f"
chain_id: "0630848d-af0a-440b-9bf2-14ed432105c2"
parent_chain_id: "af907cc8-795b-4382-907c-4b318529bfcb"
vdisk_snapshot_uuid: "bdbf64db-51ad-4310-86cc-ce68107c20f0"
last_modification_time_usecs: 1745310094964928
vdisk_id: 7783219
vdisk_name: "NFS:2:0:472"
vdisk_size: 4398046511104
container_id: 7
creation_time_usecs: 1723639427516394
vdisk_creator_loc: 3
vdisk_creator_loc: 1247802
vdisk_creator_loc: 675287599
nfs_file_name: "pc.2022.6.0.10-pc-boot.qcow2"
never_hosted: false
snapshot_chain_id: 7783220
vdisk_creation_time_usecs: 1723639427516394
oplog_type: kVDiskOplog
last_updated_pithos_version: kChainIdKey
always_write_emap_extents: true
vdisk_uuid: "db1edf28-7241-451a-b74a-e2f6b68ef394"
chain_id: "874ae2f3-1f2e-4d90-87f3-a755b14c374c"
last_modification_time_usecs: 1723639427524005
vdisk_id: 7783222
vdisk_name: "NFS:2:0:473"
vdisk_size: 4398046511104
container_id: 7
creation_time_usecs: 1723639427831077
vdisk_creator_loc: 3
vdisk_creator_loc: 1247802
vdisk_creator_loc: 675288112
nfs_file_name: "pc.2022.6.0.10-pc-home.qcow2"
never_hosted: false
snapshot_chain_id: 7783223
vdisk_creation_time_usecs: 1723639427831077
oplog_type: kVDiskOplog
last_updated_pithos_version: kChainIdKey
always_write_emap_extents: true
vdisk_uuid: "1d4c82bc-01b2-44da-af1c-fbedda5d3dc2"
chain_id: "83600772-9e50-4050-9957-37da1dac220f"
last_modification_time_usecs: 1723639427839142
vdisk_id: 7783355
vdisk_name: "NFS:2:0:474"
vdisk_size: 4398046511104
container_id: 7
creation_time_usecs: 1723639463452092
vdisk_creator_loc: 3
vdisk_creator_loc: 1247802
vdisk_creator_loc: 675381384
nfs_file_name: "pc.2022.6.0.10-pc-boot.img"
may_be_parent: true
never_hosted: false
snapshot_chain_id: 7783356
vdisk_creation_time_usecs: 1723639463452092
oplog_type: kVDiskOplog
vdisk_snapshot_time_usecs: 1723639536592896
last_updated_pithos_version: kChainIdKey
always_write_emap_extents: true
vdisk_uuid: "cbec4f1c-06e5-400e-bb4b-c71df4cd7e38"
chain_id: "d42ab524-a749-4a51-a1a3-3bf225c0fc12"
last_modification_time_usecs: 1723639536600475
vdisk_id: 7783363
vdisk_name: "NFS:2:0:475"
vdisk_size: 4398046511104
container_id: 7
creation_time_usecs: 1723639463571411
vdisk_creator_loc: 3
vdisk_creator_loc: 1247802
vdisk_creator_loc: 675381960
nfs_file_name: "pc.2022.6.0.10-pc-home.img"
may_be_parent: true
never_hosted: false
snapshot_draining: false
snapshot_chain_id: 7783364
vdisk_creation_time_usecs: 1723639463571411
oplog_type: kVDiskOplog
vdisk_snapshot_time_usecs: 1723639536653959
last_updated_pithos_version: kChainIdKey
always_write_emap_extents: true
vdisk_uuid: "358783f7-b35d-42ae-82cc-24a8dc0bf084"
chain_id: "0805ab92-e816-4fe6-8851-7ffa9af75188"
last_modification_time_usecs: 1723639548309692

La commande me permet d’afficher l’ensemble des fichiers qui ne sont pas marqués « pour suppression ». Dans l’ensemble, il s’agit de :

  • vieux snapshots dont les machines virtuelles n’existent plus ou ne sont plus liées
  • des ISOs d’installation des Nutanix Guest Tools
  • des anciens fichiers de mises à jour de Prism Central

Maintenant que je sais d’où vient le problème, il est temps de le régler…

Suppression des fichiers

Pour supprimer les fichiers, il faut les éditer un par un avec la commande suivante :

edit_vdisk_config --vdisk_id=vdisk_id --editor=vim

Il faut remplacer le « vdisk_id » en gras dans la commande par le vdisk_id de chaque fichier renvoyé par la commande « vdisk_config_printer -container_id=7 -skip_to_remove_vdisks », par exemple :

vdisk_id: 1247912
vdisk_name: "$NTNX$-$CURATOR$-$CHAINVDISK$-$0630848d-af0a-440b-9bf2-14ed432105c2$7$"
vdisk_size: 0
container_id: 7
creation_time_usecs: 1724796346611475
mutability_state: kImmutable
snapshot_chain_id: 8053639
vdisk_creation_time_usecs: 1724796346611475
last_updated_pithos_version: kChainIdKey
vdisk_uuid: "faa173c5-be0a-4502-9977-02d9c125b02e"
chain_id: "0630848d-af0a-440b-9bf2-14ed432105c2"
last_modification_time_usecs: 1724800080940533

Donnera la commande suivante :

edit_vdisk_config --vdisk_id=1247912 --editor=vim

Cela ouvre le fichier concerné :

vdisk_id: 1247912
vdisk_name: "$NTNX$-$CURATOR$-$CHAINVDISK$-$0630848d-af0a-440b-9bf2-14ed432105c2$7$"
vdisk_size: 0
container_id: 7
creation_time_usecs: 1724796346611475
mutability_state: kImmutable
snapshot_chain_id: 8053639
vdisk_creation_time_usecs: 1724796346611475
last_updated_pithos_version: kChainIdKey
vdisk_uuid: "faa173c5-be0a-4502-9977-02d9c125b02e"
chain_id: "0630848d-af0a-440b-9bf2-14ed432105c2"
last_modification_time_usecs: 1724800080940533

Il faut alors ajouter « to_remove: true » à la toute fin du fichier et le sauvegarder :

vdisk_id: 1247912
vdisk_name: "$NTNX$-$CURATOR$-$CHAINVDISK$-$0630848d-af0a-440b-9bf2-14ed432105c2$7$"
vdisk_size: 0
container_id: 7
creation_time_usecs: 1724796346611475
mutability_state: kImmutable
snapshot_chain_id: 8053639
vdisk_creation_time_usecs: 1724796346611475
last_updated_pithos_version: kChainIdKey
vdisk_uuid: "faa173c5-be0a-4502-9977-02d9c125b02e"
chain_id: "0630848d-af0a-440b-9bf2-14ed432105c2"
last_modification_time_usecs: 1724800080940533
to_remove: true

Répétez l’opération avec l’ensemble des fichiers jusqu’à ce que la commande « vdisk_config_printer -container_id=7 -skip_to_remove_vdisks » n’affiche plus rien.

On relance la commande de suppression du container :

nutanix@CVM:~$ ncli ctr rm name=default-container-15796345896744
Error: Storage container default-container-15796345896744 contains small NFS files

Encore une erreur ! Et oui, il reste des fichiers de petite taille qui trainent et il faut forcer la suppression :

nutanix@CVM:~$ ncli ctr rm id=7 ignore-small-files=true
Storage container deleted successfully

Cette opération est assez longue et fastidieuse à appliquer mais elle vous permettra de supprimer un container de stockage récalcitrant. Si après ces manipulations la suppression du container de stockage est tout de même impossible, c’est qu’il reste des fichiers qui n’ont pas été déplacés / migrés.

Read More
header nutanix

Voici une petite procédure rapide pour installer les Nutanix Guest Tools manuellement sur vos machines virtuelles Linux (Rocky Linux, RHEL, CentOS…) en lignes de commande.

Qu’est ce que les Nutanix Guest Tools ?

NGT est un ensemble de fonctionnalités logicielles installées sur une machine virtuelle (VM) et une machine virtuelle Nutanix CVM. Un agent invité Nutanix publie des informations sur la machine virtuelle sur le cluster Nutanix, telles que le type de système d’exploitation invité, l’état de mobilité de la machine virtuelle et le service de cliché instantané des volumes (VSS). L’agent invité Nutanix est installé sur les machines virtuelles invitées Windows et Linux.

Montage des Nutanix Guest Tools

Connectez vous à votre cluster Nutanix sur Prism Central, allez dans la liste des machines virtuelles, faites un clic droit sur la machine virtuelle sur laquelle vous souhaitez installer les NGT et cliquez sur « Install NGT » :

Sur l’écran suivant, dans mon cas pas besoin de changer quoi que ce soit, cliquez sur « Confirm and Enter Password » :

On ne touche à rien sur cet écran, cliquez simplement sur « Skip and Mount » en bas à gauche :

L’ISO est monté, on passe maintenant aux lignes de commande !

Installation des Nutanix Guest Tools (ex : Rocky Linux)

Voici les commandes à passer sur la machine virtuelle pour installer les Nutanix Guest Tools :

  • Mise à jour du système :
sudo dnf update && sudo dnf upgrade
  • Installation de python (si non présent sur la machine) :
sudo dnf install python3
  • Vérification de l’identifiant du lecteur :
blkid -L NUTANIX_TOOLS
  • Retour de commande:
/dev/sr0
  • Montage de l’ISO :
sudo mount /dev/sr0 /mnt
  • Installation des NGT :
systemd-run --unit=ngt_guest_agent_upgrade --slice=upgrade_ngt sh /mnt/installer/linux/ngt_rpm_installer/ngt_install_upgrade.sh
  • Vérification de l’installation en ligne de commande :
[root@XXXXXXXXXX administrateur]# yum list installed | grep 'nutanix-guest-agent'
nutanix-guest-agent.x86_64 4.1.2-1 @nutanix-ngt-20250423153748
  • Vérification de l’installation sur Prism Central :

  • Démontage de l’ISO :
umount /dev/sr0

Ca y est, vos Nutanix Guest Tools sont installés.

Read More
nutanix hycu

Ca y est, il est enfin complet ! Après une trentaine d’heures passées à installer, configurer, tester un environnement de labo et à rédiger chaque article, mon guide ultime sur la sauvegarde d’un cluster Nutanix à l’aide de la solution HYCU backup est enfin terminé.

Au total, cela représente :

  • 4500+ mots
  • 100+ captures d’écrans
  • 30+ heures de travail

Pour retrouver plus facilement l’ensemble de mes guides actuels ou à venir, j’ai créé un lien dédié dans le menu.

Au programme de ce guide complet :

Sauvegarder son cluster Nutanix avec HYCU – Présentation

Sauvegarder son cluster Nutanix avec HYCU – Pré-requis techniques

Sauvegarder son cluster Nutanix avec HYCU – Déployer le controleur HYCU

Sauvegarder son cluster Nutanix avec HYCU – Initialisation et configuration de base

Sauvegarder son cluster Nutanix avec HYCU – Ajout d’un cluster Nutanix

Sauvegarder son cluster Nutanix avec HYCU – Ajout d’une cible de sauvegardes

Sauvegarder son cluster Nutanix avec HYCU – Mettre à jour le controleur HYCU

Sauvegarder son cluster Nutanix avec HYCU – Création des jobs de sauvegarde

Sauvegarder son cluster Nutanix avec HYCU – Protection des machines virtuelles

Le guide évoluera probablement si je trouve d’autres éléments intéressant à partager pour étoffer mon retour d’expérience.

N’oubliez pas que la sécurité de vos données dépendra du temps que vous accorderez à la configuration de vos politiques de sauvegarde en amont.

N’hésitez pas à venir me faire part de vos interrogations, de vos craintes ou bien encore à demander à d’autres personnes qui ont déjà mis en place HYCU Backup afin qu’elles vous donnent leur retour d’expérience.

D’autres guides arrivent prochainement… Stay tuned !

Read More

C’est une problématique rencontrée par beaucoup de personnes lors de leur premier déploiement d’une machine virtuelle sous Microsoft Windows : la détection du stockage.

Je vais vous montrer comment procéder pour déployer une machine virtuelle Windows sur Nutanix AHV.

Pré-requis

Pour commencer, il faut récupérer l’image ISO des VirtIO sur le site Support de Nutanix (enregistrement sur le site nécessaire) : https://portal.nutanix.com/page/downloads?product=ahv

Pensez à sélectionner « VirtIO » dans le menu déroulant en haut de page puis téléchargez la version « Nutanix VirtIO for Windows (iso) » :

Une fois l’image ISO récupérée, il faut la transférer sur le cluster. Si vous ne savez pas comment procéder, je vous invite à consulter mon article à ce sujet : https://juliendumur.fr/nutanix-telecharger-une-image-sur-son-cluster/

Passons maintenant au déploiement de la machine virtuelle.

Création de la machine virtuelle sous Prism Element

Connectez vous à l’interface web Prism Element de votre cluster Nutanix, puis dans le menu sélectionnez « VM » :

Sur la page de gestion des machines virtuelles, cliquez sur « Create VM » en haut à droite :

Dans la fenêtre qui s’affiche, il y a un certain nombre de champs à remplir :

Dans l’ordre :

  • Nom de la machine virtuelle
  • Le fuseau horaire
  • La quantité de vCPU
  • La quantité de RAM

Ensuite, il faut ajouter un ou des disques :

Pour chaque type de disque que vous voudrez ajouter, il faudra sélectionner les options qui conviennent :

Dans le cas de notre VM, nous allons ajouter :

  • 1 disque de 40Go pour le système d’exploitation
  • 1 CD-ROM avec l’ISO Windows
  • 1 CD-ROM avec l’ISO contenant les VirtIO

Vous devriez avoir 3 disques à ce stade :

L’ajout d’un adaptateur réseau est la dernière étape avant de finaliser la création de la machine virtuelle :

Si vous ne savez pas comment ajouter de nouveaux réseaux sur votre cluster, je vous recommande de consulter mon article sur le sujet :

La machine est créée, vous pouvez passer à son déploiement.

Création de la machine virtuelle sous Prism Central

Pour créer la VM sous Prism Central, rendez vous dans le menu « Infrastructure > Compute > VMs » :

Cliquez ensuite sur « Create VM » pour accéder au menu de création de la VM :

Les champs à remplir restent globalement similaires à ceux que vous pouvez retrouver sous Prism Element, bien qu’organisés légèrement différemment :

Et répartis sur plusieurs onglets :

Le processus étant globalement identique, je ne vais pas redétailler toutes les étapes. Petite différence notable : la possibilité d’affecter dès la création une ou plusieurs catégories à notre VM :

Le dernier onglet permet de vérifier l’ensemble des informations que nous venons de paramétrer :

Déploiement de la machine virtuelle

Pour déployer la machine virtuelle, démarrez la et lancez la console. La première étape est de choisir la langue :

Cliquez ensuite sur « Installer maintenant » :

Puis sélectionnez la version que vous souhaitez installer :

Acceptez le contrat de licence :

Cliquez maintenant sur « Personnalisé… » :

Malheur ! Le disque dur que vous avez configuré lors de la création de la machine virtuelle n’apparait pas… Cliquez sur « Charger un pilote » afin de corriger ce problème :

Cliquez sur « Parcourir » :

Naviguez maintenant jusqu’au répertoire correspondant à la version de Windows que vous déployez, dans mon cas Windows Server 2022 :

Sélectionnez l’ensemble des pilotes de la liste et cliquez sur « Suivant » :

Une fois l’installation des pilotes terminées, le disque apparait enfin :

L’installation est lancée, il n’y a plus qu’à patienter :

Votre machine virtuelle est déployée !

Read More

Il y a quelques mois, je m’offrais un Steamdeck pour passer le temps durant ma convalescence après une opération du pied qui m’a cloué à mon canapé. Je vous avais déjà montré que l’on peut administrer un cluster depuis le Steamdeck et j’ai voulu pousser l’expérience un peu plus loin…

Le multi-boot sur le Steamdeck

Pour rendre l’exécution de Foundation for Windows possible sur le Steam deck, il a fallut que je trouve une solution pour faire tourner un Windows 11 à la place du SteamOS nativement embarqué.

Pour réaliser l’opération, j’avais plusieurs options :

  • remplacer le système d’exploitation embarqué pour passer de SteamOS à Windows 11 mais cela me rajoutait énormément de contraintes pour pouvoir jouer sur la console à mes jeux Steam
  • mettre en place un système de multi-boot avec un disque externe sur lequel j’aurai installé un Windows 11 mais cela faisait un périphérique possiblement encombrant à trimballer…

L’objectif étant d’avoir une solution de boot additionnelle pour mon Steamdeck afin de pouvoir expérimenter Windows sur la machine dans diverses situations sans avoir à supprimer le système d’exploitation embarqué nativement, j’ai opté pour la deuxième option et je me suis mis en quête d’un disque externe qui ferait l’affaire.

En parcourant Internet, je suis finalement tombé sur un projet Kickstarter « Genki SavePoint » : https://www.kickstarter.com/projects/humanthings/genki-savepoint?lang=fr

Le Genki Savepoint est un boîtier pour mini SSD conçu pour une utilisation portable. Sur le papier, voici les promesses du boitier :

  • Compatible SSD M.2 2230
  • Capacité max de 2Tb
  • Vitesse de transfert de 10Gb/s
  • Chargement 100w
  • Dissipateur de chaleur intégré
  • Condensateur de protection intégré

Je me suis donc empressé de soutenir le projet en commandant 2 boitiers que j’ai fini par recevoir après quelques semaines d’attentes. J’y ai ajouté un SSD M.2 2230 de 1Tb pour pouvoir avoir un espace suffisant quelle que soit l’utilisation que j’en aurai…

Exit SteamOS, bonjour Windows 11 !

Une fois le boitier et le SSD reçus, j’ai procédé au montage du SSD dans le boitier et pour cela, il suffit de dévisser le dissipateur pour révéler le connecter M.2 et pouvoir insérer le SSD. Une fois connecté à l’ordinateur, le boitier est détecté comme un disque dur externe.

Il m’a fallu maintenant préparer le SSD en installant un Windows 11 dessus à l’aide de Rufus. Je ne vais pas détailler le processus ici puisque le constructeur du boitier s’en est chargé ici : https://www.genkithings.com/blogs/blog/installing-windows-on-savepoint

Une fois Windows 11 installé, j’ai téléchargé l’ensemble des drivers disponibles (https://help.steampowered.com/fr/faqs/view/6121-ECCD-D643-BAA8) et les différents logiciels que je souhaitais installer ensuite (dont Foundation for Windows) et je les ai mis en prévision sur le disque. Les choses sérieux pouvaient commencer…

Installation de Nutanix Foundation

Au premier démarrage sur le boitier, il a fallut évidemment que je fasse toute la configuration du système d’exploitation et que j’installe l’ensemble des drivers préalablement installés.

Ensuite, le déploiement de Foundation sur le Steamdeck est simple puisqu’il m’a suffit d’exécuter le fichier que j’avais téléchargé sur le site officiel (https://portal.nutanix.com/page/downloads?product=foundation).

Une fois l’installation terminée, j’ai ouvert le navigateur internet et j’ai ouvert l’adresse http://locahost:8000/gui/index.html pour accéder à l’interface de Nutanix Foundation :

Sans surprise, Foundation for Windows tourne impeccable sur le Steamdeck, mais quid d’un déploiement sans port réseau RJ45 embarqué ? Pour répondre à cette problématique, il m’a suffit de faire l’acquisition d’un mini dock USB-C avec :

  • 1 RJ45
  • 3 USB2
  • 1 USB-C
  • 2 HDMI

A ce stade, le Steamdeck est « Foundation Ready » et prêt à déployer des clusters. Toutefois, la dernière question qui reste en suspend est la suivante : est ce que cela fonctionne ? En toute honnêteté, je n’en sais rien car malheureusement je n’ai pas eu de cluster à disposition me permettant faire un test grandeur nature, mais dès que l’occasion se présentera ce sera fait !

Read More

Afin de sécuriser les flux intra-cluster dans un environnement où la segmentation réseau est inexistante, il est parfois nécessaire de configurer le backplane network pour les isoler des flux de production.

Présentation du backplane network

Le backplane network crée une interface dédiée dans un VLAN distinct sur tous les hôtes CVM et AHV du cluster pour l’échange de trafic de réplication de stockage. Le backplane network partage les mêmes adaptateurs physiques sur le pont br0 par défaut, mais utilise un VLAN non routable différent. Cela permet d’isoler les flux du cluster de ceux des machines de production de façon logique et/ou physique.

Cas d’usage

Dans notre cas, le réseau client ne dispose d’aucune segmentation du réseau et tous ses équipements sont dans le même sous-réseau (serveurs, pc, imprimantes, téléphones…).

L’objectif était donc de mettre en place le backplane network pour isoler et sécuriser les flux intra-cluster sur un VLAN dédié et indépendant du reste du réseau (flux en rouge sur le schéma) :

La première étape consiste à modifier la configuration des switchs Top-of-Rack pour ajouter le nouveau VLAN.

Configuration des switchs top-of-rack

Avant de procéder à l’activation du backplane network, il est nécessaire de préparer les ports des switchs top-of-rack pour cette opération. Dans notre cas, nous sommes sur des switchs Mellanox avec une configuration des ports en actif-backup avec un VLAN d’administration en 100 et un VLAN non routé dédié au backplane network en 3000 :

interface ethernet 1/1
switchport mode hybrid
switchport hybrid allowed-vlan add 3000
switchport access vlan 100
exit
interface ethernet 1/2
switchport mode hybrid
switchport hybrid allowed-vlan add 3000
switchport access vlan 100
exit
interface ethernet 1/3
switchport mode hybrid
switchport hybrid allowed-vlan add 3000
switchport access vlan 100
exit
interface ethernet 1/4
switchport mode hybrid
switchport hybrid allowed-vlan add 3000
switchport access vlan 100
exit

Il faut bien entendu adapter les commandes à votre modèle de switch et reproduire cette configuration sur le 2e switch Top of Rack.

ATTENTION à ne pas faire d’erreur lors de la modification de votre configuration réseau au risque de compromettre l’accès à votre cluster.

Une fois la configuration terminée, il est maintenant possible de mettre en place le backplane network sur le cluster.

Configuration du backplane network

Avant de pouvoir démarrer, il est impératif de passer l’ensemble des hôtes en mode maintenance. Pour ce faire, il faut se connecter sur une CVM et taper la commande suivante :

acli host.enter_maintenance_mode HOST_IP

Il faut répéter la commande avec l’adresse ip de chacun des hôtes de votre cluster.

Une fois l’ensemble des hôtes en mode maintenance, il faut se connecter à Prism Element, se rendre dans le menu « Setting > Network Configuration > Internal Interfaces » :

En face de « Backplane LAN » cliquer sur « Configure » :

Sur la fenêtre qui s’affiche, saisissez :

  • l’adresse ip du réseau que vous souhaitez utiliser pour le backplane network
  • le masque de sous réseau associé à ce subnet
  • l’ID du VLAN que vous avez choisi
  • le virtual switch qui va devoir le porter

Conseils et bonnes pratiques pour le choix de votre backplane network :

  • le réseau ne doit pas être routé
  • il ne doit pas exister sur le réseau
  • il faut le choisir suffisamment étendu pour intégrer les noeuds existants et éventuellement un cluster expand
  • l’ID du VLAN doit être unique sur le réseau

Une fois l’opération de configuration terminée sur le cluster, il faut sortir l’ensemble des hotes de maintenance avec la commande suivante :

acli host.exit_maintenance_mode HOST_IP

Il faut saisir la commande sur une CVM et la répéter avec l’adresse IP de chacun des hôtes du cluster.

Dans network configuration, vous pourrez constater que le réseau backplane network est désormais configuré et actif :

Votre trafic intra cluster est désormais isolé du reste du réseau.

Read More

Parfois et pour diverses raisons, il est nécessaire de configurer le VLAN directement au niveau de notre cluster Nutanix, notamment pour assurer la segmentation du réseau.

Cas d’usage

Ayant eu un peu de temps pour moi durant les vacances de Noel, je me suis attelé à la reprise de la configuration de mon réseau local afin d’isoler mon lab Nutanix de mon réseau interne.

Pour cela, il a fallu avant que je reconfigure mes équipements Ubiquiti afin de :

  • créer le VLAN 84 au niveau de la Dream Machine Pro
  • propager le VLAN 84 sur le switch 24 ports puis sur le switch 5 ports sur lequel est branché le cluster

Changement du VLAN sur AHV

Avant d’entamer les modifications, je commence par vérifier la configuration réseau de mon hôte :

[root@NTNX-5e8f7308-A ~]# ovs-vsctl list port br0
_uuid : b76f885d-59b2-4153-99d3-27605a729ab8
bond_active_slave : []
bond_downdelay : 0
bond_fake_iface : false
bond_mode : []
bond_updelay : 0
cvlans : []
external_ids : {}
fake_bridge : false
interfaces : [17e8b0de-2ef5-4f6f-b253-94a766ec9603]
lacp : []
mac : []
name : br0
other_config : {}
protected : false
qos : []
rstp_statistics : {}
rstp_status : {}
statistics : {}
status : {}
tag : 0
trunks : []
vlan_mode : []

Le résultat de la commande nous montre qu’il n’y a pas de tag sur mon hôte. Nous allons y remédier avec la commande suivante :

[root@NTNX-5e8f7308-A ~]# ovs-vsctl set port br0 tag=84

La commande « ovs-vsctl set port br0 tag= » permet de taguer l’interface de mon hôte avec l’ID du VLAN que j’ai dédié à mon réseau Nutanix. On vérifie ensuite l’application de la configuration :

[root@NTNX-5e8f7308-A ~]# ovs-vsctl show
Bridge br0
    Port vnet4
        tag: 0
        Interface vnet4
    Port br0-up
        Interface eth4
        Interface eth0
        Interface eth5
        Interface eth2
        Interface eth1
        Interface eth3
    Port br0.u
        Interface br0.u
            type: patch
            options: {peer=br.dmx.d.br0}
    Port br0
        tag: 84
        Interface br0
            type: internal
    Port br0-dhcp
        Interface br0-dhcp
            type: vxlan
            options: {key="1", remote_ip="192.168.84.200"}
    Port br0-arp
        Interface br0-arp
            type: vxlan
            options: {key="1", remote_ip="192.168.5.2"}
    Port vnet2
        Interface vnet2
ovs_version: "2.14.8"

On peut maintenant constater que le VLAN est configuré sur mon hôte, il faut maintenant faire la configuration coté CVM…

Configuration du VLAN sur la CVM

On commence par vérifier la configuration réseau de notre CVM :

[root@NTNX-5e8f7308-A ~]# ovs-vsctl show
    Bridge br0
        Port br0-up
            Interface eth4
            Interface eth0
            Interface eth5
            Interface eth2
            Interface eth1
            Interface eth3
        Port br0-arp
            Interface br0-arp
                type: vxlan
                options: {key="1", remote_ip="192.168.5.2"}
        Port br0.u
            Interface br0.u
                type: patch
                options: {peer=br.dmx.d.br0}
        Port vnet5
            Interface vnet5
        Port br0
            tag: 84
            Interface br0
                type: internal
        Port br0-dhcp
            Interface br0-dhcp
                type: vxlan
                options: {key="1", remote_ip="192.168.84.200"}
        Port vnet2
            Interface vnet2
    ovs_version: "2.14.8"

On peut constater ici que mon interface réseau ne comporte aucune information de vlan. Je procède donc à la configuration du VLAN ID en me connectant à ma CVM puis en tapant la commande

change_cvm_vlan VLANID
nutanix@NTNX-5e8f7308-A-CVM:192.168.84.200:~$ change_cvm_vlan 84
This operation will perform a network restart. Please enter [y/yes] to proceed or any other key to cancel: y
Changing vlan tag to 84
Replacing external NIC in CVM, old XML:
<interface type="bridge">
      <mac address="52:54:00:8e:69:bc" />
      <source bridge="br0" />
      <virtualport type="openvswitch">
        <parameters interfaceid="356e3bf3-5700-4131-b1b2-4fa65195a6e2" />
      </virtualport>
      <target dev="vnet0" />
      <model type="virtio" />
      <driver name="vhost" queues="4" />
      <alias name="ua-1decc31c-2764-416a-b509-d54ecd1a684f" />
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0" />
    </interface>

        new XML:
<interface type="bridge">
      <mac address="52:54:00:8e:69:bc" />
      <model type="virtio" />
      <driver name="vhost" queues="4" />
      <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0" />
    <source bridge="br0" /><virtualport type="openvswitch" /><vlan><tag id="84" /></vlan></interface>

CVM external NIC successfully updated.
Performing a network restart

On contrôle maintenant la configuration réseau de la CVM pour vérifier que le tag a bien été configuré :

[root@NTNX-5e8f7308-A ~]# ovs-vsctl show
Bridge br0
Port br0-up
Interface eth4
Interface eth0
Interface eth5
Interface eth2
Interface eth1
Interface eth3
Port br0-arp
Interface br0-arp
type: vxlan
options: {key="1", remote_ip="192.168.5.2"}
Port br0.u
Interface br0.u
type: patch
options: {peer=br.dmx.d.br0}
Port vnet5
tag: 84
Interface vnet5
Port br0
tag: 84
Interface br0
type: internal
Port br0-dhcp
Interface br0-dhcp
type: vxlan
options: {key="1", remote_ip="192.168.84.200"}
Port vnet2
Interface vnet2
ovs_version: "2.14.8"

Ma CVM est dorénavant sur le VLAN 84. Il ne me reste plus qu’à reproduire ces manipulations sur l’ensemble de mes noeuds et de vérifier ensuite que tout fonctionne correctement.

ATTENTION : la commande change_cvm_vlan présente un bug connu en 6.8 avec AHV 20230302.100173 qui fait que le VLAN ID n’est pas préservé lors du redémarrage de l’hôte : https://portal.nutanix.com/page/documents/kbs/details?targetId=kA0VO0000002uJ30AI

Read More

Les easter eggs, ou « œufs de Pâques » en français, sont des éléments cachés dans divers médias, notamment les films, les jeux vidéo, les logiciels et même les sites web et Nutanix n’y fait pas exception.

Ces petites références sont souvent placées intentionnellement par les créateurs pour divertir les utilisateurs curieux et observateurs. Ils peuvent prendre la forme de références culturelles, de clins d’œil humoristiques, de messages secrets ou de fonctionnalités inédites, accessibles uniquement par des méthodes particulières.

Les easter eggs sont devenus une sorte de tradition dans le monde numérique, renforçant l’engagement des fans et créant une connexion spéciale entre les créateurs et leur audience.

Le jeu « 2048 »

Le jeu 2048 est un puzzle populaire se jouant sur une grille 4×4. L’objectif est de fusionner des tuiles de même valeur pour atteindre la tuile de 2048. Les touches fléchées du clavier permettent de déplacer les tuiles dans les quatre directions. Chaque mouvement fait apparaître une nouvelle tuile de valeur 2 ou 4. Le jeu se termine lorsque plus aucun mouvement n’est possible.

Nutanix intègre le jeu 2048 dans ses consoles Prism Element et Prism Central, vous offrant une pause ludique lors de l’utilisation de la plateforme. Pour accéder à ce jeu, suivez les étapes suivantes :

Connectez-vous à votre interface Prism Element ou Prism Central via votre navigateur web puis, dans le coin supérieur droit de l’interface, cliquez sur votre nom d’utilisateur pour dérouler le menu.

Dans le menu déroulant, choisissez l’option intitulée « Nothing To Do? » :

Une fois l’option sélectionnée, le jeu 2048 s’ouvrira dans une nouvelle fenêtre, prêt à être joué !

Si l’option « Nothing To Do? » n’apparaît pas dans le menu, il est possible que l’administrateur l’ait désactivée. Pour vérifier ce paramètre, accédez aux Paramètres de la console, puis à la section Apparence et enfin aux Paramètres de l’interface utilisateur. Assurez-vous que la case permettant d’activer le jeu est cochée.

NetHack

Nethack est un jeu emblématique de la culture geek, connu pour son gameplay en mode texte et ses nombreux easter eggs et références culturelles. Les dragons sont des créatures puissantes dans ce jeu, et les dessins ASCII sont souvent un hommage à ce type de jeux.

La référence à NetHack est cachée dans Nutanix Move. Pour l’afficher, connectez vous en SSH à la VM Move et tapez la commande suivante :

cat /opt/xtract-vm/bin/dragon.txt

Et voici ce que vous aurez à l’écran !

Options de personnalisation avancées

Vous pouvez accéder à des options de personnalisation avancées grâce à un raccourci caché qui vous permettra de customiser la page de connexion de votre cluster !

Pour y accéder, connectez vous à votre cluster, rendez vous dans les paramètres puis dans la rubrique « UI Settings ». Ensuite, cliquez sur « UI Settings » tout en maintenant la touche « Alt » de votre clavier enfoncée :

Vous aurez alors plus d’options de personnalisation de l’interface de connexion :

Le Seigneur des Anneaux

Parmi les services qui permettent de faire tourner votre cluster, il en est 2 qui sont une référence directe à l’épée d’Aragorn dans l’oeuvre de Tolkien, le Seigneur des Anneaux. Je parle évidemment d’Anduril, Flamme de l’Ouest, forgée avec les fragments de Narsil.

Anduril et Narsil sont 2 services Nutanix que vous pouvez retrouver quand vous tapez la commande « cluster status » sur une de vos CVMs :

Stargate

Toujours parmi les services Nutanix, on peut retrouver une référence au film et à la série culte du même nom : Stargate, la porte des étoiles.

Pour l’afficher, toujours la même commande : cluster status depuis une CVM :

Star Trek

Parmi les autres easter eggs cachés dans Nutanix, on peut trouver une référence à l’univers de Star Trek avec le service Uhura qui est une référence à Nyota Uhura, un lieutenant de l’USS Enterprise !

Pour l’afficher, toujours la même commande : cluster status depuis une CVM :

Xmen

Toujours parmi les services Nutanix, on peut trouver une référence à l’univers des Xmen avec le service Cerebro !

Cerebro est un ordinateur de haute technologie créé par le Professeur Charles Xavier avec l’aide de Magneto et qui amplifie les ondes cérébrales de la personne qui l’utilise.

Pour l’afficher, toujours la même commande : cluster status depuis une CVM :

Terminator

Très explicite celui ci, et toujours parmi les services de votre cluster… Terminator, méchant incontournable de la pop culture !

Pour l’afficher, toujours la même commande : cluster status depuis une CVM :

Mythologie grecque et romaine

Le plus gros morceaux des références puisqu’il existe pas loin d’une dizaine de références aux Dieux des mythologies grecque et romaine…

Zeus, Hera, Minerve, Athena… Il y passent presque tous !

Si vous souhaitez visiter le Mont Olympe, c’est toujours en CLI depuis une CVM avec un cluster status :

Et vous ? Avez vous trouvé d’autres références cachées dans Nutanix ?

Read More

Une question qui revient régulièrement : « quelles sont les mots de passe par défaut sur mon cluster ? »

Voici une liste exhaustive des mots de passe d’un cluster Nutanix en post-installation, ainsi que ceux de certaines briques additionnelles :

Mots de passe des hôtes AHV

  • Compte « root » : nutanix/4u
  • Compte « nutanix » : nutanix/4u
  • Compte « admin » : nutanix/4u

Mots de passe des CVM :

  • Compte « admin » : nutanix/4u
  • Compte « nutanix » : nutanix/4u

Mots de passe de Prism Central :

  • Compte « admin » : Nutanix/4u
  • Compte « nutanix » : nutanix/4u

Mots de passe de Nutanix Move :

  • Compte « admin » : nutanix/4u

Mot de passe Nutanix Files :

  • Compte « nutanix » : nutanix/4u

Je vous invite à lire cet article pour effectuer le changement des mots de passe de votre cluster : https://juliendumur.fr/nutanix-ahv-operations-post-install-partie-1/

Read More