Nous allons ici faire la virtualisation de stockage sur
Windows Server 2012 R2 en Powershell.
Dans ce chapitre
nous allons voir plusieurs points :
- Création de pool de stockage (Storage Pool)
- Création de Storage space (Virtualisation de stockage)
- Création de disque virtual (en VHDx)
-
Voici le schéma sur le quel je vais me baser afin de faire cet article :
J’ai deux serveurs :
- Un serveur de stockage, qui va contenir les Storage pool les Storage space et les Vdisk iSCSI ainsi qu’une target iSCSI
- Un serveur qui va se connecter à la target iSCSI via iSCSI initiator en powershell
Je vais ajouter 3 disques physique à mon
serveur de stockage, comme ceci :
Voici les disques que
j’ai ajoutés :
- Disk01 : 20 GB
- Disk02 : 10 GB
- Disk 03 : 5GB
Le disque 00 est le disque de base (le C) de mon Windows
server, nous allons d’ailleur voir grâce à la commande Powershell : Get-PhysicalDisk qui permet de lister les disques
physique au sein d’une machine.
Voici le résultat :
Avec la commande Get-PhysicalDisk
on a tous les disques avec la valeur CanPool confondus (False et True), je vais forcer le
canPool à TRUE avec la commande suivante afin d’avoir que les disques que je
viens d’ajouter à mon serveur, cela va me permettre de cacher mon disque de
départ C : qui est forcément à
False.
Get-PhysicalDisk -CanPool $true
1- Création d'un Storage Pool:
Nous allons commencer par créer un Storage pool, un Storage
pool est une agrégation de disques physiques en un seul disque :
Voici le script PowerShell
qui permet de faire cela :
#Récupération de la liste des disques avec le
CanPool forcés à TRUE
$PhysicalDisks = Get-PhysicalDisk
-CanPool $true
#Nom
$FriendlyName = "STORAGE"
#Nom
du pool
$systemfriendlyname = "Storage
Spaces on SRV-03"
#Création du Storage pool (agrégation de
disque en un seul disque)
New-StoragePool -StorageSubSystemFriendlyName $systemfriendlyname -PhysicalDisks
$PhysicalDisks -FriendlyName
$systemfriendlyname
Le StorageSubSystemFriendlyName s'obtient en faisant la commande suivante: Get-storagepool ou directement dans le serveur Manager dans la rubrique "Volumes " "pool de sockage"
Voici le résultat :
Nous sommes à ce stade là dans notre architecture :
Nous
allons ensuite continuer à l’étape suivante, qui consiste à créer les Storage
Space, c’est ce qu’on appelle de la virtualisation de stockage.
2- Création
d’un disque virtuel au sein de notre storage Pool :
Voici le script qui permet de le faire :
$friendly = "VDISK01"
$storagepool = "Storage
Spaces on SRV-03"
#Création
du disque virtuel
New-VirtualDisk -FriendlyName $friendly
-StoragePoolFriendlyName $storagepool -Size
20GB -ProvisioningType
Thin -ResiliencySettingName
parity
Explication:
Ici; je lancé la création d'un disque
virtuel d’une taille de 20 GB, avec un approvisionnement fin, et en termes de raid j’ai choisi la parité.
Voici le résultat:
On retrouve bien mon disque virtuel de 20 GB.
On peut également
le voir dans le server Manager :
Vous pouvez également faire clic
droit sur le disque virtuel afin de bien voir qu’il est créé sur notre Storage
pool qu’on a créé auparavant :
Voici les disques de mon Storage Pool sur lequel repose
mon Storage space :
On peut également vérifier la présence du disque dur virtuel dans le disk Manager:
Il faut maintenant initialiser
le disque, le formater et lui assigner une lettre :
Appliquer la commande suivante :
New-Partition -DiskNumber 4 -UseMaximumSize -AssignDriveLetter
Je prends la taille maximale
du disque et je lui assigne une lettre, ensuite faudra formater ce disque.
N’oubliez pas bien entendu de
formater votre disque J
Création du Vdisk iSCSI (LUN) :
Nous allons maintenant créer
un Vdisk iSCSI afin de l’attacher plus tard à une Lun iSCSI pour qu’il puisse
être présenté un serveur via iSCSI Initiator.
Commençons par installer la feature Cible iSCSI comme
ceci :
Add-WindowsFeature -name FS-iSCSITarget-Server
Voici le
résultat :
Ensuite,
je crée un disque iscsi virtual de type (VHDx) :
New-IscsiVirtualDisk -Path E:\LUN\LUN-01.vhdx -SizeBytes 4 GB
Voici le
résultat :
Regardons dans le server
Manager afin de vérifier l’existence de notre disque dur virtuel ISCSI :
J’ai également crée une LUN-02
de 13 GB.
New-IscsiVirtualDisk -Path E:\LUN\LUN-02.vhdx -SizeBytes 13GB
Nous allons
ensuite créer une Target (Cible) iSCSI voici le script en Powershell :
#create a new iscsi target
#Name
$NameTarget = "Target01"
#InitiatorIds est le serveur Hyper-v ça sera l'initiateur iSCSI, il va se connecter à la LUN afin de bénéficier du stockage en mode bloc
New-IscsiServerTarget -TargetName $NameTarget -InitiatorIds IPAddress:172.16.1.3
Vérification dans
le server Manager :
On voit bien ma cible (Target) iSCSI qui a été crée ici.
Une
fois que nous avons créé la cible iSCSI, il faut lui affecter des disques
virtuels, car c’est ces disques qui feront office de LUNs et qui seront
présentés au serveur Hyper-V par la baie d’iSCSI Initiator.
Voici comment on
affecte un disque dur virtuel à un target iSCSI en Powershell :
Add-IscsiVirtualDiskTargetMapping Target01 E:\LUN\LUN-02.vhdx -Lun 0
Add-IscsiVirtualDiskTargetMapping Target01 E:\LUN\LUN-01.vhdx -Lun 1
Vérification avec
la commande Get-iSCSIServerTarget
afin de voir que les deux LUNs sont bien affectés à ma Target
iSCSI (Target-01):
Une fois que j’ai créé ma
Target ISCSI avec des disques virtuels affectés dessus, je vais pouvoir
présenter cette cible iSCSI à mon serveur Hyper-v.
Pour se faire, deux
choix :
- Via le programme iSCSI initiator
- Soit en PowerShell
Nous allons ici le faire en
Powershell, voici le script qui permet de connecter un serveur à une Target iSCSI :
# Démarrage du service iSCSI Initiator
Start-Service msiscsi
# Configuration pour le démarrage automatique du service
Set-Service msiscsi -StartupType Automatic
## Discover iSCSI target
New-IscsiTargetPortal –TargetPortalAddress 172.16.1.7
## Connectionà la Target iSCSI
Connect-IscsiTarget -NodeAddress "iqn.1991-05.com.microsoft:srv-03-target01-target"
Verification:
On voit bien le “ISConnected qui est à TRUE” allons
maintenant vérifier dans l’ISCSI Initiator:
On retrouve bien ma Target iSCSI qui s'appelle TARGET-01 que j'ai crée auparavant qui est connecté =) :
Vérifions maintenant dans le
disk manager la présence des deux LUNs qui sont présentés à mon hyperviseur :
Je retrouve bien mes deux
disques J , bien entendu, il
faudra par la suite faire les opérations suivantes :
- Les mettre en ligne
- Les initialiser
- Les formater :) et leur assigner des lettres
Voila, cet article touche à sa fin,
n'hésitez pas à le partagez :)
@bientôt
Seyfallah Tagrerout
MSP 2014-2015