Topologie complète avec les icones de VMware

Chap 1. Configuration d’un serveur DNS-DHCP avec Zentyal
Chap 2. Installation de vSphere 6.5 dans Proxmox
Chap 3. Nested ESXi – ESXi imbriqué dans un autre ESXi
Chap 4. Configuration du réseau et de pfSense dans vSphere 6.5
Chap 5. FreeNAS – Configuration d’un serveur NFS avec VMware vSphere 6.5
Chap 6. FreeNAS – Configuration d’un SAN iSCSI avec VMware vSphere 6.5
Annexe. Topologie complète avec les icones de VMware

ANNEXE. Topologie complète avec les icones de VMware

Pour les adeptes des belles icônes, ci-dessous la topologie complète de mon lab avec les icônes officiles de VMware que vous pouvez récupérer ici.

A chaque fois que vous utilisez ces icônes, vous êtes dans l’obligation de faire mention des conditions d’utilisation de VMware.

This document was created using the official VMware icon and diagram library. Copyright © 2012 VMware, Inc. All rights reserved. This product is protected by U.S. and international copyright and intellectual property laws. VMware products are covered by one or more patents listed at http://www.vmware.com/go/patents.

VMware does not endorse or make any representations about  third party information included in this document, nor does the inclusion of any VMware icon or diagram in this document imply such an endorsement.

C’est pour celà que je m’en suis passé pour les articles précédents.

Publicités

FreeNAS – Configuration d’un SAN iSCSI avec VMware vSphere 6.5

Chap 1. Configuration d’un serveur DNS-DHCP avec Zentyal
Chap 2. Installation de vSphere 6.5 dans Proxmox
Chap 3. Nested ESXi – ESXi imbriqué dans un autre ESXi
Chap 4. Configuration du réseau et de pfSense dans vSphere 6.5
Chap 5. FreeNAS – Configuration d’un serveur NFS avec VMware vSphere 6.5
Chap 6. FreeNAS – Configuration d’un SAN iSCSI avec VMware vSphere 6.5
Annexe. Topologie complète avec les icones de VMware

Chap 6. FreeNAS – Configuration d’un SAN iSCSI avec VMware vSphere 6.5

Cette partie requiert un peu plus d’attention si vous n’êtes pas familier avec le domaine. Avant de suivre étape par étape la configuration de FreeNAS et du vCenter, je vais vous demander de lire et même de relire l’article en entier afin de comprendre où l’on veut arriver.

Commençons par la topologie du réseau.


Je vous fait un zoom sur la partie dont je vais consacrer ce chapitre.

I. Configuration de FreeNAS

1. Réseau

Configurer les deux interfaces réseaux dans Network > Interface > Add Interface, comme suit.


N’oubliez pas de rajouter la MTU à 9000 pour la jumbo frame.

On se place ensuite dans Sharing > Block (iSCSI).

Ensuite, il faut ajouter les éditer et ajouter les informations pour accéder à notre stockage de données dans l’ordre suivante.

 

2 Stockage de données

2.1. Target Global Configuration

Pour qu’une communication entre l’hôte ESXi et le storage SAN ait lieu, il nous faut un Initiateur et un Target.

Le rôle d’Initiateur est attribué à l’hôte ESXi, tandis que celui de Target (ou cible) est attribué au SAN. Pour identifier un node iSCSI, il lui faut attribuer un nom: un du côté de l’hôte et un autre du côté du SAN.

Par convention, le nom des nodes devraient commencer par IQN ou EUI.

Côté cible, on a: iqn.2005-10.org.freenas.ctl.

Côté initiateur, qu’on verra plus loin, on a: iqn.1998-01.com.vmware.

2.2. Portals

Ajouter le ou les adresses IPs pour contacter le serveur SAN.

2.3. Initiators

Configurer les règles d’accès au SAN. Ici, j’ai choisi l’option la plus simple en autorisant tout node contactant le serveur SAN à accéder à toutes les ressources disponibles.

 

2.4. Targets

Donner un nom au Target, puis sélectionner le portal créé plus haut.

2.5. Extents

Sélectionner le disque à partager.

2.6. Associated target

Associer au target le disque qu’on vient de créer.

II. Configuration des ESXis

1. Réseau

Pour la partie réseau, je vous renvoie au Chap 4. dans lequel j’ai détaillé toutes les étapes à suivre pour configurer le vswitch approprié.

2 Stockage de données

2.1. Ajout d’un adapter iSCSI

Pour atteindre le SAN, il nous faut un Initiator et un Target. L’initiator transporte les requêtes SCSI, initié par l’ESXi hôte. Et le target c’est le FreeNAS.

Il faut savoir que dans un environnement vSphere, on distingue deux types d’adapter iSCSI:

  • Software iSCSI adapter
  • Hardware iSCSI adapter

Comme le nom l’indique, le Software adapteur est un adapteur qui est géré directement par le vmkernel et utilise votre carte réseau LAN pour faire passer le traffic.

Concernant l’adapteur physique, ici encore il y a deux types:

  • Independent Hardware iSCSI adapter (exemple, QLogic QLA4052 adapter)
  • Dependent Hardware iSCSI adapter (exemple, iSCSI licensed Broadcom 5709 NIC)

Ceux sont deux cartes dédiés aux traffics SCSI, le premier est un HBA alors que le second est un Accélérateur de trafic.

Dans mon lab, je n’ai pas besoin d’une carte dédiée pour accéder à mon storage SAN.

Commençons par ajouter l’adapteur de type Software iSCSI.

Sélectionner Storage Adapters > Add new storage adapter > Software iSCSI adapter.


Vérifier que l’initateur est bien créé, et que le status de l’adapteur affiche bien qu’il est activé (enabled) dans les propriétés de l’adapteur.

2.2 Ajout de l’entrée vers l’iSCSI SAN

