Sortie en même temps que Windows server 2016 technical preview 2, Windows Nano Server est un système d’exploitation optimisé pour l’hébergement dans le cloud privé. Il est très proche de la version Core Server mais en version encore plus allégée.
Sur Nano Server nous n’avons pas la possibilité d’ouvrir une session locale, ni par Teminal Services. Il se gère par PowerShell, WMI, WinRM et services de gestion d’urgence (EMS). La partie 32 bits de l’os ne sera pas comprise, elle ne comprendra que 64 bit.
*source MS conférence Microsoft Ignite 2015
Comme on le voit sur le graphique ci-dessus Microsoft annonce les performances suivantes:
- réduction de la taille du disque VHD de 93 %
- 92 % de bulletins critique en moins
- les redémarrages sont 80% plus rapides (pour la partie système)
Windows Nano server est destiné aux utilisés suivants:
- serveur HyperV
- serveur de stockage
- serveur pour des applicatifs dans le cloud
- mise en cluster
De plus Windows Nano server peut être en cluster
Nous allons voir ici comment préparer une image virtuelle de Windows Nano Server
Préparation de l'image
Dans un premier vous aurez besoin d’un script disponible sur Script Center :
Convert-WindowsImage.ps1 — WIM2VHD for Windows 8 and Windows 8.1
Puis de l’image de windows server 2016 technical preview:
https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-technical-preview
une fois que vous avez tout ça, vous pouvez monter l’iso sur votre système:
Nous allons utiliser une image WIM pour créer un VHD. Mais attention, nous n’utiliserons pas l’image du système par défaut mais une image qui se trouve dans un sous-répertoire qui se nomme NanoServer dans le media d’installation
Puis préparer un répertoire dans travail sur votre disque de cette forme: .\nano_server puis un sous-répertoire .\nanos_erver\mountdir Ensuite copié le script téléchargé précédemment à la racine du répertoire .\nano_server
Nous allons utiliser PowerIse pour plus de facilité de lisibilité. Ouvrir Powershell Ise en mode administrateur
puis exécuté le script télécharger avec les paramétrés suivant:
Convert-WindowsImage.ps1 -Sourcepath fichier_source.wim -VHD fichier_destination.vhd –VHDformat VHD -Edition 1
Si on regarde la taille de notre VHD on voit qu’on est 480 Mo, mais attention nous avons une image sans fonctionnalités ajoutées: HyperV, Stockage ou bien encore driver.
Ajout des fonctionnalités
Les fonctionnalités de Nano server sont présents dans le répertoire .\NanoServer\Packages dans le media d’installation :
voici le descriptif:
- Microsoft-NanoServer-Compute-Package.cab: role HyperV
- Microsoft-NanoServer-FailoverCluster-Package.cab: role cluster
- Microsoft-NanoServer-Guest-Package.cab: Pilote utilisé Nano Server entant que machine virtuel
- Microsoft-NanoServer-OEM-Drivers-Package.cab: pilote de base pour les contrôleurs réseau et de stockage
- Microsoft-NanoServer-Storage-Package.cab: rôle de server de fichier et composant de stockage
Pour ajouter une fonctionnalité voici la procédure à suivre :
Dans un premier temps, vous devez copier les sources des packages en local puis retirer la lecture seule. Je l’ai copié dans le sous-répertoire .\nano_server créé précédemment:
Faite de même pour le sous-répertoire en-us
Puis vous devez vous placer dans le répertoire source sur le media d’installation avec une invite de commande en administrateur. Cela évitera d’ajouter Dism à votre système
Puis monter l’image disque avec dism avec la commande suivante:
dism.exe /Mount-Image /ImageFile:"image.vhd" /Index:1 /MountDir:".\mountdir"
ensuite il faut ajouter le package que vous souhaitez avec la commande
Dism.exe /Add-Package /PackagePath:.\Packages\Microsoft-NanoServer-Compute-Package.cab /Image:.\mountdir
puis démonter l’image du répertoire mountdir
Dism.exe /Unmount-Image /MountDir:".\mountdir" /Commit
voici un exemple de bath pour ajouter toutes les fonctionnalités:
cd F:\sources
dism.exe /Mount-Image /ImageFile:"I:\nano_server\NanoServer.vhd" /Index:1 /MountDir:"I:\nano_server\mountdir"
Dism.exe /Add-Package /PackagePath:"i:\nano_server\Packages\Microsoft-NanoServer-Compute-Package.cab" /Image:I:\nano_server\mountdir
Dism.exe /Add-Package /PackagePath:"i:\nano_server\Packages\en-us\Microsoft-NanoServer-Compute-Package.cab" /Image:I:\nano_server\mountdir
Dism.exe /Add-Package /PackagePath:i:\nano_server\Packages\Microsoft-NanoServer-FailoverCluster-Package.cab /Image:I:\nano_server\mountdir
Dism.exe /Add-Package /PackagePath:i:\nano_server\Packages\en-us\Microsoft-NanoServer-FailoverCluster-Package.cab /Image:I:\nano_server\mountdir
Dism.exe /Add-Package /PackagePath:i:\nano_server\Packages\Microsoft-NanoServer-Guest-Package.cab /Image:I:\nano_server\mountdir
Dism.exe /Add-Package /PackagePath:i:\nano_server\Packages\en-us\Microsoft-NanoServer-Guest-Package.cab /Image:I:\nano_server\mountdir
Dism.exe /Add-Package /PackagePath:i:\nano_server\Packages\Microsoft-NanoServer-OEM-Drivers-Package.cab /Image:I:\nano_server\mountdir
Dism.exe /Add-Package /PackagePath:i:\nano_server\Packages\en-us\Microsoft-NanoServer-OEM-Drivers-Package.cab /Image:I:\nano_server\mountdir
Dism.exe /Add-Package /PackagePath:i:\nano_server\Packages\Microsoft-NanoServer-Storage-Package.cab /Image:I:\nano_server\mountdir
Dism.exe /Add-Package /PackagePath:i:\nano_server\Packages\en-us\Microsoft-NanoServer-Storage-Package.cab /Image:I:\nano_server\mountdir
Dism.exe /Add-Package /PackagePath:i:\nano_server\Packages\Microsoft-OneCore-ReverseForwarders-Package.cab /Image:I:\nano_server\mountdir
Dism.exe /Add-Package /PackagePath:i:\nano_server\Packages\en-us\Microsoft-OneCore-ReverseForwarders-Package.cab /Image:I:\nano_server\mountdir
Dism.exe /Unmount-Image /MountDir:I:\nano_server\mountdir /Commit
Une fois l’ajout des fonctionnalités fait, notre VHD va prendre 160 Mo de plus :
Ajout d’un driver
Dans cette partie nous allons voir comment ajouter un driver, maintenant si vous utilisez nano server uniquement sur hyperV pour vous pouvez passer cette partie. Nous allons ajouter les drivers VmWare présents dans les VmWare tools. Biensur si vous faites cela n’installe pas le package Microsoft-NanoServer-Guest-Package.cab cela ne vous servira rien. Je vous montrerai après la conversion du VHD en VMDK. Je vais les prendre depuis un Vm de Windows 10 dans le répertoire C:\Program Files\Common Files\VMware\Drivers
Nous allons copier ce répertoire dans notre dossier .\nano_server seul les drivers suivants qui vont nous intéresser:
- pvscsi -> pilote de la carte iscsi
- vmci -> pilote d’interface de communication de la VM
- vmxnet3 -> pilote réseau
après le système est à peut prêt le même que pour ajouter un package: Puis vous devez vous placer dans le répertoire source du média d’installation avec une invite de commande en administrateur:
Puis monter l’image disque avec dism avec la commande suivante:
dism.exe /Mount-Image /ImageFile: »image.vhd » /Index:1 /MountDir: ».\mountdir »
dism\dism /Add-Driver /image:.\mountdir /driver: ».\chemin_du_driver »
puis démonté l’image du répertoire mountdir
Dism.exe /Unmount-Image /MountDir:« .\mountdir » /Commit
Voila le bath que j’ai utilisé
cd F:\sources dism.exe /Mount-Image /ImageFile: »I:\nano_server\NanoServer.vhd » /Index:1 /MountDir: »I:\nano_server\mountdir » Dism.exe /Add-Driver /image:I:\nano_server\mountdir /driver: »I:\nano_server\Drivers\vmxnet3″ Dism.exe /Add-Driver /image:I:\nano_server\mountdir /driver: »I:\nano_server\Drivers\pvscsi » Dism.exe /Add-Driver /image:I:\nano_server\mountdir /driver: »I:\nano_server\Drivers\vmci\device » Dism.exe /Unmount-Image /MountDir:I:\nano_server\mountdir /Commit
vous aurez un warning : WARNING: DISM has skipped driver signature check because the version of running OS and that of target OS do not match. cela n’est pas trop grave le système vous informe juste qu’il va ignorer la signature du pilote, vous pouvez vérifier que le pilote est bien présent en parcourent le VHD dans .\mountdir\Windows\System32\drivers vous constaterez que le driver est bien présent:
Configuration de Nano Server
La façon la plus simple pour configurer Nano Server est d’utiliser un fichier Unattend.xml . Là nous allons configurer le compte administrateur et le nom du serveur voici la partie à utiliserdu fichier
Unattend.xml : yourBApasswordhere true
Entre les balises AdministratorPassword les informations du compte administrateur Entre les balises Value on retrouve le mot de passe
yourBApasswordhere
Entre les balises Plaintext la valeur true indiquée qu’on laisse le mot de passe en clair dans le fichier réponse. Puis pour le nom du serveur:
ServerName
Entre les balises ComputerName la valeur true indique qu’on laisse le mot de passe en clair dans le fichier réponse. voilà le fichier au complet:
xmlns= »urn:schemas-microsoft-com:unattend » xmlns:wcm= »http://schemas.microsoft.com/WMIConfig/2002/State » xmlns:xsi= »http://www.w3.org/2001/XMLSchema-instance »> pass= »offlineServicing »> name= »Microsoft-Windows-Shell-Setup » processorArchitecture= »amd64″ publicKeyToken= »31bf3856ad364e35″ language= »neutral » versionScope= »nonSxS »> SRVNANO01 pass= »oobeSystem »> name= »Microsoft-Windows-Shell-Setup » processorArchitecture= »amd64″ publicKeyToken= »31bf3856ad364e35″ language= »neutral » versionScope= »nonSxS »> P@ssw0rd
true Pacific Standard Time pass= »specialize »> name= »Microsoft-Windows-Shell-Setup » processorArchitecture= »amd64″ publicKeyToken= »31bf3856ad364e35″ language= »neutral » versionScope= »nonSxS »> TazmenTeam TazmenWorld
Puis enregistrer votre fichier Unattend.xml Maintenant pour l’appliquer à notre VHD on utilisera le encore DISM de la façon suivante: Puis vous devez vous placer dans le répertoire source du média d’installation avec une invite de commande en administrateur:
Puis monter l’image disque avec dism avec la commande suivante:
dism.exe /Mount-Image /ImageFile: »image.vhd » /Index:1 /MountDir: ».\mountdir » ensuite il faut ajouter le fichier Unattend.xml que vous souhaitez avec la commande
dism\dism /image:.\mountdir /Apply-Unattend:.\unattend.xml
puis démonter l’image du répertoire mountdir
Dism.exe /Unmount-Image /MountDir:« .\mountdir » /Commit
cd F:\sources Dism.exe /Mount-Image /ImageFile: »I:\nano_server\NanoServer.vhd » /Index:1 /MountDir: »I:\nano_server\mountdir » Dism.exe /Image:I:\nano_server\mountdir /Apply-Unattend:I:\nano_server\unattend.xml
Dism.exe /Unmount-Image /MountDir:I:\nano_server\mountdir /Commit
Configuration du script du premier démarrage
Au premier démarrage de Nano Server il va exécuter un script qui va se trouver dans %WINDIR%\Setup\Scripts\ qui se nomme SetupComplete.cmd
voici la méthode que j’ai utilisée :
cd F:\sources dism.exe /Mount-Image /ImageFile: »I:\nano_server\NanoServer.vhd » /Index:1 /MountDir: »I:\nano_server\mountdir » md I:\nano_server\mountdir\Windows\Setup md I:\nano_server\mountdir\Windows\Setup\Scripts copy I:\nano_server\SetupComplete.cmd I:\nano_server\mountdir\Windows\Setup\Scripts Dism.exe /Unmount-Image /MountDir:I:\nano_server\mountdir /Commit
et voilà le résultat au premier démarrage:
Vous pouvez aussi par exemple configurer votre adresse ip avec NETSH voila un autre exemple si je veux vérifier l’état de la carte réseau, et ensuite lui attribuer une ip fix:
ping 127.0.0.1
netsh interface ip set address « Ethernet0 » static 192.168.40.40 255.255.255.0 192.168.40.2 hostname
Si vous utilisez Vmware je vous conseille fortement d’utiliser cette dernière méthode, en effet au premier démarrage dans une machine Vmware , la VM aura un peu de mal à trouver son ip par le DHCP
Conversion du VHD en VMDK
sélectionner votre disque VHD
sélectionner une extension dynamique
la conversion se fait
une fois fini cliquer sur ok
puis vous devrait remplacer le paramètre:
Connexion à nano server
Une fois terminé il ne vous reste plus qu’à ouvrir une session distance. pour piloter nano server vous pouvez utiliser wmi par exemple ici si je veux avoir la liste des processus en cours:
Get-WmiObject -Class Win32_Process -ComputerName 192.168.40.40 -Credential administrator |select name
Un autre exemple, vous pouvez utiliser PSSession en PowerShell
De même que vous pouvez piloter nano server depuis PowerShell ISE:
En Résumé :
- Concept de Windows Nano Server : Introduction à Windows Nano Server, un système d’exploitation minimaliste de Microsoft.
- Caractéristiques Clés : Description des principales fonctionnalités et avantages de Windows Nano Server.
- Utilisation et Applications : Aperçu des cas d’utilisation et des scénarios typiques pour Windows Nano Server.
- Optimisation et Performance : Mise en lumière de l’efficacité et de la légèreté de Nano Server en termes de performance.
- Comparaison avec d’Autres Systèmes : Analyse comparative de Nano Server par rapport à d’autres versions de Windows Server.