Deploy Studio

De Dinfadom - Wiki
Aller à : navigation, rechercher
Panneau chantier.jpg

Difficultés : Etoile.pngEtoile.pngEtoile.png


Deploy Studio

DeployStudio est un logiciel qui permet de sauvegarder et de restaurer des machines via le réseau ou à l'aide d'un simple disque externe (Firewire, ...). Il possède des fonctions d'automatisation permettant d'installer et de déployer des ordinateurs sans intervention de l’utilisateur. Il est ainsi possible par exemple de déployer des fermes de calcul sans perdre de temps à installer et configurer individuellement chaque machine. Il possède d'autres fonctions intéressantes : embarque un serveur VNC offrant la possibilité de surveiller et de contrôler à distance le déroulement de la restauration de chaque machine.

Objectifs :

  • Facilité le déploiement de OSX sur plusieurs postes
    • Création d'images (Masters)
    • Restauration d'images
  • Automatiser l'installation d'applications (pkg)
  • Automatiser l’intégration aux annuaires de l'entreprise (ldap ou Active directory)

Problématique :

Comment déployer sur plus de 20 iMac MacOS Sierra et les différents outils bureautiques indispensables (Microsoft Office) sur un site dépourvue d’infrastructure réseau adapté ?

DeployStudio a été conçu afin de gérer parfaitement des déploiements de postes de travail et serveurs via une connexion réseau (Netboot) .

Le gain de temps est une préoccupation quotidienne pour les administrateurs système , en particulier avec l’augmentation des interventions mineures demandées par les utilisateurs finaux comme :

  • Les préférences système accidentellement modifiés
  • Des applications tierces ou mal configurés
  • Droits d’accès erroné etc …

DeployStudio permet d’installer/déployer un poste de travail ou un serveur en quelques minutes à l’aide de « workflow » (listes de taches) prédéfini qui restaure automatiquement l’image disque, configure et installe les suites logiciels prévu par l’administrateur, ce qui est un réel avantage en termes de temps

Caractéristiques de DeployStudio

  • Imagerie & déploiement d’ordinateurs Apple
  • Système avancé de configuration (console d’administration)
  • Prise en charge complète du matériel Apple et automatisation (workflow et scripts)
  • Surveillance en temps réel des déploiements et opérations (console d’administration)
L’idée est de rendre cette solution facilement transportable et simple d’utilisation, vous allez me dire mais pourquoi ne pas utiliser une machine virtuelle sous Parallels Desktop ou VirtualBox ?
la réponse est simple : Problème très nette de performance, j’ai passé un WE à tenter de virtualiser OSX et d’y installer DeployStudio après plusieurs tests, je me suis vite aperçus que les performances réseau   et disque n’était pas au rendez-vous.

Alors, comment répondre à cette problématique ?

Regardons de plus près 😀 !

Configurations logiciels requises

  • OS X El Capitan (10.11.6) avec MacOS Server (19.99€) installé depuis l’AppStore – MacOS Server recommandé pour les déploiements Netboot
  • DeployStudio Server 1.7.5 (Gratuit): Disponible ici
  • Les machines clientes avec 1 Go de RAM ou plus

Configurations Matériel utilisée pour répondre à la problématique

  • Macbook, Macbook Air ou Macbook Pro (supportant OS X El Capitan ou ultérieur)
  • Disque dur Externe USB 3.0 (250 GB ou +)
  • Adaptateur Ethernet Gigabit Thunderbolt Apple (USB non-recommandé)
  • Switch Ethernet 10/100/1000 (8-16 ports ou +)
L’USB 3.0 débite théoriquement 5 Gbit/s ce qui devrait nous laisser suffisamment de marge coté accès L/E disque, sachant que notre connexion réseaux (fournis par l’adaptateur Thunderbolt) est de 1 Gbit/s, donc après un calcul rapide pour 10 postes le débit de transfert sera de 100 Mbit/s, au besoin repartissez vos machines par groupe de 5-10 postes lors du déploiement.