Maintenant que l’initiateur est configuré, il faut ajouter le lien pour accéder au Target.

Dans l’onglet Target, sélectionner Dynamic Discovery > Add.

Ajouter les addresses IPs pour accéder au storage SAN,


Puis valider l’ajout en fesant un scan du Storage adapter de l’hôte concerné, ou tout simplement en rescannant tous les hôtes.

Vérifier ensuite que le target s’affiche bien dans l’onglet Static Discovery.


Les chemins d’accès au storage SAN devraient s’afficher comme actifs.


Dans l’onglet Devices, on devrait voir les informations du FreeNAS.

Dernière étape, le network binding. Vous devriez pouvoir ajouter les deux network adapteurs pour le traffic SCSI.

Configuration du réseau et de pfSense dans vSphere 6.5

Chap 1. Configuration d’un serveur DNS-DHCP avec Zentyal
Chap 2. Installation de vSphere 6.5 dans Proxmox
Chap 3. Nested ESXi – ESXi imbriqué dans un autre ESXi
Chap 4. Configuration du réseau et de pfSense dans vSphere 6.5
Chap 5. FreeNAS – Configuration d’un serveur NFS avec VMware vSphere 6.5
Chap 6. FreeNAS – Configuration d’un SAN iSCSI avec VMware vSphere 6.5
Annexe. Topologie complète avec les icones de VMware

Chap 4. Configuration du réseau et de pfSense dans vSphere 6.5

 

I. Reconfiguration des différents serveurs, physique et virtuels

Le chapitre précédent présente la base du lab à créer. Cependant, je ne le trouve pas parfait et il y a encore quelques améliorations qu’on peut y ajouter. Entre autre, il n’y a plus besoin d’accéder à vCenter directement en dehors du lab et se fier à notre parefeux qui fait office de passerelle (pfSense).

Concernant l’installation de pfSense, je vous recommande de lire la documentation. Il n’y a pas grand chose à faire, à part accepter toutes les options proposées, et de les laisser tel quelles en gardant tout par défaut.

1. Ajout d’un nouvel adapter pour l’ESXi physique

Jusqu’ici, la gestion de l’ESXi host se fait à partir du réseau physique en 127.X.Y.Z. Afin d’éviter au vCenter de passer par multiple réseau afin de gérer cet hôte, j’ai décidé d’ajouter ce dernier dans le même réseau que le vCenter.

L’hôte physique ESXi a donc besoin d’un adapteur (carte réseau virtuelle) pour pouvoir communiquer avec le réseau du lab en 192.168.1.0/24.

Pour celà,

  • Créer un nouveau port group que j’ai appelé « ESXi host mgt », dans vSwitch1. Vous pouvez l’appeler autrement
  • Ne pas attacher une carte physique au port nouvellement créé. Il n’y en a pas besoin vu que tout le traffic passera par pfSense

Pour rappel, toutes les machines virtuelles se trouvent aussi dans le réseau géré par vSwitch1, c’est pour celà que j’ai choisi cette option pour ajouter notre hôte auquel j’ai assigné l’adresse IP 192.168.1.111.

Verifier que vous pouvez y acceder à la gestion de l’ESXi physique à partir de n’importe quel VM du réseau 192.168.1.0.

Une fois que l’hôte est joignable par le vCenter, il faut le supprimer de l’inventaire de ce dernier pour l’ajouter avec l’adresse IP dans le même réseau que le vCenter lui même.

2. Déconnecter l’hôte

Pour ce faire, sélectionner l’ESXi physique puis sélectionner Déconnecter avant de cliquer sur Supprimer de l’inventaire du vCenter.

3. Reconnecter l’hôte

Une fois c’est fait, rajouter l’hôte en utilisant l’adresse IP du réseau du lab, ici 192.168.1.111.

4. Supprimer les adapteurs non utilisés des différents VMs

Vu que tout notre traffic passera par pfSense, vous pouvez supprimer l’adapter VM network pour chacunes des VMs qui l’utilisent.

Dans vSwitch0, pfSense devrait être la seule machine virtuelle à y être présente.

Pourquoi s’embêter à faire toutes ces étapes, alors qu’on aurait pu le faire depuis le précédent chapitre? Je vous rappelle que ceci est une initiation à l’utilisation de l’environement vSphere. En passant par toutes ces étapes, celà m’a permis de mieux comprendre comment s’y prendre pour créer un lab fonctionnel.

II. Configurer pfSense

Une fois pfSense installé, il s’autoconfigure en questionnant votre DHCP.

S’il n’arrive pas à récupérer une adresse IP, ce n’est pas grave. Vous pouvez le faire manuellement.

Un petit conseil, vu qu’il y a deux cartes et que vous ne saurez pas laquelle qui est attachée à quelle interface, je vous conseille de ne configurer qu’une interface à la fois. Une fois ceci fait, et que tout marche bien, vous pouvez ensuite configurer en toute sécurité l’autre interface.
Un autre conseil, si ce n’est pas la bonne carte qui est attachée à l’interface du pfSense, au lieu de configurer l’interface avec l’option 1, modifier l’interface directement au niveau de la configuration de la machine virtuelle. C’est comme çà que vous devrez procéder pour tout problème d’interface.

Une fois que vous avez accès à l’interface de gestion du pfSense, les identifiants par défaut sont: admin/pfsense.

1. Système

Dans System>General Setup,

  • Dans le champ hostname, j’ai donné le nom de la VM, avec pour domaine « mylab.local » qui est le nom de domaine que j’utilise via Zentyal
  • Pour la partie DNS Serveurs, vu que j’utilise un des labs de mon entreprise, je dois ajouter l’adresse IP du DNS forwarder qui est un serveur DNS dans le même réseau que l’ESXi physique, sans oublier de rajouter mon domaine local. Aussi je dois préciser la passerelle pour accéder à internet.

2. Interfaces

