Dell PowerEdge R510, R720xd
Note
Edit 2019 : Cette partie est mise à jour. Et j'ai ajouté les baies DAS.
Précédent : ZFS on Linux - 4 | Suivant : ZFS on Linux - 6
Ces deux modèles de serveurs, bien que de générations différentes, se configurent de la même manière.
5.1 - Description du matériel
5.1.2 - Dell PowerEdge R510
- 2x "Quad core Intel Xeon E5540" @ 2,53 GHz (HT actif, 16 processeurs logiques))
- 32 Go RAM
- 2x 146 Go SAS 10kt/m (sur PERC H300, RAID1)
- 12x 2 To SATA (1x PERC H310, mode nonRaid)
- 2x Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet Controller
- 1x SAS 6Gbps HBA (LSI SAS2008 Fusion-MPT SAS-2 [Falcon])
Mise en service 2010. Debian 7 Squeeze jusqu'à Debian 9 Stretch.
5.1.2 - Dell PowerEdge R720xd
- 2x "Octo Core Intel Xeon E5-2670" @ 2,60 GHz (HT actif, 32 processeurs logiques)
- 192 Go RAM (ou 128 Go RAM)
- 2x 146 Go SAS 15kt/m (sur PERC H310 Mini, RAID1)
- 24x 1 To MDL SAS 7.2kt/m (sur PERC H310 Mini, mode nonRaid)
- ou 12x 4 To MDL SAS 7.2kt/m (sur PERC H310 Mini, mode nonRaid)
- 2x Ethernet Intel I350 Gigabit + 2x Ethernet Intel X520 82599EB 10-Gigabit SFP+
- 2x SAS 6Gbps HBA (LSI SAS2008 Fusion-MPT SAS-2 [Falcon])
Mise en service 2012 et 2013. Debian 7 Squeeze jusqu'à Debian 9 Stretch.
5.1.3 - Dell PowerVault MD1200
- 2x SAS EMM (modules de gestion du boîtier)
- 12x 3 To MDL SAS 7.2kt/m
- ou 12x 4 To MDL SAS 7.2kt/m
Mise en service 2010.
5.1.4 - Dell PowerVault MD3060e
- 2x SAS EMM (modules de gestion du boîtier)
- 60x 4 To MDL SAS 7.2kt/m
Mise en service 2013.
5.2 - Configuration de ZFS avec multipath
Après une installation Debian des plus standard, voyons comment il est possible de lier serveurs et baies DAS.
5.2.1 - Installation
1 | apt install zfs-dkms zfs-zed zfsutils-linux multipath-tools
|
5.2.2 - Attachements
- DAS simple attachement (illustration Dell) :
- DAS double attachement (ici, sur le même contrôleur, illustration Dell) :
- DAS daisy-chain ou attachement en anneau :
En fait, avec multipath, le type d'attachement physique importe peu. Il suffit d'indiquer quels disques doivent être gérés et c'est le logiciel qui va découvrir les chemins (la topologie). Le modèle, ou la génération, de contrôleur SAS, supportant plus ou moins de disques (le LSI SAS2008 supporte de 256 à 512 devices), on pourra attacher plus ou moins de baies DAS (jusqu'à 8 baies MD1200, soit 96 disques, ou 4 baies MD3060e, soit 240 disques !).
5.2.3 - Configuration de ZFS
- /etc/zfs/vdev_id.conf en multi-attachement :
Il est réduit à sa plus simple expression, tout sera géré via multipath.
1 2 | multipath yes
# Oui, c'est tout.
|
Par contre, on ne peut pas mélanger des disques dans vdev_id.conf et d'autres avec multipath. Dans ce cas de figure, même les disques en simple attachement, ceux de la baie frontale du serveur par exemple, devront être gérés par multipath.
5.2.4 - Configuration de multipath
- /etc/multipath.conf :
De la même manière qu'avec le fichier vdev_id.conf, on doit décrire les disques, les nommer (leur donner un alias). Il est fortement recommandé de blacklister le disque système.
Avertissement!
Une option par défaut a changé dans Debian 10, et il faut maintenant préciser le comportement de find_multipaths.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # /etc/multipath.conf
# see /usr/share/doc/multipath-tools/examples/multipath.conf.annotated.gz
defaults {
verbosity 1
user_friendly_names no
find_multipaths yes # or greedy, or smart
}
blacklist {
wwid 6d4ae5209ffc6500177de2aa11b3e85e
}
multipaths {
# baie1 MD1200 double attachement
# 12x 4 To
multipath {
wwid 35000cca01aa65e50
alias B1D0
}
multipath {
wwid 35000cca01aa7a0d0
alias B1D1
}
[ ... ]
multipath {
wwid 35000cca01aa68344
alias B1D11
}
# baie frontale (simple attachement)
# 24x 1 To
multipath {
wwid 350000394081beff0
alias SRV_D0
}
multipath {
wwid 3500003940828c18c
alias SRV_D1
}
[ ... ]
multipath {
wwid 350000394081bc094
alias SRV_D23
}
}
|
On retrouve l'association entre un GUID (préfixé d'un '3') et un alias humainement compréhensible. Quelques outils pour simplifier ces tâches sont décrit en partie 7.
Après vérification que multipathd a bien démarré lors de son installation, il faut lui faire prendre en compte sa nouvelle configuration :
1 2 | ps faxu | grep [m]ulti
root 3210 0.0 0.0 2687520 22752 ? SLsl 2013 124:16 /sbin/multipathd -d -s
|
1 | multipath -F # Flush all unused multipath device maps.
|
1 2 | multipath -r # Force devmap reload.
[ ... output may differ ... ]
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | multipath -v2 -ll
# -v2 : be verbose
# -ll : Show the current multipath topology from all available sources
B1D8 (35000039518d23afc) dm-6 TOSHIBA,MG03SCA400
size=3.6T features='1 retain_attached_hw_handler' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 1:0:4:0 sdf 8:80 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 2:0:4:0 sdap 66:144 active ready running
SRV_D13 (35000c50056580d03) dm-17 SEAGATE,ST91000640SS
size=932G features='1 retain_attached_hw_handler' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 0:0:13:0 sdz 65:144 active ready running
B1D7 (350000c0f01ba2f44) dm-7 WD,WD4001FYYG
size=3.6T features='1 retain_attached_hw_handler' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 1:0:5:0 sdg 8:96 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 2:0:5:0 sdaq 66:160 active ready running
[ ... ]
SRV_D12 (35000c50056594ebb) dm-16 SEAGATE,ST91000640SS
size=932G features='1 retain_attached_hw_handler' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 0:0:12:0 sdy 65:128 active ready running
|
On retrouve pour chaque disque, une ligne rappelant l'alias, le GUID, le device mappé, VENDOR et MODEL. Puis une deuxième ligne avec la taille et les options. Enfin le chemin (ou les chemins) vers le device, ainsi que son état. Fun fact : La sortie n'est jamais dans le même ordre.
On retrouve les alias des disques dans /dev/mapper/.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ls -l /dev/mapper/
total 0
lrwxrwxrwx 1 root root 8 nov. 15 16:38 B1D0 -> ../dm-11
lrwxrwxrwx 1 root root 8 nov. 15 16:38 B1D1 -> ../dm-10
lrwxrwxrwx 1 root root 7 nov. 15 16:38 B1D10 -> ../dm-2
lrwxrwxrwx 1 root root 7 nov. 15 16:38 B1D11 -> ../dm-3
lrwxrwxrwx 1 root root 7 nov. 15 16:39 B1D2 -> ../dm-0
lrwxrwxrwx 1 root root 7 nov. 15 16:38 B1D3 -> ../dm-5
lrwxrwxrwx 1 root root 7 nov. 15 16:38 B1D4 -> ../dm-4
lrwxrwxrwx 1 root root 7 nov. 15 16:38 B1D5 -> ../dm-1
lrwxrwxrwx 1 root root 7 nov. 15 16:38 B1D6 -> ../dm-8
lrwxrwxrwx 1 root root 7 nov. 15 16:38 B1D7 -> ../dm-7
lrwxrwxrwx 1 root root 7 nov. 15 16:38 B1D8 -> ../dm-6
lrwxrwxrwx 1 root root 7 nov. 15 16:38 B1D9 -> ../dm-9
crw------- 1 root root 10, 236 oct. 19 12:28 control
lrwxrwxrwx 1 root root 8 nov. 15 16:38 SRV_D0 -> ../dm-12
lrwxrwxrwx 1 root root 8 nov. 15 16:38 SRV_D1 -> ../dm-13
[ ... ]
lrwxrwxrwx 1 root root 8 nov. 15 16:38 SRV_D8 -> ../dm-34
lrwxrwxrwx 1 root root 8 nov. 15 16:38 SRV_D9 -> ../dm-35
|
C'est prêt !
5.2.5 - Création du pool
C'est le même principe qu'avec les alias de vdev_id.conf :
1 2 | zpool create -f baie1 raidz2 B1D0 B1D1 B1D2 B1D3 B1D4 B1D5 \
raidz2 B1D6 B1D7 B1D8 B1D9 B1D10 B1D11
|
1 2 3 | zpool list
NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT
baie1 43,5T 32,8T 10,7T - 17% 75% 1.00x ONLINE -
|
(Oui, celui-là est déjà utilisé)
Précédent : ZFS on Linux - 4 | Suivant : ZFS on Linux - 6
ZFS on Linux - Footnotes
date: | 2019-03-25 |
---|---|
category: | HPC |
tags: | ZFS |
(notes de bas de page des articles ZFS on Linux, pasque DRY)
CBP : Centre Blaise Pascal
CDDL : Common Development and Distribution License
CLI : Command Line Interface (interface en ligne de commande)
COW : Copy On Write (copie sur écriture)
CPU : Central Processing Unit (Processeur Central)
DAS : Direct_Attached_Storage
DIY : Do It Yourself : *Fais-le toi-même.*
DRY : Don't Repeat Yourself : *Ne te repête pas.*
GUID : Global Unique Identifier
HBA : Host Bus Adapter
HT : HyperThreading
JBOD : Just a Bunch Of Disks
LLNL : Laurence Livermore National Laboratory
LVM : Logical Volume Manager ou Gestion par Volumes Logiques
NFS : Network File System
OS : Operating System, ou Système d'Exploitation
PSMN : Pôle Scientifique de Modélisation Numérique (là où je passe l'essentiel de mes journées)
RAID : Redundant Array of Inexpensive Disks
RAM : Random Access Memory, ou Mémoire Vive
SAS : Serial Attached SCSI
SATA : Serial Advanced Technology Attachment
SPL : Solaris Porting Layer, see github
SSD : Solid State Drive
ZFS :
SPDX-License-Identifier : CC-BY-4.0