Cet article est le suivant dans le cycle sur oVirt, début .
Articles
- Installation du gestionnaire (ovirt-engine) et des hyperviseurs (hosts) — Nous sommes ici
Examinons donc les questions d'installation initiale des composants ovirt-engine et ovirt-host.
Les processus d'installation peuvent toujours être consultés dans .
Contenu
Installation de ovirt-engine
Pour l'Engine, les exigences minimales sont de 2 cœurs / 4 Go de RAM / 25 Go de stockage. Recommandé — à partir de 4 cœurs / 16 Go de RAM / 50 Go de stockage. Nous utilisons l'option Standalone Manager, où l’engine fonctionne sur une machine physique ou virtuelle dédiée en dehors du cluster géré. Pour notre installation, nous prendrons une machine virtuelle, par exemple, sur un ESXi autonome*. Il est pratique d'utiliser des outils d'automatisation du déploiement ou de cloner à partir d'un modèle préparé précédemment ou une installation kickstart.
*Remarque : Pour un système de production, c'est une mauvaise idée car le gestionnaire fonctionne sans redondance et devient un goulot d'étranglement. Dans ce cas, il vaut mieux envisager l'option Self-hosted Engine.
Si nécessaire, la procédure de conversion de Standalone en Self Hosted est décrite en détail dans . En particulier, il faut donner à l'hôte l'ordre de réinstaller avec le support de l'Hosted Engine.
Sur la VM, nous installons CentOS 7 dans une configuration minimale, puis mettons à jour et redémarrons le système :
$ sudo yum update -y && sudo rebootPour la machine virtuelle, il est utile d'installer l'agent invité :
$ sudo yum install open-vm-toolspour les hôtes VMware ESXi, ou pour oVirt :
$ sudo yum install ovirt-guest-agentNous connectons le dépôt et installons le gestionnaire :
$ sudo yum install https://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
$ sudo yum install ovirt-engine
Configuration de base :
$ sudo engine-setupDans la plupart des cas, les paramètres par défaut choisis sont suffisants, pour les utiliser automatiquement, vous pouvez lancer la configuration avec l'option :
$ sudo engine-setup --accept-defaults Nous pouvons désormais nous connecter à notre nouveau engine à l'adresse . Il y a encore peu de choses ici, donc passons à l'installation des hyperviseurs.
Installation de ovirt-host
Sur l'hôte physique, nous installons CentOS 7 dans une configuration minimale, puis nous connectons le dépôt, mettons à jour et redémarrons le système :
$ sudo yum install https://resources.ovirt.org/pub/yum-repo/ovirt-release43.rpm
$ sudo yum update -y && sudo reboot
Remarque : Pour l'installation, il est pratique d'utiliser des outils d'automatisation du déploiement ou une installation kickstart.
Exemple de fichier kickstart
Attention ! Les partitions existantes sont supprimées automatiquement ! Attention !
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
graphical
# Run the Setup Agent on first boot
firstboot --enable
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=us --xlayouts='us','ru' --switch='grp:alt_shift_toggle'
# System language
lang ru_RU.UTF-8
# Network information
network --bootproto=dhcp --device=ens192 --ipv6=auto --activate
network --hostname=kvm01.lab.example.com
# Root password 'monteV1DE0'
rootpw --iscrypted $6$6oPcf0GW9VdmJe5w$6WBucrUPRdCAP.aBVnUfvaEu9ozkXq9M1TXiwOm41Y58DEerG8b3Ulme2YtxAgNHr6DGIJ02eFgVuEmYsOo7./
# User password 'metroP0!is'
user --name=mgmt --groups=wheel --iscrypted --password=$6$883g2lyXdkDLbKYR$B3yWx1aQZmYYi.aO10W2Bvw0Jpkl1upzgjhZr6lmITTrGaPupa5iC3kZAOvwDonZ/6ogNJe/59GN5U8Okp.qx.
# System services
services --enabled="chronyd"
# System timezone
timezone Europe/Moscow --isUtc
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --fstype xfs --size=1024 --ondisk=sda --label=boot
part pv.01 --size=45056 --grow
volgroup HostVG pv.01 --reserved-percent=20
logvol swap --vgname=HostVG --name=lv_swap --fstype=swap --recommended
logvol none --vgname=HostVG --name=HostPool --thinpool --size=40960 --grow
logvol / --vgname=HostVG --name=lv_root --thin --fstype=ext4 --label="root" --poolname=HostPool --fsoptions="defaults,discard" --size=6144 --grow
logvol /var --vgname=HostVG --name=lv_var --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=16536
logvol /var/crash --vgname=HostVG --name=lv_var_crash --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=10240
logvol /var/log --vgname=HostVG --name=lv_var_log --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=8192
logvol /var/log/audit --vgname=HostVG --name=lv_var_audit --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=2048
logvol /home --vgname=HostVG --name=lv_home --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1024
logvol /tmp --vgname=HostVG --name=lv_tmp --thin --fstype=ext4 --poolname=HostPool --fsoptions="defaults,discard" --size=1024
%packages
@^minimal
@core
chrony
kexec-tools
%end
%addon com_redhat_kdump --enable --reserve-mb='auto'
%end
%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end
# Reboot when the install is finished.
reboot --eject
Enregistrez ce fichier, par exemple, sur . Pour utiliser le script lors de l'installation du système d'exploitation, sélectionnez 'Installer CentOS 7', activez le mode d'édition des paramètres (touche Tab) et ajoutez à la fin (avec un espace, sans guillemets)
' inst.ks=ftp://ftp.example.com/pub/labkvm.cfg'.
Le script d'installation supprime les partitions existantes sur /dev/sda, en crée de nouvelles selon (vous pouvez les consulter après installation avec la commande lsblk). Le nom d'hôte est défini comme kvm01.lab.example.com (après installation, vous pouvez le changer avec la commande hostnamectl set-hostname kvm03.lab.example.com), l'adresse IP est obtenue automatiquement, le fuseau horaire est de Moscou, et la prise en charge de la langue russe est ajoutée.
Mot de passe de l'utilisateur root : monteV1DE0, mot de passe de l'utilisateur mgmt : metroP0!is.
Attention ! Les partitions existantes sont supprimées automatiquement ! Faites attention !
Répétez (ou effectuez en parallèle) sur tous les hôtes. Du démarrage d'un serveur 'vide' à l'état prêt, avec 2 chargements prolongés, cela prend environ 20 minutes.
Ajout d'un nœud à oVirt
C'est très simple à réaliser :
Compute → Hosts → New →…
Dans l'assistant, les champs obligatoires sont Nom (nom affiché, par exemple, kvm03), Hostname (FQDN, par exemple kvm03.lab.example.com) et section Authentification — utilisateur root (inchangé) — mot de passe ou clé publique SSH.
Après avoir cliqué sur le bouton Ok Vous recevrez le message «Vous n'avez pas configuré la gestion de l'alimentation pour cet hôte. Êtes-vous sûr de vouloir continuer ?». C'est normal — nous examinerons la gestion de l'alimentation plus tard, après la connexion réussie de l'hôte. Cependant, si les machines sur lesquelles les hôtes sont installés ne supportent pas la gestion (IPMI, iLO, DRAC, etc.), je recommande de la désactiver : Compute → Clusters → Default → Edit → Fencing Policy → Enable fencing, décochez la case.
Si le dépôt oVirt n'était pas connecté sur l'hôte, l'installation échouera, mais ce n'est pas grave — il suffit de l'ajouter, puis de cliquer sur Installer → Réinstaller.
La connexion de l'hôte prend 5 à 10 minutes maximum.
Configuration de l'interface réseau
Puisque nous construisons un système tolérant aux pannes, la connexion réseau doit également fournir une connexion redondante, ce qui est réalisé dans l'onglet Compute → Hosts → HÔTE → Interfaces réseau — Configurer les réseaux de l'hôte.
Selon les capacités de votre équipement réseau et les approches architecturales, plusieurs options sont possibles. Il est optimal de se connecter à une pile de commutateurs top-of-rack, afin que la disponibilité réseau ne soit pas interrompue en cas de défaillance. Prenons l'exemple d'un canal agrégé LACP. Pour configurer le canal agrégé, faites glisser avec la souris le 2ème adaptateur inutilisé vers le 1er. Une fenêtre s'ouvrira. Créer un nouveau lien, où LACP (Mode 4, agrégation de lien dynamique, 802.3ad) est sélectionné par défaut. Du côté des commutateurs, la configuration habituelle du groupe LACP est effectuée. S'il n'est pas possible de construire une pile de commutateurs, vous pouvez utiliser le mode Active-Backup (Mode 1). Nous aborderons les paramètres VLAN dans un prochain article, et plus en détail avec des recommandations pour la configuration du réseau dans le document .
Configuration FC
Le Fibre Channel (FC) est pris en charge « out of the box », son utilisation ne pose pas de difficultés. Nous ne traiterons pas ici de la configuration du réseau de stockage, y compris la configuration des systèmes de stockage et le zonage des commutateurs fabric dans le cadre de la configuration d'oVirt.
Configuration FCoE
À mon avis, le FCoE n'a pas vraiment été largement adopté dans les réseaux de stockage, mais il est souvent utilisé sur les serveurs comme « dernier kilomètre », par exemple dans HPE Virtual Connect.
La configuration du FCoE nécessite quelques étapes supplémentaires simples.
Configurer le moteur FCoE
Article sur le site de Red Hat , avec la commande suivante, nous ajoutons la clé au gestionnaire et le redémarrons :
$ sudo engine-config -s UserDefinedNetworkCustomProperties='fcoe=^((enable|dcb|auto_vlan)=(yes|no),?)*$'
$ sudo systemctl restart ovirt-engine.service
Configurer Node FCoE
Sur les hôtes oVirt, il faut installer
$ sudo yum install vdsm-hook-fcoeEnsuite, configuration normale du FCoE, article sur Red Hat : .
Pour les CNA Broadcom, regardons en plus .
Vérifiez que les paquets (déjà inclus dans le minimal) sont installés :
$ sudo yum install fcoe-utils lldpadEnsuite, la configuration elle-même (au lieu de ens3f2 et ens3f3, insérez les noms des CNA connectés au réseau de stockage) :
$ sudo cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-ens3f2
$ sudo cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-ens3f3
$ sudo vim /etc/fcoe/cfg-ens3f2
$ sudo vim /etc/fcoe/cfg-ens3f3
Important: si l'interface réseau prend en charge matériellement DCB/DCBX, le paramètre DCB_REQUIRED doit être défini sur no.
DCB_REQUIRED="yes" → #DCB_REQUIRED="yes"
Ensuite, vérifiez que adminStatus est désactivé sur toutes les interfaces, y compris celles sans FCoE activé :
$ sudo lldptool set-lldp -i ens3f0 adminStatus=disabled
...
$ sudo lldptool set-lldp -i ens3f3 adminStatus=disabled
S'il existe d'autres interfaces réseau, vous pouvez activer LLDP :
$ sudo systemctl start lldpad
$ sudo systemctl enable lldpad
Comme mentionné précédemment, si un DCB/DCBX matériel est utilisé, la configuration DCB_REQUIRED doit être activée dans non et cette étape peut être omise.
$ sudo dcbtool sc ens3f2 dcb on
$ sudo dcbtool sc ens3f3 dcb on
$ sudo dcbtool sc ens3f2 app:fcoe e:1
$ sudo dcbtool sc ens3f3 app:fcoe e:1
$ sudo ip link set dev ens3f2 up
$ sudo ip link set dev ens3f3 up
$ sudo systemctl start fcoe
$ sudo systemctl enable fcoe
Pour les interfaces réseau, vérifiez si le démarrage automatique est activé :
$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens3f2
$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens3f3
ONBOOT=yesVérifiez les interfaces FCoE configurées, la sortie de la commande ne doit pas être vide.
$ sudo fcoeadm -iLa configuration ultérieure de FCoE se fait comme pour un FC normal.
Ensuite, configurez les systèmes et le réseau de stockage — zonage, hôtes SAN, création et présentation de volumes/LUN, après quoi le stockage peut être connecté aux hôtes ovirt : Stockage → Domains → Nouveau Domaine.
L'option Domain Function reste Data, Type de stockage — Fibre Channel, Hôte — n'importe lequel, nom — par exemple, storNN-volMM.
Votre système de stockage permet probablement de se connecter non seulement en utilisant le chemin de secours, mais aussi l'équilibrage de charge. De nombreux systèmes modernes sont capables de transmettre des données par tous les chemins de manière optimale (ALUA active/active).
Pour activer tous les chemins dans un état actif, il faut configurer le multipathing, ce qui sera abordé dans les prochains articles.
La configuration de NFS et iSCSI se fait de manière similaire.
Stockage des images ISO
Pour installer le système d'exploitation, vous aurez besoin de ses fichiers d'installation, disponibles le plus souvent sous forme d'images ISO. Vous pouvez utiliser le chemin intégré, mais pour travailler avec les images dans oVirt, un type de stockage spécial a été développé — ISO, qui peut être dirigé vers un serveur NFS. Ajoutons-le :
Stockage → Domains → Nouveau Domaine,
Domain Function → ISO,
Export Path — par exemple, mynfs01.example.com:/exports/ovirt-iso (lors de la connexion, le dossier doit être vide, le gestionnaire doit avoir la possibilité d'écrire dedans),
Nom — par exemple, mynfs01-iso.
Pour le stockage des images, le gestionnaire créera une structure
/exports/ovirt-iso/<some UUID>/images/11111111-1111-1111-1111-111111111111/
Si des images ISO sont déjà présentes sur notre serveur NFS, pour économiser de l'espace, il est pratique de les lier à ce dossier au lieu de copier des fichiers.
Première VM
À ce stade, vous pouvez déjà créer votre première machine virtuelle, installer un système d'exploitation et des logiciels applicatifs.
Compute → Machines Virtuelles → Nouveau
Pour la nouvelle machine, indiquez un nom (Nom), créez un disque (Instance Images → Créer) et connectez l'interface réseau (Instanciez les interfaces réseau de la VM en sélectionnant un profil vNIC → choisissez parmi la liste actuellement le seul ovirtmgmt).
Du côté du client, vous aurez besoin d'un navigateur moderne et pour interagir avec la console.
La première machine a été lancée avec succès. Cependant, pour un fonctionnement complet du système, plusieurs réglages supplémentaires doivent être effectués, que nous aborderons dans les articles suivants.
Source : habr.com
