Examen: Ubuntu Server 16.04 LTS brille

Ubuntu 16.04 LTS (Xenial Xerus) représente la première version de Canonical à offrir un support à long terme depuis 2011 (version 14). Bien que les dernières améliorations ne soient pas entièrement révolutionnaires, Ubuntu 16.04 rassemble des fonctionnalités intéressantes pour fortifier la base de serveurs et améliorer l'expérience de bureau. a examiné la nouvelle version de bureau en avril. Dans cette revue, je vais me concentrer sur le serveur.

L'une des principales mises à jour de cette version provient de la nouvelle archive de package Snap. Les référentiels LTS de Canonical sont notoirement dépassés par les cycles de publication de logiciels modernes. C'est le compromis classique pour la stabilité: Canonical se déplace lentement pour adopter de nouvelles versions de packages afin de vérifier les applications et de s'assurer qu'elles ne gâchent pas votre système. Malheureusement, cela induit un décalage qui laisse les utilisateurs en attente lorsque le logiciel le plus récent et le meilleur passe.

Les packages Snap - nés des efforts de développement mobile d'Ubuntu - offrent un environnement autonome qui installe le code et toutes ses dépendances et sa sécurité dans des répertoires sandbox. Les snaps fonctionnent parallèlement à vos autres applications et packages Deb traditionnels sans s'encombrer les uns les autres ni avec la base de code Canonical. Les développeurs peuvent pousser (et rappeler) les mises à jour librement et les utilisateurs peuvent sortir des versions de pointe sans se soucier de la stabilité de leur système. Tout le monde est heureux… ou ils le seront, car de plus en plus de développeurs commencent à publier leurs produits au format Snap package.

Plus profondément sous le capot, Ubuntu 16.04 ramène le système d'exploitation en synchronisation avec la prise en charge du noyau à long terme (comme Linux 14.4 LTS), propose des conteneurs au niveau du système et une gestion de conteneurs de type VM avec LXD, et introduit la prise en charge native du noyau pour le stockage ZFS système sur des serveurs 64 bits.

De plus, Canonical continue d'étendre la portée de son impressionnante plate-forme. Avec la prise en charge d'IBM LinuxONE et d'IBM z Systems récemment ajoutée, la prise en charge d'Ubuntu s'étend désormais des périphériques mobiles aux mainframes. 

Se faire servir

La routine d'installation pour Ubuntu Server 16.04 s'est déroulée sans accroc sur mes nouvelles installations. Cependant, la mise à jour sur place ne s'est pas déroulée aussi bien. 

Sur une base Ubuntu 14 64 bits existante, la pierre d'achoppement venait de l'échec de l'installation de MySQL 5.7. Pour contourner le problème, il fallait supprimer manuellement toutes les traces de MySQL, l'installation partielle de 5.7 et les fichiers de configuration. Même dans ce cas, j'avais encore besoin de apt purgeMySQL avant que la nouvelle installation ne prenne. 

Si vous utilisez la do-release-upgradecommande du package update-manager-core, notez que vous devez toujours utiliser l' –dindicateur de développement pour trouver la mise à jour. Les mises à jour officielles ne sont visibles qu'après le premier point rev en utilisant cette méthode.

A noter également qu'il s'agit de la première version LTS à adopter le modèle d'amorçage systemd init. Bien que les utilisateurs de Debian Jessie et Ubuntu 15.10 aient déjà expérimenté la migration, les scripts personnalisés d'Ubuntu 14 d'Ubuntu 14 devront être modifiés à mesure que vous vous adapterez à la nouvelle suite d'outils systemd.

La mise à niveau était en douceur autrement.

Bienvenue ZFS 

Né à l'époque de Solaris, ZFS est un gestionnaire de système de fichiers et de volume partiel. Doté de dispositions convaincantes pour le pool de disques, la détection continue de la corruption, la maintenance des instantanés et la compression intégrée, ZFS contribue grandement à garantir l'intégrité des volumes et la fiabilité des données tout en minimisant les efforts administratifs. De plus, les capacités de clonage de copie sur écriture de ZFS en font un partenaire naturel pour les conteneurs LXD de Canonical.

Curieusement, même si les pièces de support sont dans le support du module de noyau dynamique (DKMS), j'avais encore besoin d'installer ZFS manuellement. Mais maintenant que ZFS est dans le noyau, l'installation ne nécessite plus de se débrouiller avec les archives de paquets personnels (PPA) ou de construire des modules. Installez simplement les utilitaires ZFS ( apt install zfsutils-linux) et vous avez tout ce dont vous avez besoin pour commencer à configurer les pools de stockage (zpools) et les RAID à partir de la ligne de commande.

Il y a cependant quelques mises en garde à prendre en compte. Premièrement, ZFS n'est actuellement pris en charge que sur les architectures Ubuntu 64 bits. Deuxièmement, il n'est pris en charge que pour le stockage de données, ce qui signifie qu'il n'y a pas encore de support pour l'installation de ZFS en tant que système de fichiers racine.