Configurer l’interface WAN, avec l’adresse IP que vous voulez utiliser pour accéder à pfSense sur le réseau local du lab.

Très important, décocher l’option « block private network », sinon vous n’aurez pas accès au pfsense en dehors de votre lab.

En ce qui concerne l’interface LAN, il n’y a pas grand chose à modifier à part qu’il faut choisir une interface statique.

3. Parefeux

Je vais simplifier les règles du parefeux pour avoir accès à mon environment. En entreprise, il faut prendre toutes les précautions afin de ne pas exposer votre réseau par inadvertance à d’enventuel accès de l’extérieur.

Une fois ces règles appliquées, vous devriez avoir deux règles au total.

 

III. Configuration de réseau pour la préparation à la connection avec freeNAS

Dans cette partie, je vais préparer et configurer les différents switchs des ESXi embarqués (nested ESXi) afin de pouvoir accéder au serveur de données freeNAS.

Après l’installation de l’ESXi, vous ne devriez avoir qu’un seul switch de disponible (vswitch0). Je vais garder ce switch pour la communication des différents VM que je vais ajouter à cet hôte embarqué.

De ce fait, je vais créer un nouveau switch pour la communication entre l’hôte embarqué et freeNAS.

Dans les configurations au niveau du Virtual Switch, sélectionner Add Host networking.

Ensuite, choisissez l’option VMkernel Network Adapter.

Et c’est à ce niveau que vous pouvez créer un nouveau switch virtuel.

Sélectionner ensuite les trois carters réseaux, un pour NFS et les deux autres pour le traffic iSCSI.

1. Création d’un switch virtuel et ajout du premier port group pour les traffics iSCSIs

Vu qu’il y a deux cartes pour les traffics iSCSI, il va falloir ajouter deux ports groupes, iSCSI1 et iSCSI2.

Appliquer une adresse IP statique à ce port.

Le traffic iSCSI1 passera par le réseau 172.16.10.0/24, et celui de iSCSI2 par 172.16.20.0/24.


Vérifier que tout est bon avant de valider la création de vswitch1 ainsi que du port group iSCSI1.


Assigner l’un des adapteurs physiques au port group nouvellement créé.

L’idée ici est de ne faire passer qu’un type de traffic par adapteur physique.

Editer les configurations de l’iSCSI1.


Garder toutes les options par défaut, par contre au niveau du Teaming and Failover, sélectionner Override, puis déplacer les adapteurs non utilisé pour ce traffic dans Unused Adapter.


Vérifier ensuite que le port groupe iSCI1 n’est connecté qu’à un seul adapteur physique.

Ce n’est pas tout, éditer ensuite la configuration de l’adapteur physique pour changer la MTU en 9000 (jumbo frame), puisqu’on va configurer de même les interfaces de freeNAS.


Modifier de ce fait le vmkernel adapteur de l’iSCSI1 afin d’accepter les jumbo frames.

2. Ajout du deuxième port group pour traffic iSCSI et du troisième pour le traffic NFS

Il suffit de suivre les mêmes étapes que précédement.


Par contre, il n’y a plus besoin de créer un nouveau switch virtuel. On va utiliser vswitch1.


Je ne vais pas refaire toute les étapes pour ajouter le port groupe iSCSI2. Revoyez les étapes ci-dessus.

Créer le port group NFS pour les traffics NFS.


Tous les serveurs qu’un réseau devrait avoir une adresse IP statique et non dynamique.

Le traffic NFS passera par le réseau 172.31.255.0/24.


Editer ensuite le port group NFS pour utiliser l’adapteur qui lui est dédié.


Configurer le vmkernel (vmk3) avec un MTU de 9000 pour les jumbo frames.

 

Et voilà, je pense que c’est l’une des parties les plus « dure » du lab. Une fois le réseau est configuré comme il faut, vous devriez être bon pour la suite.

Nested ESXi – ESXi imbriqué dans un autre ESXi

Chap 1. Configuration d’un serveur DNS-DHCP avec Zentyal
Chap 2. Installation de vSphere 6.5 dans Proxmox
Chap 3. Nested ESXi – ESXi imbriqué dans un autre ESXi
Chap 4. Configuration du réseau et de pfSense dans vSphere 6.5
Chap 5. FreeNAS – Configuration d’un serveur NFS avec VMware vSphere 6.5
Chap 6. FreeNAS – Configuration d’un SAN iSCSI avec VMware vSphere 6.5
Annexe. Topologie complète avec les icones de VMware

Chap 3. Nested ESXi – ESXi imbriqué dans un autre ESXi

Mon petit server n’ayant pas assez pas assez de ressources pour reproduire un datacenter dans un lab, j’ai de la chance de pouvoir utiliser le lab du boulot. Pour vous donner une idée du matériel, voici ce que j’ai utilisé.

I. Topologie du réseau

La topologie de mon lab serait,

Avec comme passerelle (gateway) le pfSense pour faire passer le traffic de mon lab vers l’extérieur.

Je n’ai pas utilisé Zentyal comme passerelle pour deux raisons:

  • Zentyal fait déjà pas mal de choses (serveur DNS, DHCP et bientôt comme contrôleur de domaine .. ou pas)
  • Je préfère un serveur dédié et spécialisé dans le domaine pour gérer le traffic qui passe sur mon réseau

Un petit point négatif pour Zentyal en tant que serveur DNS, j’ai noté qu’une modification d’une addresse IP du serveur  lui même n’est pas prise en compte dans la table DNS. Je m’explique.

J’ai eu le « malheur » de remplacer Zentyal par pfSense comme passerelle par défaut pour connecter mon réseau à internet.