Le gros du travail va se jouer ici, voici les étapes et opérations à réaliser:

  • Rendre le Disque dur Externe USB 3.0 bootble (c’est à dire permettre à notre Macbook, Macbook Air ou Macbook Pro de demarrer depuis celui-ci et surtout de ne pas interférer avec l’OS et données présent sur le disque interne.)
  • Installer OS X El Capitan (10.11.6)
  • Télécharger et installer MacOS Server (5.2) depuis le Mac App Store
  • Configurer les services MacOS Server suivants :
  • DHCP
  • Netboot
  • Installer DeployStudio
  • Configurer DeployStudio Server
  • Créer notre 1ere image client OSX Sierra
  • Créer notre 1er Workflow
  • Exécuter notre Workflow sur l’ensemble des postes clients

Schéma du fonctionnement

Deploy-Studio schema.jpg

Installations et Configurations

Paramètres et informations :

  • Nom d’hôte : DS-SRV (DS-SRV.local pour le domaine Bonjour, DS-SRV pour WINS)
  • Compte administrateur (local) : servadmin – Ce compte sera aussi utilisé par DeployStudio
  • Port Ethenet Thunderbolt
  • IP : 192.168.1.200 (car pourquoi pas)
  • Masque de sous réseau : 255.255.255.0
  • Désactivation des autres interfaces réseaux non-requises (Airport etc..)
  • /DATA/Deploy_Studio : contiendra toutes les données lié à DeploySudio Server (master, configurations,package etc..) et sera partagé et accessible via le protocole de partage de fichier Apple (AFP) – Ce dossier est à créer via le Finder.
  • /DATA/Library/NetBoot/NetBootSP0 : contiendra l’image de Netboot DeployStudio Runtime (nbi) sur laquelle nos postes clients démarreront depuis le réseau (Netboot/Netinstall) – ce dossier sera généré automatiquement lors du paramétrage du service NetInstall
Je vous invite vivement à prendre exemple sur ces paramètres car toute la configuration du Deploy Studio Server et des Apple Netinstall dépendent directement de ces configurations donc attention.

Partitionnement du disque externe USB 3.0

Pour ce post j’ai réalisé ma configuration sur un disque externe de 320 GB, à l’aide de l’utilitaire de disque de MacOS, j’ai partitionné comme suivant :

  • Table de partition GUID
  • Format : Mac OS étendu (journalisé)
  • 60 GB pour « OS »
  • Reste (260GB) pour « DATA »

Capture-dcran-2016-12-14-11.44.22.png


Installation de OS El Caputan (10.11.6)

OSX El Capitan n’étant plus disponible dans l’App Store, voici une image DMG (10.11.5) à restaurer sur votre clé USB, vous pouvez suivre cette aide officielle pour la restauration : ici
Je vais passer vite sur cette étape car c’est une installation classique d’OS X à la seule différence : le volume de destination est le volume « OS » USB
Une fois l’installation d’OSX El Captian réalisée, récupérez la mise à jour 10.11.6 combinée d’OS X El Capitan et installez-la : ici

Installation de MacOS Server

Je vais passer vite sur cette étape aussi, il suffit simplement de télécharger MacOS Server depuis l’AppStore, puis suivre le 1er assistant de configuration, simple et logique 🙂

Attention : pour que MacOS Server s’installe, il faut minium OSX 10.11.6.

Capture-du-2016-12-14-11-54-10.png

Configuration de MacOS Server

Personnalisation de l’OS

DOCK/FOND D’ÉCRAN :
J’ai pris par habitude de personnaliser mes environnement serveurs en fonction des services qu’ils hébergent, c’est pour ces raisons que j’ai épuré au maximum OS X et laisser dans ma dock les applications dont j’aurais uniquement besoin.

Capture-dcran-2016-12-14-13.29.41.png

Préférences Système –> Réseaux :

Désactivation des autres interfaces réseaux non-requises (Airport etc..)

Capture-dcran-2016-12-15-13.52.09.png

Capture-dcran-2016-12-15-13.53.42.png

Préférences Système –> Partage :

Activation « Session à distance » pour l’accès SSH

Capture-dcran-2016-12-15-13.55.53.png

Activation « Gestion à distance » pour l’accès ARD/VNC (cochez-tous)

Capture-dcran-2016-12-15-13.56.47.png

Capture-dcran-2016-12-15-13.57.05.png


On vas de suite créer le partage /DATA/Deploy_Studio et le rendre accessible via AFP uniquement pour tout le monde (L/E)

