Le 4 août 2008 à 10:58:48 +0200, Pascal Hambourg a écrit :
Loic Tortay a écrit :
C'est d'autant plus le cas avec la plupart des systèmes RAID qui
"reconstruisent" tout le disque remplacé quel que soit son taux
d'utilisation réel (la quantité de données réellement présente sur le
disque).
Comment un système RAID pourrait-il le savoir ?
En journalisant les accès aux blocs ?
Pas assez fiable. Un bloc accédé récemment peut avoir été libéré depuis,
et inversement un bloc occupé n'ayant pas été accédé depuis peut être
absent du journal qui n'a pas une profondeur infinie. Seul le système de
fichier le sait de façon fiable.
Il n'est pas non plus nécessaire d'avoir un journal très évolué, un
simple « bitmap » peut suffir.
Evidemment ce n'est pas trivial, sinon tout le monde le ferait déjà.
Ou encore en ayant des informations sur (ou données par) le système de
fichiers dans les systèmes "mixtes" où le LVM/système RAID a des
relations "privilégiées" (voire intimes) avec le système de fichiers ?
(comme ZFS, ou les LVM/systèmes de fichiers -- non POSIX -- type ASM de
Oracle)
Ce sont donc des cas hautement particuliers.
ZFS n'est pas hautement particulier. C'est un système de fichiers POSIX
d'usage général (comment ça tout le monde n'utilise pas Solaris ou une
version récente de FreeBSD ou Mac OS X ?)
Ceci dit, on pourrait imaginer une espèce d'API standardisée permettant
à un pilote de périphérique de bloc quel qu'il soit (disque, LVM, RAID)
de demander au pilote de système de fichier si un bloc est occupé, non ?
Je présume que l'argument contre ce genre de chose est que cela va à
l'encontre du sacro-saint découpage en couches indépendantes en vigueur
partout ou presque. C'est d'ailleurs l'un des reproches adressés à ZFS.
Loïc.