J’ai modifié l’adresse IP du serveur Zentyal par une autre. J’ai ensuite utilisé l’adresse IP libérée par Zentyal pour l’assigner au server pfSense. Du coup, la résolution de nom ne passe plus.
Le module DNS de Zentyal pense que est pfSense est le nouveau serveur DNS malgré toutes les modifications que j’ai apportées. J’ai beau chercher, et la seule solution que j’ai trouvée serait de supprimer l’entrée DNS ci-dessous puis de le rajouter en prenant soin de ne pas oublier d’ajouter tous mes serveurs avec leurs IP et FQDNs associés.

Si vous voulez utiliser Zentyal comme passerelle, libre à vous. Pour celà, une fois la partie LAN configurée correctement, ajouter une interface WAN avec  l’option Interface WAN activée.

 

Et voilà, j’espère que cette petite introduction va vous aider à comprendre la suite ainsi que les différences configurations à appliquer.

 

II. Préparation des différentes machines virtuelles (VMs)

Je ne vais pas vous parler encore une fois de l’installation de Zentyal, ni de ESXi ou de vCenter puisque je l’ai déjà traité dans la partie 1 et 2 de cette série d’article.

Par contre, je vais vous préciser quelques détails sur lesquels je n’en ai pas parlé précédement mais aussi comment préparer les différentes machines virtuelles.

 

Noter que pour VMware, ESXi installé comme machine virtuelle n’est pas du tout supporté en production. Dans ce cas, on parle de Nested ESXi, que vous pouvez utiliser dans le cadre d’un lab par exemple, pour pour tester une mise-à-jour avant de l’appliquer à vos serveurs.

 

Voici les différentes configurations pour chaque machine virtuelle que je vais utiliser dans le cadre de ce lab. Je ne vais pas m’attarder sur toutes les configurations, mais juste sur la partie qui concerne le réseau, puisque c’est la partie la moins évidente. Pour le reste, comme par exemple la taille de la VM, le nombre de mémoire à utiliser, etc. j’ai pris ce qui est recommendé pour chaque système d’exploitation.

1. Configuration du VM Zentyal

Vérifier que vous avez une carte réseau qui est directement relié à votre réseau du lab, dans mon cas le réseau s’appelle « Lab network » et a pour IP en 192.168.1.0/24.

La deuxième carte réseau que j’ai nommée VM Network, est optionnelle, vu que je l’ai utilisée pour se connecter à cette VM tant que ma passerelle (pfSense, cf chapitre suivant) n’est pas configurée.

Une fois Ubuntu installé dans cette VM, avec ou sans Zentyal, je vous propose d’installer l’outil open-vm-tools avec la commande,

sudo apt install open-vm-tools

Open VM Tools est non seulement utile pour avoir les drivers pour l’adapter VMXNET3 de VMware, mais en plus, grâce à cette outil, vous pouvez ouvrir la console du VM en plein écran.

2. Configuration des deux ESXi

Pour ESXi, il nous faut 4 cartes réseaux:
– Lab network, pour la gestion de l’hôte
– VM iSCSI 1 et 2, pour se connecter au stockage de donnée en iSCSI
– VM NFS, pour se connecter au stockage de donnée en NFS

3. Configuration de pfSense


pfSense n’a besoin que de deux cartes, une pour se connecter au réseau physique, et l’autre pour se connecter au reste du lab. On utilisera cette machine comme passerelle pour autoriser les traffics à sortir du lab, pour se connecter au « reste du monde ».

4. Configuration du vCenter

Pour l’instant, il nous faut deux cartes sur cette machine. Une pour se connecter au lab, et l’autre pour se connecter au réseau physique, ainsi de pouvoir gérer l’ESXi physique directement.
Dans le prochain chapitre, je vous donnerai un peu plus de détail sur comment configurer vCenter une fois qu’on a pfSense bien configuré comme il faut.

Une fois vCenter installé et que vous tentez d’accéder au serveur à partir d’une machine tournant sous linux, vous aurez la surprise d’avoir un message qui ne vous y autorise pas de le faire puisque linux n’est pas supporté officiellement par VMware.


Je trouve celà d’une hypocrisie qui n’a pas de nom vu que les OS utilisés par VMware avaient une base linux, et je ne vois pas en quoi il y a besoin d’un type d’OS particulier pour accéder à une page de gestion d’une machine qui de plus est sous HTML5! Mais bon, passons.

Pour y remédier, installer le plugin User-Agent Switcher (par Linder) de firefox, puis de faire croire que vous êtes sous Windows. Je n’ai pas essayé d’autres plugins puisque celui-ci fait l’affaire.

Au final, voici à quoi devrait ressembler votre lab si vous avez suivit les mêmes étapes que moi.

Et pour la license, vu que c’est en mode évaluation, elle s’expirera dans 60 jours. D’ici là, j’espère que vous avez compris le concept de la virtualization avec VMware.

5. Configuration de FreeNAS


Je vais utiliser freeNAS comme serveur SAN et NAS. En plus de l’adapter pour gérer le serveur freeNAS, il me faut en plus de l’adapteur existant, 3 autres dont deux pour le traffic iSCSI et un pour NFS.

III. Configuration des différents switchs de l’ESXi physique

Pour ce lab, je me suis limité à trois différents switchs que je trouve suffisant pour ce que j’ai à faire.

Pour vSwitch0, j’ai assigné une carte réseau dédiée pour le management (vmnic0).

Editer le portgroup du Management Network, pour forcer le traffic à passer par vmnic0.
Dans l’option Teaming and Failover, cocher l’option Override, puis déplacer vmnic1 en Standby.

Puis une autre carte (vmnic1) pour le traffic utilisé par les différentes VMs.

vmnic1 n’est pas nécessaire. Je vais le supprimer par la suite une fois pfSense configuré comme il faut, ainsi que la carte réseau du vCenter.

 

vSwitch1 n’a pas besoin d’être connecté à une carte réseau. C’est la passerelle qui s’en chargera de faire passer le traffic.

vSwitch2 regroupe plusieurs réseaux. Du coup, afin de séparer les différents traffics, il y a le choix entre utiliser les VLANs, ou de créer un switch par traffic (2 traffics en iSCSI et 1 pour NFS). J’ai opté pour la première option.

