|
UTM : la virtualisation sur macOS
Guide complet de prise en main
La virtualisation bare metal n'a jamais été aussi accessible à votre Mac !
[ Retrouvez également mes autres guides
UNIX/Linux sur TheRaphit.com ]
UTM (Universal Turing Machines) est un logiciel open-source et gratuit,
disponible sur macOS, qui vous permet d'accéder à la virtualisation.
Le projet est assez abouti, et totalement intégré : en un seul logiciel, vous
disposez de tous les outils pour créer et gérer toutes sortes de machines virtuelles.
UTM embarque directement un portage sur macOS du virtualiseur et émulateur QEMU, mais
peut également utiliser le framework Apple Virtualization, ce qui vous permet
de créer aussi des VM sur macOS, bien que ce ne soit pas l'objet principal de cet
article.
Ce guide vous propose de prendre en main le logiciel pour déployer des machines
virtuelles natives fonctionnant sous divers systèmes libres, mais aussi de vous donner
toutes les petites astuces vous permettant de profiter au maximum de cette
application, en vous permettant de gagner beaucoup de temps sur les différentes
étapes de la création et de l'administration de vos machines virtuelles.
Je n'ai pas ménagé ma peine pour vous réunir en un seul endroit toute
une palanquée d'informations dispersées un peu partout sur Internet. :-)
Qu'est-ce que la virtualisation bare metal ?
[ Vous pouvez passer cette présentation et accéder directement au
sommaire du guide si vous savez déjà ce dont il
s'agit. ]
UTM vous permet d'exploiter de la virtualisation native dite
bare metal aussi appelée hardware-assisted virtualization.
Cela permet de faire fonctionner des machines virtuelles à un niveau de performance
équivalent à celui qu'elles auraient si elles étaient installées nativement
sur du matériel équivalent.
Avec ce type de virtualisation, il ne s'agit pas seulement d'un OS hôte qui fait
fonctionner un OS invité, mais réellement de
plusieurs systèmes d'exploitation s'exécutant
simultanément sur le même processeur. Il n'y a pas de surcouche
de processeur virtuel, le code de l'OS invité s'exécute directement sur le CPU
physique. Les fondeurs de puces ont en effet développé des technologies destinées
à optimiser la virtualisation, extensions VT-x sur les processeurs Intel par
exemple. Pour cela, le processeur gère des contextes pour chacun des systèmes
exécutés.
Un logiciel intégré au noyau du système hôte, nommé hyperviseur, est chargé
de créer et de gérer ces contextes, ainsi que du partage du temps CPU entre
les différents systèmes. Celui-ci communique avec un processus exécuté en
mode utilisateur de l'OS hôte, le virtualiseur, qui permet notamment
de créer les machines virtuelles et de définir la quantité de mémoire ainsi
les périphériques auxquels celles-ci auront accès. L'OS invité sous lequel
fonctionne les machines virtuelles doit exister dans une version
supportant la même architecture CPU que l'hôte.
Dans le cas des hôtes macOS avec les puces Apple Silicon en particulier, il s'agit de
l'architecture ARM64 (parfois dénomée ARMv8).
Sur macOS, la partie noyau est simplement nommée hypervisor, et la partie
utilisateur Apple Virtualization. Cependant il est aussi possible d'utiliser
QEMU à ce niveau (comme sous Linux avec KVM) car celui-ci est disponible sur macOS.
Ce portage de QEMU fournit un framework de virtualisation plus largement reconnu par
les différents OS libres, tout en étant capable d'interagir avec hypervisor,
et permettant ainsi d'obtenir aussi les performances natives recherchées.
Du côté hardware, les puces Apple Silicon disposent des extensions de virtualisation
nécessaires, et ce dès le M1. Et avec l'arrivée du M3, toutes les primitives
de virtualisation disponibles sur les processeurs haut de gamme d'Intel et AMD
le sont désormais également sur les puces Apple Silicon - notamment celles pour la
nested virtualization, la possiblité d'exécuter une machine virtuelle dans une
machine virtuelle, toujours avec les mêmes performances.
Un Mac équipé d'un processeur M3, pour peu que vous disposiez de suffisamment de mémoire,
est une plateforme de virtualisation hardware tout à fait au niveau
d'un serveur Linux faisant fonctionner QEMU avec KVM !
Ce guide est constitué de plusieurs pages
J'en avais initialement prévu qu'une seule, mais pour que ce soit
qualitatif - en gros, pas de la mayrde - j'ai préféré
le scinder en plusieurs pages.
En espérant que cela ne vous empêchera pas d'y trouver toutes les informations
que vous cherchez !
Partie 1 - Installation d'une machine virtuelle
Si vous souhaitez vous lancer dans l'aventure de la virtualisation sur macOS avec UTM,
tout ce dont vous aurez besoin c'est d'un Mac (même un portable) avec une puce
Apple Silicon (y compris le tout premier M1) et de suffisamment de mémoire. Avec 16 Go,
vous pourrez expérimenter et installer une unique machine virtuelle (VM), mais je vous
recommande tout de même 32 Go. A partir de 64 Go, vous pourrez faire fonctionner
plusieurs VM simultanément avec moult applications dans chacune d'entre elles
(serveur HTTP, base de données, ...) sans aucun problème !
Cette partie détaille pas à pas la configuration de votre première VM,
en abordant toutes les petites subtilités de paramétrage qui pourront vous faire gagner
du temps, mais aussi de bénéficier des meilleures performances possibles.
Dans le cadre de ce guide, nous allons installer une machine virtuelle sous
FreeBSD, histoire de sortir un peu des sentiers battus !
Partie 2 - Démarrage automatique d'UTM et des machines virtuelles
Maintenant que vous disposez d'une multitude de machines virtuelles et que votre Mac est
devenu un véritable datacenter à lui tout seul, cela pourrait être intéressant
pour vous qu'UTM et que toutes ces VM puissent démarrer automatiquement avec
la machine hôte.
UTM est en effet davantage conçu comme une application desktop, plutôt
que comme une suite de virtualisation pour hébergeur en centre de données, à l'image
de produits tels que
Proxmox VE
sur PC/Intel. Fort heureusement, macOS dispose en standard de tous les outils
nécessaires pour cela, avec notamment Automator.
Dans cette partie, vous allez apprendre comment mettre en place un workflow
dans Automator qui vous permettra de démarrer non seulement UTM lorsque vous ouvrez votre
session utilisateur, mais aussi toutes (ou une partie) de vos VM facilement.
Optionnellement, vous aurez également la possiblité d'activer l'ouverture
automatique de session au boot de macOS, dans le cas où vous souhaiteriez
transformer votre Mac en véritable hôte dédié de machines virtuelles !
Partie 3 - Les machines virtuelles « headless » et le pilotage d'UTM à distance
Pour faire suite à la partie précédente, cette troisième page va vous livrer
toutes les petites astuces vous permettant de procéder à la daemonization
complète d'UTM, ou comment vous allez pouvoir transformer une application de bureau en
un véritable service s'exécutant en tâche de fond de manière
transparente.
Egalement, vous allez pouvoir configurer toutes vos machines virtuelles
« serveur » dans le mode dit « headless », c'est à dire
qu'elles fonctionneront également en arrière-plan, sans ouvrir la moindre fenêtre sur
votre bureau.
Vous serez ainsi en mesure de superviser et d'aministrer aussi bien UTM que vos VM,
depuis un simple shell, et donc potentiellement à distance.
Une partie qui ravira les unixiens purs et durs, amateurs de console, de
terminal et de ligne de commande !
Partie 4 - Sauvegarde et restauration
Pour conclure ce guide, nous allons voir comment réaliser une sauvegarde ainsi
que la restauration d'une machine virtuelle.
UTM ne le propose pas de manière intégrée directement dans l'application, toutefois la
structure de données gérée par le logiciel n'est pas cryptique, et vous permet ainsi
d'y parvenir facilement à l'aide d'un programme tiers.
Les machines virtuelles UTM n'auront désormais plus aucun secret pour vous !
En complément de ce guide, vous pouvez également consulter la
documentation officielle d'UTM
qui disponible en ligne (en anglais). Elle est plutôt bien faite, et aborde également
l'utilisation d'UTM sur les appareils mobiles sous iOS.
UTM : la virtualisation sur macOS
Page principale
[(1) Installation d'une VM]
[(2) Démarrage automatique]
[(3) Pilotage à distance]
[(4) Sauvegarde et restauration]
La Revue de TheRaphit.com
![[Compteur]](https://webcounter.theraphit.com/scripts/Count.cgi?dd=B&ft=1&df=revue.dat)
Nombre de visiteurs
depuis le 13 mai 1997.
[Accueil]
[C'est quoi ?]
TheRaphit's Web Site - La dernière homepage du Web
[(Tout)2 Evangelion]
Webzine : La Revue
[Manga Pink Zone]
[Mathématiques]
[Nouveautés]
[Zone de téléchargement]
Site créé le 16 janvier 1997
©1997-2025 by TheRaphit
www.theraphit.com
|