Créer un partage SMB 3.0 pour Hyper-V
I. Présentation
Il n'est pas rare de stocker ses machines virtuelles en local sur le serveur faisant office d'hyperviseur Hyper-V. Ceci est très fonctionnel, n'ayez pas de doute à ce sujet. Par contre, ceci limite l'accès aux fichiers des machines virtuelles uniquement à l'hôte local.
Pour voir un peu plus loin, on va imaginer très simplement un stockage partagé accessible par l'ensemble de vos hôtes Hyper-V. L'avantage c'est que vous pourrez facilement réaliser des Live Migration c'est-à-dire des migrations de VM en direct d'un hyperviseur vers l'autre, grâce au fait que l'espace de stockage soit partagé par les hyperviseurs, sans avoir à déplacer les fichiers de la VM.
Pour parvenir à cela, il y a plusieurs méthodes... Depuis Windows Server 2012, le protocole SMB 3.0 est assez optimisé et performant pour être utilisé pour ce genre de configuration. Dans ce tutoriel, on verra comment créer un partage SMB v3 opérationnel de manière à accueillir les fichiers de VMs, s'en suivra un autre tutoriel consacré au Storage Migration et à la Live Migration avec Hyper-V.
Dans cet exemple, j'effectue la configuration sous Windows Server 2012 R2 sur un serveur nommé "FloServer" au sein du domaine "IT-CONNECT.local". On part du principe où votre serveur est déjà serveur de fichiers ("Services de fichiers et de stockage").
II. Créer un partage "SMB - Applications"
On va créer ce que l'assistant Microsoft appelle un partage de type "SMB - Applications" c'est-à-dire appropriées à certaines applications dont Hyper-V. Pour procéder, ouvrez le gestionnaire de serveurs et accédez à "Services de fichiers et de stockage", et ensuite accédez à "Partages".
En cliquant sur le bouton "Tâches" créez un nouveau partage.
Lors de la première étape, sélectionnez le profil "Partage SMB - Applications" qui est un profil de configuration prédéfini adapté à Hyper-V.
Pour l'emplacement de ce partage, préférez un volume disposant d'un espace suffisant pour stocker vos VMs, tout dépend de vos besoins... Pour ma part j'utilise mon volume "V" qui correspond à un disque virtuel sur un pool de stockage disponible sur mon serveur.
Si vous préférez, indiquez directement un chemin personnalisé, selon permet de définir soit même le chemin du partage. Si vous sélectionnez uniquement la lettre du volume, votre répertoire partagé sera créé sous un répertoire principal nommé "Shares".
Donnez un nom à votre partage, par exemple "VM$". Pour rappel, le fait d'indiquer un signe "$" permet de masquer le partage sur le réseau. Ainsi, on évite de rendre visible ce partage sensible.
Au niveau des autres paramètres, tout est bloqué sauf l'option de chiffrement (qui peut être activée pour ajouter une couche de sécurité supplémentaire). Ceci s'explique par le fait que l'on a choisi un profil adapté pour les applications, notamment Hyper-V, ce qui adapte la configuration automatiquement. Je précise aussi que l'activation du chiffrement demandera plus de ressources à votre CPU.
Voici l'étape où l'on doit spécifier les autorisations, ce qui n'est pas à prendre à la légère. On remarque par défaut que les utilisateurs ont un accès, et surtout que le partage est accessible en contrôle total pour "Tout le monde".
Je conseille fortement de modifier cela, il faut restreindre au maximum ses droits quittent à devoir les rouvrir un peu plus en cas de blocage gênant, mais ne négligez pas ce contrôle d'accès. Que ce soit au niveau NTFS ou au niveau du partage, les autorisations doivent être gérées correctement.
Cliquez sur "Personnaliser les autorisations" car nous allons donner les droits d'accès à la machine correspondante à l'hyperviseur.
Une fenêtre "Autorisations pour VM$" s'ouvre, passez à l'onglet "Partage" et cliquez sur le bouton dans le haut. Ensuite, on doit indiquer le nom de l'objet, comme il s'agit d'un objet ordinateur il faut ajouter un type supplémentaire dans la sélection. Pour cela, cliquez sur "Types d'objets" et ajoutez "des ordinateurs".
Une fois que c'est fait, indiquez le nom de votre hyperviseur pour l'ajouter. Donnez-lui les droits en contrôle total ou en lecture/écriture, et répétez l'opération si vous avez plusieurs hyperviseurs concernés.
On se retrouve donc avec ceci :
Supprimez l'autorisation d'accès à Tout le monde en contrôle total sur ce partage, car ce n'est pas utile et ce n'est pas top au niveau sécurité. Ajoutez plutôt le groupe "Administrateurs" voire même un utilisateur spécifique. Dans l'onglet "Autorisations" vous pouvez aussi modifier les autorisations, en ajoutant le compte ordinateur, en ajoutant le groupe "Administrateurs" et en supprimant "Utilisateurs". Conservez les autorisations spécifiques comme "Créateur propriétaire".
Enfin, exécutez la création du partage et vous devriez obtenir un résultat similaire à celui-ci :
Vous pouvez contrôler l'état du partage dans le Gestionnaire de serveur, sinon avec PowerShell avec la commande ci-dessous ou un bon vieux "net share".
Get-SmbShare
Enfin, pour lister les autorisations sur un partage spécifique utilisez ceci :
Get-SmbShareAccess -Name VM$
La création d'un partage est relativement simple, il ne reste plus qu'à déplacer nos machines virtuelles sur ce nouvel espace de stockage (Storage Migration) et à jouer de la Live Migration sur notre hyperviseur Hyper-V.
Pour voir comment fonctionne la Storage Migration avec Hyper-V suivez mon tutoriel : Hyper-V et Storage Migration
Quelques articles qui devraient vous intéresser sur le SMB :
- Quelle version du protocole SMB utilisez-vous ?
- Comment forcer le chiffrement SMB 3.0 sur tous les partages ?
Merci pour ce tuto, très clair.
M. LO