Par contre, pour que les ESXis embarqués puissent faire passer du traffic, il faut activer l’option promiscuous mode, qui est désactivé par défaut et par sécurité. Ne le faites surtout pas dans un environement en production!

Si l’option Forged Transmits est en mode « Reject« , il faut l’activer en cochant l’option « override » puis sélectionner Accept.

Installation de vSphere 6.5 dans Proxmox

Chap 1. Configuration d’un serveur DNS-DHCP avec Zentyal
Chap 2. Installation de vSphere 6.5 dans Proxmox
Chap 3. Nested ESXi – ESXi imbriqué dans un autre ESXi
Chap 4. Configuration du réseau et de pfSense dans vSphere 6.5
Chap 5. FreeNAS – Configuration d’un serveur NFS avec VMware vSphere 6.5
Chap 6. FreeNAS – Configuration d’un SAN iSCSI avec VMware vSphere 6.5
Annexe. Topologie complète avec les icones de VMware

Chap 2. Installation de vSphere 6.5 dans Proxmox

L’installation de vSphère 6.5 dans proxmox n’est peut être pas évident pour tout le monde. C’est pour celà que j’écris cet article.

Avant d’aller plus loin, je tiens à préciser quelques points.

Primo, vous pouvez télécharger gratuitement la suite vSphère sur le site de VMware. Noter que le produit nécessite une license, une fois la période d’essai gratuite de 60 jours terminée.
Secondo, il n’est plus nécessaire d’installer vCenter dans un serveur Windows. Il faut l’installer comme une machine virtuelle à part entière.
Tertio, je tiens à rappeler que j’utilise debian 9.1 sur un macbook pro. Du coup, j’ai rencontré des soucis lorsqu’il fallait appuyer sur la touche F11 du clavier pour valider l’installation de l’ESXi. Bizarrement, c’est la seule touche en combinaison avec fn, qui n’est pas reconnue, puisque F2 et F9 le sont. Même soucis avec un clavier externe attaché au Mac. Il m’a fallut utiliser un PC/linux pour continuer et terminer l’installation.

I. Préparation est installation du serveur ESXi

Je pars du principe que vous avez installé Proxmox sur un ordinateur ou un serveur dédié avec au moins 16GB de mémoire physique.

Créez une machine virtuelle principale pour acceuillir le serveur ESXi, avec les spécifications suivantes.

CPU >= 2 (type: host)
RAM >= 10GB
Local disk0 >= 2GB (format VMDK)
Local disk1 >= 25GB (format VMDK)
Network: VMXNET3
OS: Other OS types

Ajouter un deuxième disque dur pour l’installation du serveur vCenter.


Ici, j’ai pris la taille du disque proposée par défaut, qui est de 35GB.

Une fois la machine virtuelle prête, vous pouvez vous lancer dans l’installation du serveur ESXi.

Concernant les adresses IP à appliquer aux serveurs, il est fortement conseillé d’utiliser une adresse IP statique.

Une fois l’installation terminée, formater le deuxième disque afin qu’il soit utilisable pour l’installation de vCenter. Pour celà, il suffit de taper l’adresse IP du serveur ESXi dans votre navigateur internet.

II. Installation du serveur vCenter

Comme je le disais dans le titre, il est maintenant possible d’installer vCenter à partir d’une machine tournant sous linux, mais cependant pas avec n’importe quelles distributions. Il faut utiliser Ubuntu ou Suse linux.

Je me suis donc créé une machine virtuelle Ubuntu dans Proxmox, puis j’ai lancé le fichier d’installation de vCenter. Ce; tte étape peut se faire en deux étapes. Une fois la première étape terminée, vous pouvez poursuivre l’installation à une date ultérieure, puis de reprendre à partir de la deuxième étape en entrant dans l’URL de votre navigateur l’adresse IP du serveur vCenter.

Étape 1:


En production, il est fortement recommandé d’ajouter un serveur via son nom de domaine au lieu de l’adresse IP. Je vous explique comment faire à la troisième partie de ce chapitre.

Comme je n’ai pas configuré de serveur DNS lors de cette manipulation, et surtout que c’est un lab, je peux donc me permettre d’utiliser l’adresse IP comme solution temporaire.


Note: Je viens de terminer un article expliquant comment configurer un serveur DNS. Je vous renvoie sur cette page pour voir comment procéder.


Étape 2:
Accéder à l’interface du vCenter à partir de son adresse IP. Vous allez constater qu’il vous faut du flash! Et oui, sans flash vous pouvez toujours utiliser l’interface en HTML5, mais avec des fonctionnalitées limitées.

Heureusement, le problème avec flash sera définitivement résolu d’ici 2020, finalement! Adobe a annoncé officiellement que flash sera retiré du marché après cette date:

« as open standards like HTML5, WebGL and WebAssembly have matured over the past several years, most now provide many of the capabilities and functionalities that plugins pioneered and have become a viable alternative for content on the web. (…) Adobe is planning to end-of-life Flash. Specifically, we will stop updating and distributing the Flash Player at the end of 2020 and encourage content creators to migrate any existing Flash content to these new open formats. »

III. Note concernant l’installation du vCenter via Ubuntu, une fois le serveur DNS/DHCP configuré

Dans la première partie de cet article, je vous ai expliqué comment installer un serveur vCenter lorsqu’on n’a pas de serveur DNS en place. Dans cette partie, nous allons en tenir compte de la présence de Zentyal, qui sera notre serveur DNS sur le réseau (cf. chap 1).

Avant de procéder à l’installation du serveur vCenter, je tiens à rappeler que j’utilisez un nom de domaine en .local (mylab.local). Celà pose un problème lorsqu’on utilise la version bureau de Ubuntu qui, utilise un serveur DNS en local (Avahi), et qui, lui aussi traduit les noms de domaines du type le-nom-de-mon-hote.local en adresse IP.