Capture-dcran-2016-12-15-10.30.05-1.png

Capture-dcran-2016-12-15-10.37.42-1.png


Server –> DHCP

Nous allons configurer le service DHCP

Plage : 192.168.1.100 à 192.168.1.200 (99 postes adressable)

Capture-dcran-2016-12-15-10.40.06.png

Capture-dcran-2016-12-15-10.40.16.png

Capture-dcran-2016-12-15-10.43.32.png

Server –> Netboot

Nous allons configurer le service Netboot, ce service est destinée à recevoir l’image de Netboot DeployStudio Runtime (.nbi) sur laquelle nos postes clients démarreront depuis le réseau.

Il vous suffit simplement de sélectionner le disque « DATA » (images et donnée client) et désactiver les autres volumes, le service s’activera de lui même lorsqu’une image (.nbi) sera présente dans /DATA/Library/NetBoot/NetBootSP0, vous observerez aussi que le service Netinstall vas créer automatiquement l’arborescence /Library/NetBoot/NetBootSP0 sur le volume « DATA »

Capture-dcran-2016-12-15-10.48.30.png

Installation de la suite DeployStudio

Téléchargez le logiciel, puis installez DeployStudio.

Disponible sur : http://www.deploystudio.com/


Configuration de DeployStudio

A cette étape nous allons configurer notre serveur à l’aide de l’assistant Deploy Studio avec les paramètres suivants :

  • Type : Master
  • Interface d’écoute : Thunderbold Ethernet : 192.168.1.200, port (par défaut) : 60443
  • Dépot (Repository) : afp://192.168.1.200/Deploy_Studio/
  • Notifications courriel : non
  • Identification des postes clients : N° de Série (S/N)

Capture-dcran-2016-12-15-14.05.41.png

Capture-dcran-2016-12-15-14.05.57.png

Capture-dcran-2016-12-15-14.04.48.png

Capture-dcran-2016-12-15-14.08.12.png

Capture-dcran-2016-12-15-14.08.52.png

Capture-dcran-2016-12-15-14.10.16.png

Capture-dcran-2016-12-15-14.12.56.png

Capture-dcran-2016-12-15-14.14.24.png

Capture-dcran-2016-12-15-14.15.06.png

Capture-dcran-2016-12-15-14.15.52.png

Capture-dcran-2016-12-15-14.16.33.png

Capture-dcran-2016-12-15-14.17.59.png

Capture-dcran-2016-12-15-14.19.04.png

Création d’une image Netboot (nbi) à l’aide de l’assistant DesployStudio

A cette étape nous allons créer notre image de boot réseau (Netboot) à l’aide de l’assistant Deploy Studio avec les paramètres suivants :

  • Nom de l’image : DEPLOY_STUDIO_NETBOOT
  • Serveur de temps : time.euro.apple.com
  • Protocole de diffusion : NFS
  • URL du serveur : https://192.168.1.200:60443/
  • Identifiant de connexion au serveur DeployStudio: servadmin (local)
  • Identifiant de connexion pour ARP (Apple Remote Desktop) : servadmin (local)
  • Désactivation prise en charge Airport : OUI (démarrage plus rapide)
  • Fond d’écran neutre : Solid Grey Pro Dark (disponible ici : /OS/Library/Desktop Pictures/Solid Colors/) pour charger ce fond d’écran, il suffit de faire un glisser-déposer du Finder vers l’assistant et cibler la case « Background Image »
  • Destination de notre image (nbi) : /DATA/Library/NetBoot/NetBootSP0/

La génération de l’image dure environ 10-15 minutes le mot de passe du compte administrateur local sera requis (servadmin)

Capture-dcran-2016-12-15-14.05.57.png

Capture-dcran-2016-12-15-16.00.34.png

Capture-dcran-2016-12-15-16.02.12.png

Capture-dcran-2016-12-15-16.03.42.png

Capture-dcran-2016-12-15-16.05.35.png

Capture-dcran-2016-12-15-16.06.41.png

Capture-dcran-2016-12-15-16.08.40.png

Rappel : Fond d’écran neutre : Solid Grey Pro Dark (disponible ici : /OS/Library/Desktop Pictures/Solid Colors/) pour charger ce fond d’écran, il suffit de faire un glisser-déposer du Finder vers l’assistant et cibler la case « Background Image »