Cela dit, vous pouvez contourner le problème du système de fichiers en supprimant un environnement avec Xenial Live CD: installez ZFS dans l'environnement Live CD, mettez en miroir un ensemble de données pour le système de fichiers racine, installez un système minimal, configurez grub et swap, puis redémarrez pour mettre à niveau le système final.

Le processus est certes fastidieux. Canonical devrait répondre à cette complexité avec des assistants d'installation transparents ainsi que des routines pour rationaliser l'approvisionnement et la gestion du stockage ZFS.

En attendant, ZFS vaut la peine. En plus de la maturité et de la stabilité, de belles fonctionnalités d'entreprise vont de la compression des données, de la déduplication et des instantanés planifiés pour des points de contrôle cohérents et des restaurations aux dispositions pour le clonage, la gestion des pools et même le streaming de fichiers qui reflète les instantanés de travail sur d'autres machines. Vous obtenez presque tout ce que vous pourriez souhaiter pour gérer et sécuriser les données dans ZFS.

Présentation de LXD

Un autre ajout important est l'inclusion du gestionnaire de conteneurs LXD de Canonical. Les conteneurs LXD fonctionnent avec la simplicité des machines virtuelles, mais peuvent fonctionner sur du métal nu - en tant que conteneurs de machines - sans tous les frais généraux d'une machine virtuelle. Par exemple, j'ai pu empaqueter et lancer un conteneur Docker (Docker 1.10.3 pris en charge) dans un conteneur de machine LXD. L'exécution légère de «l'hyperviseur» LXD permet d'optimiser la densité des conteneurs, tandis que son Fan Networking vous permet de mettre en réseau tous vos conteneurs à l'aide d'une configuration simple basée sur des scripts. (Mais assurez-vous d'installer le package ubuntu-fan.)

LXD fonctionne très rapidement et peut être installé sur presque toutes les architectures - du Raspberry Pi aux mainframes. Étant donné que Canonical évolue au même rythme avec OpenStack, il existe même un plug-in pour la version stable actuelle de Mitaka. 

LXD s'appuie sur la bibliothèque de conteneurs LXC de Canonical, qui fournit tout ce dont vous avez besoin pour la gestion de conteneurs de bas niveau, mais ne dispose pas des outils nécessaires pour une configuration et une adoption conviviales. LXD complète l'API de gestion de conteneurs LXC avec une nouvelle API REST pour simplifier l'accès de gestion.

Canonical a regroupé toutes les conditions requises dans un seul package, donc LXD est simple à installer ( apt install lxd). Running LXD initvous guidera à travers la routine de configuration, vous demandant des informations sur le réseau, le mot de passe et le type de stockage (je suggère d'utiliser ZFS pour de meilleures performances). Une fois la topologie de votre réseau chargée, LXD sert de routeur virtuel à vos conteneurs, gérant toutes les ressources système et les configurations de sécurité.

Si vous connaissez Docker, vous vous sentirez comme chez vous avec les conteneurs basés sur des images de LXD. Comme Docker, LXD vous permet d'importer des images à partir de référentiels locaux ou distants (à utiliser lxc remote listpour afficher les sources disponibles). La launchcommande déclenche LXD pour extraire l'image source, créer le conteneur et faire tourner la machine. 

LXD brille vraiment dans ses outils de gestion des conteneurs en cours d'exécution. LXD offre un accès rapide à un shell bash à l'intérieur de chaque conteneur, permet aux fichiers d'être poussés et tirés entre le conteneur et le système hôte, et prend même en charge les instantanés et les migrations en direct. Vous pouvez effectuer des mises à jour et exécuter plusieurs applications (y compris Docker) dans un seul LXD en cours d'exécution.  

En revanche, la gestion des conteneurs LXD est limitée à la ligne de commande, bien que les interfaces graphiques Web soient disponibles auprès de la communauté plus large. Actuellement, le plug-in nova-compute-lxd OpenStack peut faciliter la gestion à grande échelle.

À première vue, la version Ubuntu Server 16.04 LTS peut sembler manquer d'un énorme facteur wow. Mais il s'agit d'un ensemble solide qui combine des améliorations tournées vers l'avenir avec l'accessibilité caractéristique d'Ubuntu et la stabilité d'une édition de support à long terme.

Les packages Snap devraient permettre de suivre le rythme des nouvelles versions de logiciels plus facilement et plus en toute sécurité. ZFS apporte une option de stockage rapide, évolutive et de niveau entreprise. LXD comble une lacune importante dans le paysage de la virtualisation, complétant les conteneurs orientés applications de Docker avec des conteneurs système qui peuvent être gérés comme des machines virtuelles.

Il s'agit de la même distribution de serveurs conviviale et familière sur laquelle vous comptez aujourd'hui, renforcée par de nouvelles capacités de stockage et de conteneurisation qui seront essentielles pour réduire les coûts de possession de demain.

fiche d'évaluation Caractéristiques (30%) Administration (30%) Facilité d'utilisation (15%) Sécurité (15%) Valeur (10%) Note globale (100%)
Serveur Ubuntu 16.04 LTS 9 8 8 8 dix 8,5