TUTO : Étendre le stockage SERVERware Mirror/Cluster
L’ajout de capacité de stockage est une étape essentielle pour répondre aux besoins croissants de vos données et garantir la continuité des opérations. Dans ce guide, nous explorerons le processus d’extension du stockage en ajoutant deux disques identiques, tout en préservant la redondance pour assurer la fiabilité du système.
Suivez attentivement chaque étape pour optimiser et maintenir la performance de votre infrastructure SERVERware.
Commençons par le volet matériel. Vous devez insérer “2” périphériques de stockage identiques dans la baie vide de l’hôte de stockage (1 dans chaque serveur). Pour maintenir la redondance du stockage, l’ajout de 2 périphériques identiques est toujours privilégié, étendant ainsi le stockage sous forme de réseau redondant.
En cas de RAID matériel actif sur l’hôte de stockage, l’ajout de nouveaux périphériques au RAID “0” doit se faire via la gestion à distance (iLO, iDRAC, IPMI) ou directement sur le matériel, si un accès physique est disponible.
Passons à présent à la partie logicielle :
Employez la commande suivante pour visualiser la configuration actuelle du pool de stockage : zpool status.
zpool status
pool: NETSTOR
state: ONLINE
scan: resilvered 728M in 0h0m with 0 errors on Tue Dec 6 16:13:09 2016
config:
NAME STATE READ WRITE CKSUM
NETSTOR ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
SW3-NETSTOR-SRV1-1 ONLINE 0 0 0
SW3-NETSTOR-SRV2-1 ONLINE 0 0 0
errors: No known data errors
Dans l’exemple du système, nous disposons actuellement de “2” unités de stockage dans le pool NETSTOR, configurées en miroir sous le nom de miroir-0.
Une fois que nous avons recueilli les informations relatives aux périphériques de stockage existants, nous pouvons procéder au formatage et au partitionnement des nouveaux disques.
Il est essentiel de créer une table de partitions sur ces nouveaux périphériques de stockage, qui seront ensuite combinés dans le miroir-1 au sein du même pool NETSTOR…
Afin de connaître le nom de bloc attribué par le système au nouveau périphérique de stockage, veuillez utiliser la commande suivante ls.
Observez la ligne 11, dans notre exemple, il s’agit du nom du nouveau bloc :
ls -lah /dev/disk/by-id
drwxr-xr-x 2 root root 400 Srp 24 13:42 .
drwxr-xr-x 8 root root 160 Srp 24 13:28 ..
lrwxrwxrwx 1 root root 9 Srp 24 13:30 ata-INTEL_SSDSC2BB080G4_BTWL3405084Y080KGN -> ../../sda
lrwxrwxrwx 1 root root 10 Srp 24 13:30 ata-INTEL_SSDSC2BB080G4_BTWL3405084Y080KGN-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Srp 24 13:30 ata-INTEL_SSDSC2BB080G4_BTWL3405084Y080KGN-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Srp 24 13:30 ata-INTEL_SSDSC2BB080G4_BTWL3405084Y080KGN-part9 -> ../../sda9
lrwxrwxrwx 1 root root 9 Srp 24 13:30 ata-ST31000520AS_5VX0BZPV -> ../../sdb
lrwxrwxrwx 1 root root 10 Srp 24 13:30 ata-ST31000520AS_5VX0BZPV-part1 -> ../../sdb1
lrwxrwxrwx 1 root root 9 Srp 24 13:42 ata-WDC_WD10JFCX-68N6GN0_WD-WXK1E6458WKX -> ../../sdd
lrwxrwxrwx 1 root root 9 Srp 24 13:30 scsi-360000000000000000e00000000010001 -> ../../sdc
lrwxrwxrwx 1 root root 10 Srp 24 13:30 scsi-360000000000000000e00000000010001-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 9 Srp 24 13:42 wwn-0x11769037186453098497x -> ../../sdd
lrwxrwxrwx 1 root root 9 Srp 24 13:30 wwn-0x3623791645033518541x -> ../../sda
lrwxrwxrwx 1 root root 10 Srp 24 13:30 wwn-0x3623791645033518541x-part1 -> ../../sda1
lrwxrwxrwx 1 root root 10 Srp 24 13:30 wwn-0x3623791645033518541x-part2 -> ../../sda2
lrwxrwxrwx 1 root root 10 Srp 24 13:30 wwn-0x3623791645033518541x-part9 -> ../../sda9
lrwxrwxrwx 1 root root 9 Srp 24 13:30 wwn-0x60000000000000000e00000000010001 -> ../../sdc
lrwxrwxrwx 1 root root 10 Srp 24 13:30 wwn-0x60000000000000000e00000000010001-part1 -> ../../sdc1
lrwxrwxrwx 1 root root 9 Srp 24 13:30 wwn-0x9104338722358317056x -> ../../sdb
lrwxrwxrwx 1 root root 10 Srp 24 13:30 wwn-0x9104338722358317056x-part1 -> ../../sdb1
Maintenant que nous avons le nom du bloc, nous pouvons créer une table, une partition et préparer le disque pour l’utilisation.
NOTE :
Dans l’exemple ci-dessus, nous avons affiché des périphériques de stockage sans RAID matériel activé et lorsque c’est le cas, il est facile de déterminer le nouveau matériel par l’identifiant de périphérique “68N6GN0_WD-WXK1E6458WKX”.
De plus, “zpool status -L NETSTOR” affichera le pool avec les périphériques en bloc au lieu du libellé de la partition.
- L’autre option consiste à lire le numéro de série à partir de la console KVM du serveur, qui contient également des informations sur la baie utilisée pour le périphérique.
- En supposant que vous connaissiez la SERIE du nouveau périphérique de stockage, vous pouvez utiliser cette commande pour obtenir les numéros de série des périphériques de bloc et les comparer, à partir de la console : udevadm info –query=all –name=/dev/sdx | grep ID_SERIAL
- L’assistant d’installation de SERVERware dispose d’informations sur la matrice qui incluent les numéros de série des périphériques de stockage déjà utilisés dans le pool.
Nous allons maintenant créer un tableau de partition et un label :
Utilisez parted pour créer une table de partition pour un nouveau lecteur logique :
parted /dev/ --script -- mktable gpt
Créez désormais un nouveau libellé.
IMPORTANT : le libellé doit être nommé dans le format suivant : SW3-NETSTOR-SRVx-y.
Où “SRVx” correspond au numéro du serveur et “-y” au numéro du disque.
Ainsi, dans notre exemple (SW3-NETSTOR-SRV1-2) :
- SW3-NETSTOR-SRV1 – c’est le disque virtuel sur le SERVEUR 1
- -2 est le numéro du disque (disque 2)
Ajoutez maintenant une étiquette au nouveau disque.
Dans notre exemple :
parted /dev/ --script -- mkpart "SW3-NETSTOR-SRV1-2" 1 -1
Mettez désormais mettre à jour le fichier de configuration de SERVERware pour savoir quel périphérique de bloc utiliser.
Modifiez le fichier de configuration pour ajouter l’emplacement du disque secondaire :
nano /etc/sysmonit/mirror.cfg
Ajouter un nouveau nom de stockage séparé par des virgules après le nom de stockage existant.
Dans notre exemple, cela sera :
"SW3-NETSTOR-SRV1-1",
"SW3-NETSTOR-SRV1-2"
Dans notre exemple, le fichier ressemble alors à ceci (lignes 23 & 33):
{
"name": "ComaA",
"timeout": 15,
"virtaul_ifaces": [
{
"name": "br0",
"address": "192.168.200.22"
},
{
"name": "bondSAN",
"address": "192.168.20.22"
}
],
"storage": {
"pool_name": "NETSTOR",
"nodes": [
{
"id": "9b41c9b2ee1cb5eb47917f4d301cf9aa",
"address": "2.2.2.20",
"port": 4420,
"nvme_targets": [
"SW3-NETSTOR-SRV1-1",
"SW3-NETSTOR-SRV1-2"
],
"subsystem": "sw-mirror"
},
{
"id": "13da151e3e1e486959db9c08dcb76458",
"address": "2.2.2.21",
"port": 4420,
"nvme_targets": [
"SW3-NETSTOR-SRV2-1",
"SW3-NETSTOR-SRV2-2"
],
"subsystem": "sw-mirror"
}
]
}
Modifiez le fichier et appliquez le changement (CTRL+O & CTRL+X).
Nous devons maintenant exporter ce nouveau stockage sur le réseau afin que le serveur primaire puisse voir le nouveau périphérique.
Dans notre exemple :
sw-nvme expand-pool --path /dev/disk/by-id/ata-WDC_WD10JFCX-68N6GN0_WD-WXK1E6458WKX
NOTE :
Toutes les étapes depuis le début de ce guide jusqu’à ce point doivent être effectuées pour le serveur principal afin d’éviter toute perte en cas de basculement.
Lorsque les mêmes étapes sont effectuées sur le serveur de stockage primaire, nous continuons à ajouter de nouveaux espaces de stockage au pool NETSTOR.
Nous pouvons voir l’état du zpool :
zpool status
pool: NETSTOR
state: ONLINE
scan: scrub in progress since Wed Dec 9 16:08:22 2020
1,72G scanned at 587M/s, 28,5K issued at 9,50K/s, 114G total
0B repaired, 0,00% done, no estimated completion time
config:
NAME STATE READ WRITE CKSUM
NETSTOR ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
SW3-NETSTOR-SRV1-1 ONLINE 0 0 0
SW3-NETSTOR-SRV2-1 ONLINE 0 0 0
errors: No known data errors
Nous devons maintenant ajouter de nouveaux lecteurs logiques à notre pool.
Il faut être prudent avec cette commande. Vérifiez les noms des lecteurs logiques pour vous assurer que vous avez obtenu le bon nom.
zpool add NETSTOR mirror /dev/disk/by-partlabel/SW3-NETSTOR-SRV1-2 /dev/disk/by-partlabel/SW3-NETSTOR-SRV2-2 -f
zpool status
pool: NETSTOR
state: ONLINE
scan: resilvered 728M in 0h0m with 0 errors on Tue Dec 6 16:13:09 2016
config:
NAME STATE READ WRITE CKSUM
NETSTOR ONLINE 0 0 0
mirror-0 ONLINE 0 0 0
SW3-NETSTOR-SRV1-1 ONLINE 0 0 0
SW3-NETSTOR-SRV2-1 ONLINE 0 0 0
mirror-1 ONLINE 0 0 0
SW3-NETSTOR-SRV1-2 ONLINE 0 0 0
SW3-NETSTOR-SRV2-2 ONLINE 0 0 0
errors: No known data errors
Vous devez attendre que le zpool ait terminé sa réversibilité.
Vous avez désormais étendu le stockage de votre pool de disques SERVERware.