administrator@budgie:~$ ping debian.local
PING debian.local (192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10 (192.168.1.10): icmp_seq=1 ttl=64 time=2.36 ms
64 bytes from 192.168.1.10 (192.168.1.10): icmp_seq=2 ttl=64 time=1.31 ms
^C
--- debian.local ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 1.317/1.838/2.360/0.523 ms

Par contre,

administrator@budgie:~$ ping esxi-01.mylab.local
ping: esxi-01.mylab.local: Name or service not known

 

Et ceci, malgré le fait que la résolution de noms se fait sans problème.

administrator@budgie:~$ host esxi-01.mylab.local
esxi-01.mylab.local has address 192.168.1.51

Si vous vous décidez tout de même à lancer l’installation de vCenter sans prendre compte les alertes ci-dessus, vous allez recevoir un message d’erreur de type:

error: Could not get certificate fingerprint from host, esxi01.mylab.local: Error: getaddrinfo ENOTFOUND esxi01.mylab.local esxi01.mylab.local:443

Pour comprendre ce problème, jettons un coup d’oeil au fichier /etc/nsswitch.conf. Si je m’intéresser à ce fichier, ce n’est pas par hasard puisque les services comme dig, host, nslookup, etc. y font référence pour résoudre les noms de domaines via la commande getaddrinfo.

Si je reprends l’explication de Wikipedia concernant le fichier NSS (Name Service Switch), ce fichier « autorise le remplacement des traditionnels fichiers Unix de configuration (par exemple /etc/passwd, /etc/group, /etc/hosts) par une ou plusieurs bases de données centralisées ».

hosts: files mdns4_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns myhostname

La partie qui nous intéresse dans ce fichier est la partie au niveau de la ligne hosts. La recherche d’information via les commandes comme ping, nslookup, etc., se fait en lisant la ligne de gauche à droite.

  1. files traduit les noms d’hôtes statics via le fichier /etc/hosts
  2. mdns4_minimal traduit les noms de domaines en passant par le multicast DNS (mDNS)
  3. [NOTFOUND=return] signifie que, si la requête juste avant cette commande (ici, une requête mDNS) renvoie une réponde de type notfound, alors le système n’essaie pas d’autre méthode pour résoudre le nom de domaine
  4. dns, comme vous pouvez vous en doutez, traduit les noms de domaine à la façon traditionnelle

Le problème que j’ai rencontré plus haut s’explique par le fait que la recherche du nom de domaine est enclenchée par mDNS, puisque c’est la première requête DNS rencontrée au niveau de la ligne host. Puis la recherche s’arrête net et sans passer par notre serveur DNS puique, si l’on regarde le fqdn qui est esxi-01.mylab.local, mDNS recherche dans sa base de donnée s’il n’y a pas un nom d’hôte ayant pour nom esxi-01.mylab. Comme il n’y a rien de tel, la recherche s’arrête et ne va pas plus loin que [NOTFOUND=return].

Pour régler ce problème, placer dns avant mdns.

hosts: files dns [NOTFOUND=return] resolve [!UNAVAIL=return] mdns4_minimal myhostname

C’est une méthode parmis tant d’autre, et c’est ce que je recommande vivement de suivre.

Pour plus d’information concernant le multicast DNS, je vous renvoie à ces articles:

https://wiki.archlinux.org/index.php/avahi
https://doc.ubuntu-fr.org/zeroconf
https://fr.wikipedia.org/wiki/Avahi_(logiciel)

Migration de VMs VirtualBox vers Proxmox

Comment migrer des machines virtuelles de VirtualBox vers Proxmox?

Je vais essayer de vous aider à le faire, à travers ce chapitre. Ce n’est pas difficile à faire, une fois qu’on a compris le principe.

I. Préparation des VMs sous virtualbox

« Clonezilla est un logiciel libre de restauration de données, de clonage de disque, et de création d’image de disque. » (wikipedia)

Voici un petit récapitulatif des matériaux et logiciels utilisés pour cette migration.

– Serveur Physique (HP Proliant Gen 8, OS: Proxmox)
– Machine hôte (Macbook Pro 2010, OS: Debian, serveur SSH activé, Virtualbox)
– VMs (OS: Debian) à migrer
– Live CD (clonezilla-live-2.5.0-25-amd64.iso)

1. Connection SSH

Noter l’adresse IP de la machine hôte, puisqu’on va s’en servir pour une connection SSH à partir de la machine virtuelle, ainsi qu’à partir de Proxmox.

20170522-074707

De ce fait, vérifier que le serveur SSH est installé sur votre ordinateur. Si ce n’est pas le cas, faites le.

# apt-get install openssh-server

Puis vérifier que SSH est activé.

# service ssh status
# service ssh start

Ensuite, configurer ssh pour autoriser l’accès à partir de n’importe quel machine de votre réseau.

$ sudo vim /etc/ssh/sshd_config
PasswordAuthentication yes
PermitRootLogin yes

$ sudo service ssh restart

Notez bien que cette étape n’est pas la bonne pratique à utiliser avec SSH. Pour plus d’information sur comment sécuriser votre accès SSH, je vous renvoir à ce chapitre.

2. Préparation des machines virtuelles

Démarrer la machine virtuelle à migrer, puis vérifier que vous pouvez accéder à la machine hôte en SSH.

Si telnet n’est pas installé sur cette VM, les deux méthodes suivantes permettent de vous confirmer si le port 22 (SSH) est ouvert ou non.

$ cat < /dev/tcp/192.168.1.10/22
SSH-2.0-OpenSSH_6.7p1 Debian-5+deb8u3
^C

$ nc -zv 192.168.1.10 22
[192.168.1.10] 22 (ssh) open

Arrêter ensuite la machine virtuelle pour la suite.

3. Clonezilla

Créer un dossier du même nom que l’outil utilisé, Clonezilla par exemple, dans lequel vous allez placer les images créées par cet outil. Ceci vous permettra d’y accéder plus tard en SSH, en tant qu’utilisateur et non en tant que root.

$ mkdir /home//Clonezilla

Télécharger ensuite le live CD de clonezilla que vous pouvez trouver ici, puis démarrer la machine virtuelle à migrer avec.

J’ai omis certaines captures d’écran, dont les options sont restées par défaut, afin de ne garder que l’essentiel.

Une fois arrivé au niveau de la page « Mount Clonezilla Image directory » choisissez SSH pour accéder à la machine hôte, pour y placer l’image créée par Clonezilla.

Choisissez le mode DHCP afin de ne pas vous prendre la tête à configurer la carte réseau de cette VM.

Taper ensuite l’adrese IP de la machine hôte.

Et enfin, entrez le chemin pour accéder au dossier /home//Clonezilla créé précédement.

Taper « yes » pour continuer, puis entrer le mot de passe de l’utilisateur.

La connection SSH étant établi, Clonezilla peut maintenant se lancer dans la création d’une copie de l’image du VM. Le mode Beginner (débutant) est amplement suffisant. Par contre pour clôner le VM, il faut choisir le mode Expert, que nous allons voir plus loin dans ce chapitre. Donc patience!

Pour le nom de l’image, je vous conseille de choisir quelque chose qui peut vous indiquer la nature du VM, et plus particulièrement si vous avez plusieurs VMs à migrer, afin de savoir laquelle fait quoi.

Une fois l’image créée, il n’y a aucune raison d’allumer la machine virtuelle dans Virtualbox.

Au niveau de l’écran suivant, taper sur la touche « Entrée »pour continuer, puis entrer « y ».

Et voilà, la création de l’image du VM est lancée. La procédure peut prendre du temps en fonction de la taille du disque à copier.

Entre temps, vous pouvez vous occuper de la création de la machine virtuelle sous Proxmox.

II. Préparation de la machine sous Proxmox

Dans le disque local de Proxmox, télécharger une copie de du live CD de clonezilla, qu’on va utiliser pour démarrer la nouvelle machine virtuelle.

Concernant cette nouvelle VM, il faut qu’elle ait la même taille auquel il faut ajouter quelques Go d’espace supplémentaire.

Vérifions dans ce cas, les informations de notre VM dans le Virtualbox.

Comme vous pouvez le voir, ma VM fait 20Go. Il va falloir que je créee une machine avec Promox, de 21Go au moins.

1. Préparation de la nouvelle VM

Créer une machine virtuelle en cliquant en haut à droite sur « Create VM ».

Dans l’écran de création du VM, vous avez plusieurs onglets, dont le premier vous demande de renseigner les informations concernant cette nouvelle machine(Nom de la machine, etc.).

Dans l’onglet « General », il n’y a que le nom du VM à remplir. Cette case peut être laissée vide, mais Proxmox va choisir un nom générique pour votre machine.

Dans l’onglet OS, choisissez le système d’exploitation ou la version du noyau pour les machines sous linux.

Dans l’onglet CD/DVD, sélectionner l’image ISO du live CD de Clonezilla.

Dans l’onglet « Hard Disk »,
– Choisissez l’option VirtIO
– Valider la taille du disque de la VM (20Go + 1Go)
– Cocher la case « Discard » si vous utilisez des disques physiques SSD. Si ce n’est pas le cas, donc nul besoin de cette option

Dans l’onglet CPU, l’option par défaut me convient.

Dans l’onglet Memory, j’ai choisi une taille de mémoire moins importante que celle de ma machine virtuelle dans virtualbox.

Dans l’onglet Network, j’ai gardé les informations par défaut.

Pour information, VirtIO est l’équivalent du GuestOS avec la technologie de vmware.

Et voilà, la VM est prête. Si plus tard, vous n’êtes pas satisfait de votre configuration, vous pouvez toujours modifier les informations des VMs (taille de la mémoire, nombres de processeurs, etc.) comme avec Virtualbox.

2. Migration du/des VMs

Lancer la VM dans proxmox.

Pareil que dans la première étape de création de l’image, connectez vous en SSH à la machine hôte, pour récuperer l’image de la VM créée par Clonezilla.

Puis passer en mode expext pour installer cette image vers la nouvelle destination.

Choisissez ensuite l’option « restoredisk » qui, comme son nom l’indique, permet de restaure un disque. Ce n’est pas tout à fait notre cas, mais ceci pour vous dire que c’est la même procédure à suivre pour restaurer un disque à partir d’une sauvegarde, ou pour la migration de VMs.

Ensuite, il vous sera posée la question de quelles VMs vont être restaurer. D’où l’intérêt d’avoir choisi un nom d’image bien spécifique afin de pouvoir choisir le bon parmi la liste des images dans le même dossier.

Vous ne devriez pas avoir à choisir l’emplacement de la cible.

Dans cette partir, laisser les options choisis par défaut.

De même pour la suivante.

Finalement, choisissez de redémarrer la VM une fois la migration terminée, et de vérifier que tout est bon.

Et voilà, la migration commence.

Taper « y » pour continuer.


Une fois le processus de migration terminée, la VM va redémarrer.

Si tout s’est bien déroulé, la VM devrait démarrer sans problème.

Je n’ai eu aucun problème pour migrer les VMs tournant sous Debian, comme vous pouvez le voir ci-dessus. Par contre, j’ai eu droit à un écran noir avec la machine tourant sous Manjaro. Je n’ai pas chercher à comprendre d’où vient le problème, mais je préfère prévenir au cas où.

Sources

SSH – Debian wiki
How to user SSH to connect to a Remote Server in Ubuntu
Sécuriser votre rpi
Test if a port on a remote system is reachable (without telnet)
Proxmox « no backup », « discard », « iothread »
Proxmox options for Hard disk and CPU tab
how to use clonezilla to backup hard drive and create recovery iso image
restore an image of a hard drive using clonezilla

LFS: Linux From Scratch

Avant de commencer, je vous recommande de voir la presentation ci-dessous.

Pour la suite, je vous propose de vous aidez de support videos, il y en a pas mal sur internet comme ici par exemple, surtout si vous ne vous sentez pas a l’aise dans les manipulation a faire.

Honètement, il n’y a rien à rajouter par rapport à ce qui est décrit dans la documentation quoique, la documentation en français est bien faite et bien traduite par la même occasion, mais il y a eu une ou deux passage où j’ai rencontré des approximations au niveau de la traduction qui peut rendre le texte incohérent parfois incompréhensible. Je vous recommande vivement de n’utiliser que le manuel officiel en anglais et de garder celui en français sous le coude au cas où.

Autre chose, tous les paquets à utiliser au cours des differents chapitres se trouvent ici. Il n’y a besoin d’aller les cherchers ailleurs. Cependant, vu que je vais créer mon système LFS à partir d’une machine virtuelle – VMware Workstation 9 (Pas taper .. :) ), il y a quelques recommandations, non cité dans le manuel, à suivre et que je vais vous partager plus bas.

