DRBD (2/5) : Périphérique en mode bloc

16 views
Skip to first unread message

Laurent Caillette

unread,
Apr 5, 2016, 1:24:32 AM4/5/16
to tec...@googlegroups.com
Comme promis dans l'épisode précédent, voici un aperçu du
fonctionnement des périphériques en mode bloc.

Un périphérique en mode bloc représente une mémoire de masse de taille
fixe, sur laquelle on peut effectuer des accès directs.
Conceptuellement, l'interface ressemble à ça :
- Fournir des métadonnées : combien de blocs; taille d'un bloc.
- Lire le n^ième bloc.
- Écrire une séquence d'octets dans le n^ième bloc.

Dans la pratique c'est forcément plus compliqué, mais on voit bien que
toutes sortes de périphériques de mémoire de masse supportent ce
comportement. C'est ainsi qu'on a pu substituer sans douleur des SSD
aux disques rotatifs. C'est également ce qui permet aux systèmes de
fichiers de fonctionner indépendemment du type de mémoire de masse.
Bien sûr il y a des optimisations, par exemple pour minimiser le
trajet des têtes d'un disque rotatif ou lisser les temps d'écriture
des indicateurs d'usure d'un SSD. Mais c'est grâce à cette notion
abstraite de périphérique en mode bloc qu'on a des systèmes de
fichiers qui tournent sur à peu près n'importe quoi.

Avec une interface aussi simple, on est bien sûr tenté de créer des
périphériques virtuels. Par exemple on peut allouer une zone de
mémoire vive pour en faire un disque virtuel ultra-rapide. On peut
aussi empiler les périphériques en mode bloc.

Sur Linux, LUKS (Linux Unified Key Setup) est un périphérique en mode
bloc virtuel qui chiffre son contenu avant de l'écrire dans le
périphérique en mode bloc sous-jacent. LVM (Logical Volume Manager)
agrège des périphériques en mode bloc pour faciliter les
redimensionnements. Il est courant d'empiler du LUKS par-dessus du
LVM.

DRBD s'insère quelque part dans tout ça. On peut empiler (de bas en
haut) LVM, DRBD, LUKS pour chiffrer en amont de l'écriture et de la
réplication. On peut mettre du LVM par-dessus du DRBD pour que tous
les volumes d'une machine virtuelle soient répliqués ensemble, avec
une garantie de transactionnalité. On peut faire plein d'autres trucs,
même du DRBD par-dessus du DRBD.

En tant que périphérique en mode bloc, DRBD reproduit à l'identique
les écritures de bloc vers le périphérique sous-jacent. Comme il lui
faut des métadonnées, il peut les écrire sur un volume séparé, ou sur
le même volume. Dans ce dernier cas il faut que le système de fichiers
ne prenne pas toute la place (au moins pour ext4fs il y a une options
de formatage pour ça). On ne perd au passage que quelques pourcents
d'espace disque.

Ce qui est sympa, c'est qu'en montant le périphérique sous-jacent, on
a toujours accès aux données. Ça permet par exemple de différer
l'installation de DRBD, ou de faire des tests de performances où l'on
débranche totalement DRBD.

Dans le prochain épisode, nous verrons plus en détail le
fonctionnement et la mise en œuvre de DRBD

Stéphane Tsacas

unread,
Apr 5, 2016, 11:46:45 AM4/5/16
to tec...@googlegroups.com
Salut,

2016-04-05 7:24 GMT+02:00 Laurent Caillette <laurent....@gmail.com>:
Comme promis dans l'épisode précédent, voici un aperçu du
fonctionnement des périphériques en mode bloc.

Un périphérique en mode bloc représente une mémoire de masse de taille
fixe, sur laquelle on peut effectuer des accès directs.

La bande magnétique fournit un contre exemple : accès par blocs, mais séquentiel.

-- 
Stephane

Reply all
Reply to author
Forward
0 new messages