Capture-dcran-2016-12-15-16.10.45.png

Pensez à vérifier que le service Netboot à bien détecté votre image de boot

Création d’un Master MacOS Sierra (client)

Une définition s’impose : Le matriçage ou mastering est le processus consistant à transférer un ensemble d’enregistrements pour en faire un programme sur un support physique ou un fichier informatique, lequel servira à une fabrication en série ou à la diffusion. Son but premier est de rendre homogène cet ensemble (wikipedia)

Nous allons appliquer cette définition à nos poste clients, pour faire simple, nous allons préparer un poste de manière à ce qui soit au plus près des besoins finaux de l’utilisateur tout en restant très générique et dupliqué cette configuration sur l’ensemble des postes du parc.

Chacun à ses méthodes et sa logique, mais voici le schéma que j’applique habituellement en entreprise et chez mes clients :

Je me base sur une installation dite « propre » sur laquelle j’effectue uniquement les opérations suivantes :

  • Installation de la dernière version de MacOS (Sierra)
  • Installation de toutes les mises à jours et mise à jour combinée (10.12.2)
  • Création d’un compte local administrateur (facultatif)
  • Personnalisation du shell (motd)
  • Personnalisation de certains réglages système
    • Économie d’énergie
    • Activation des service des gestion à distance (SSH et ARP)
    • Etc.

Une fois ces opérations effectuées, je vérifie le bon fonctionnement, il est important de faire les choses dans cet ordre car cette installation va nous servir de Master (de base), elle doit être parfaitement fonctionnelle avec si possible 0 défaut

Vous allez me dire, super ! Mes logiciels et outils bureautique dans l’histoire, je les installe quand ?

C’est justement là que toute la puissance de Deploy Studio réside, une fois le master crée, nous allons pouvoir générer une liste de taches, un Workflow qui automatisera l’installation de nos logiciels (pkg) et appliquera nos nouveau paramètres à la suite du déploiement, à savoir :

  • Microsoft Office / iWork / LibreOffice etc..
  • Les derniers service pack et correctifs Microsoft Office
  • Les pilotes des imprimantes multifonction réseau (Canon, Hp etc..)
  • Teamviewer (Outils d’assistance à distance)
  • Applications de nouveaux paramètres système comme :
    • la création de nouveaux compte locaux
    • Jonction à un domaine d’entreprise LDAP/AD
    • le changement du nom d’hôte (hostname)
    • le chargement des derniers correctifs
  • Etc.


Vous verrez par la suite que Deploy Studio offre une palette d’outils pour l’automatisation assez bien foutue et simple d’utilisation qui fonctionne par glissé-déposé d’actions, elle se rapproche du fonctionnement du logiciel Automator pour les plus connaisseurs et fan de la firme à la pomme.

Pour plus d’informations, voici le guide complet : http://www.deploystudio.com/documentation/deploystudio-guide-2-0

Création de notre master (1er)

Ouvrez la console DeployStudio Admin du serveur

Capture-du-2016-12-29-14-37-57.png

C’est à l’aide de cette console d’administration que l’on vas pouvoir gérer :

  • Poste clients (Computers)
  • Listes de taches (Workflow)
  • Images disque (Masters)
  • Packages
  • Scripts

Une fois votre poste client près à être « masterisé » redémarrer votre mac, après le gong caractéristique des ordinateur Apple, maintenez la touche « N » afin de forcer votre Mac à démarrer depuis le réseau, comme suivant :

Capture-du-2016-12-16-11-09-22.png

DeployStudio Runtime démarre automatiquement

Capture-dcran-2016-12-16-11.16.27.png


Création de notre Master

Voici les étapes :

  1. Sélectionnez « Create a master from à volume »
  2. Cliquez sur le bouton Play
  3. Vérifier que le volume source corresponde bien au disque interne de votre Mac (Macintosh HD si vous l’avez nommé ainsi)
  4. Nommer votre image
  5. Cliquez sur le bouton Play

Capture-dcran-2016-12-16-11.31.57.png

Capture-dcran-2016-12-16-11.32.42.png

Création d’un Workflow (1er)
Restauration d’un poste client à l’aide du Workflow précédemment crée

Conclusion