Ma dernière recommandation serait: « FAITES DES SNAPSHOTS SANS MODERATION » tant que vous avez assez d’espace disque sur votre ordinateur!

Je ne vais pas citer tous les problemes que j’ai rencontré durant l’installation de LFS. Je vais juste me limiter aux trois points ci-dessous.

1. « File not found », apres avoir selectionne LFS 7.2 lors du boot.

Petite mise-au-point: Au niveau du chapitre Utilisez GRUB pour paramétrer le processus de démarrage, avec la version 2 du Grub, il n’y a pas besoin de créer le fichier de configuration grub.cfg  et encore moins d’écraser celui existant. Par contre, il vous faut revenir dans la console du système hôte à partir duquel vous allez créer votre LFS, Debian dans mon cas, puis de taper la commande

# update-grub

Cela mettra a jour la liste dans Grub, et de ce fait vous n’aurez pour le probleme de « File not found ».

2. Système bloqué au niveau de « rest_init+0x60/0x60 » lors du demarrage de LFS:


L’article ici  nous donne plus d’information sur ce qui se passe:

—————————————————–
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.10 #1
Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/02/2012

!———sortie tronquee———-!

ret_from_kernel_thread+Ox1b/0x28
? rest_init+0x60/0x60
——————————————————

Apparement il y a un probleme de driver vmware, et plus precisement c’est un probleme avec le disque dur virtuel en SCSI qui est configure avec LSI Logic comme recommande par VMware.

 Pour resoudre ce probleme ainsi que d’autres problèmes liés à la virtualisation, on doit passer par une recompilation du noyau. Mais avant cela, configurez le fichier .config comme suit:

3. « Starting system log daemon » fail

Cà y est, on y est presque. Le systeme sysklogd doit etre recompilé et tout devrait rentrer dans l’ordre.

Pour le problème d’interface eth0, il ‘ny a pas besoin de configurer l’interface réseau comme decrit ici, cela vous evitera d’avoir un probleme avec le fichier « 70-persistent-net.rules » inexistant.

Et pour fini, le seul compte qui existe est celui de Root. N’oubliez pas de personaliser le mot de passe.

Et voila, j’espère que ce retour d’expérience vous est utile. Bonne chance pour la suite.

Note1:

J’ai installé Debian 32 bits comme recommandé dans le manuel, sur un disque de 13Go dont 11Go pour /, 1Go pour /home et 850Mo pour le Swap. (Je ferai d’autres tests avec une architecture 64bits Debian et kFreeBSD).

Pour LFS , j’ai choisi de l’installer sur un disque dur à part, de 10Go.

Notez que la partition /boot (150 MB) est une partition a part et qui sera commune aux deux systèmes d’exploitation.

Note2:

Les commandes pour se connecter en mode chroot sont a noter sur un sticky, vous en aurez souvent besoin pour aller jusqu’au bout du manuel, mon petit doigt me le dit.

Montez les differentes partitions:

echo $LFS
export LFS=/mnt/lfs

mount -v -t ext4 /dev/sdb1 $LFS

mount -v –bind /dev $LFS/dev

mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys

if [ -h $LFS/dev/shm ]; then
  link=$(readlink $LFS/dev/shm)
  mkdir -p $LFS/$link
  mount -vt tmpfs shm $LFS/$link
  unset link
else
  mount -vt tmpfs shm $LFS/dev/shm
fi

A partir du chapitre 6.66 et jusqu’a la fin du manuel, se connecter en mode chroot:

chroot « $LFS » /usr/bin/env -i \
    HOME=/root TERM= »$TERM » PS1=’\u:\w\$ ‘ \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin \
    /bin/bash –login 

Demontez les differentes partitions avant de redemarrer le systeme:

umount -v $LFS/dev/pts

if [ -h $LFS/dev/shm ]; then
  link=$(readlink $LFS/dev/shm)
  umount -v $LFS/$link
  unset link
else
  umount -v $LFS/dev/shm
fi

umount -v $LFS/dev
umount -v $LFS/proc
umount -v $LFS/sys

umount -v $LFS

shutdown -r now

Note3:

Ce n’est pas de la moindre importance, mais on connaît ou on ne connaît pas. Voici les commandes à connaître pour décompresser les différents types de fichiers:

ZIP:                  unzip archive_name.zip
TAR:                 tar -xvf archive_name.tar
TAR.GZ/TGZ: tar -zxvf archive_name.tar.gz
TAR.BZ2:         tar -jxvf archive_name.tar.bz2
 XZ:                   tar -Jxvf archive_name.xz