3.15. Étude de la sauvegarde des fichiers
Ce problème a pour but l'étude des conditions
d'exploitation de la sauvegarde régulière des fichiers
disques.
Pour cela on considère une installation
équipée de 5 piles de disques de chacune 900 Mo, dont le temps
d'accès moyen est de 21 ms, et le débit de 2.5 Mo/sec. Par
ailleurs elle dispose de dérouleurs à 6250 BpI, dont le
débit est de 500 Ko/sec. Les bandes utilisées font 2400
pieds.
A- On effectue la sauvegarde en utilisant des blocs de 32
Ko, tant en lecture disque qu'en écriture bande. Combien faut-il de
bandes par pile, combien au total, quel temps demande cette sauvegarde
complète?
B- Devant les temps importants de la sauvegarde
complète, on désire faire une sauvegarde incrémentale. Des
mesures faites sur le système en cours d'exploitation ont donné
les résultats suivants:
. la taille des blocs est de 8
Ko,
. il y a en moyenne 10
accès disque par seconde,
. il y a environ 4 lectures
pour 1 écriture.
On décide d'écrire systématiquement sur
bande les blocs qui sont écrits sur disque. Déterminer, pour une
période de 24 heures, combien de bandes sont nécessaires. Proposer
une méthode d'exploitation des bandes de sauvegarde complète et
incrémentale pour restaurer une pile de disques
endommagée.
C- Un utilisateur fait remarquer qu'un même bloc
peut être écrit plusieurs fois dans une même période
de 24 heures, aussi, pour réduire encore le nombre de bandes, et
améliorer la restauration, on effectue d'autres mesures pour savoir
combien de fois en moyenne, un même bloc est écrit dans une
période donnée. Les résultats sont les suivants:
période
|
6 h.
|
24 h.
|
2 j.
|
3 j.
|
4 j.
|
5 j.
|
nombre
|
3
|
5
|
7
|
8.5
|
9.5
|
10
|
On décide en conséquence de sauvegarder à
la fin d'une période de 6 heures les blocs modifiés durant cette
période. Déterminer la taille nécessaire, et proposer une
exploitation.
D- On décide d'acheter une sixième pile de
disques de mêmes caractéristiques, et de l'utiliser pour la
sauvegarde incrémentale à la place du dérouleur, en
utilisant la méthode de la question C. Tout en conservant la
période de 6 heures pour sauvegarder les blocs modifiés pendant la
période, on exploite la nature aléatoire du support, pour ne
conserver que la dernière version des blocs modifiés, donner la
taille de l'occupation disque au bout de 6 h., 24 h., 48 h. et 5 jours. En
déduire une exploitation possible.
E- Pour fournir un service complémentaire aux
utilisateurs, on décide de faire la sauvegarde toutes les 6 heures, comme
en D, mais par fichier modifié, et non plus par bloc, sachant que ceci
coûte 50 % d'espace supplémentaire. Quel service peut-on
offrir?
Solution du problème
3.15
3.15.1. Question A
L'espace interbloc correspond à
0.75 * 6250 = 4690 octets. En utilisant des blocs de 32 Ko,
la bande sera occupée à
32768 / (32768 + 4690) = 87.5 %. Une bande de
2400 pieds peut donc contenir effectivement 158 Mo (on prendra 150 Mo pour
simplifier), soit 6 bandes par pile, et 30 bandes pour l'ensemble des disques.
La lecture sur le disque pour la sauvegarde, peut être organisée de
façon à réduire au minimum les temps d'attente. Il y a
cependant au minimum 150 / 2.5 = 60 secondes pour la
lecture. En supposant de même que les opérations et le
matériel permettent à la bande de ne pas ralentir lors de l'espace
interbloc, il faut 180 / 0.5 = 360 secondes pour
l'écriture sur bande. L'ordinateur peut éventuellement permettre
que les transferts disques et bandes se fassent en même temps, il faut
alors 6 mn. par bande (sinon il en faudra 7). Le temps total d'une sauvegarde
complète d'un disque est donc de 36 minutes, et de 3 heures pour
l'ensembles des 5 disques.
3.15.2. Question B
En 24 heures, il y a
24 * 3600 * 10 = 864000 accès disques, dont
1/5 sont des écritures. Il y a donc 172800 blocs disques de 8 Ko à
écrire sur bande. En les regroupant 4 par 4, on aura des blocs de 32 Ko
sur bande. L'espace total est de 172800 * 8192, soit 1350 Mo, soit 9
bandes.
Lorsqu'une pile de disques est endommagée, pour la
reconstruire, on doit repartir de la dernière sauvegarde complète
de cette pile, et utiliser les bandes incrémentales postérieures
à cette sauvegarde pour mettre à jour les blocs disques
modifiés depuis cette date. On peut par exemple sauvegarder
complètement une pile par jour, par rotation, ce qui demandera 36 minutes
et 6 bandes en plus des 9 bandes incrémentales tous les jours (au lieu de
30 bandes et 3 heures!). La restauration d'une pile endommagée peut
demander entre 36 minutes (le crash est juste après la sauvegarde) et
36 + 5 * 9 * 6 = 306 minutes, soit 5
heures (le crash est juste au moment où aurait dû commencer la
sauvegarde de ce disque).
Notons que chaque bloc bande de 32 Ko contient 4 blocs disque
de 8Ko, situés n'importe où. Si les blocs sont
équitablement répartis sur les 5 piles, il y aura, par bande,
150000 / (8 * 5) = 3750 blocs de 8 Ko pour cette
pile; comme l'écriture aléatoire d'un bloc demande
21 + 3.2 ms, le temps d'écriture disque total par bande de
sauvegarde incrémentale est donc 3750 * 24.2 = 90750
ms, soit 1.5 minutes, et donc inférieur à la lecture de la bande
elle-même.
3.15.3. Question C
Pour une période de 6 heures, il y a
6 * 3600 * 10 = 216000 accès disque, dont
43200 écritures. En fin de période, puisque les blocs
écrits durant la période le sont en moyenne 3 fois, il y a donc en
fait 43200 / 3 = 14400 blocs disques à écrire
sur bande, soit environ 115 Mo, soit moins de 1 bande par période de 6
heures, soit 4 bandes par jour (au lieu de 9 dans la question
précédente). La restauration d'un disque endommagé
demandera entre 36 minutes et
36 + 5 * 4 * 5 = 136 minutes soit
2 h. 30 mn. (les bandes étant de 115 Mo, il ne faut plus
que 5 minutes pour les lire).
Pour diminuer ce temps de restauration, il faudrait que les
bandes utilisées ne contiennent que des informations concernant la pile
à restaurer. Ceci n'était pas envisageable en B, car il aurait
fallu en permanence 1 dérouleur par pile. Par contre, ici, la sauvegarde
incrémentale étant déclenchée périodiquement,
peut être faite pile par pile. En moyenne, chaque pile donne lieu à
115 / 5 = 23 Mo de sauvegarde incrémentale toutes les
6 heures. Une bande pourra contenir 6 sauvegardes incrémentales
successives d'une même pile de disques. Il faudra donc
5 * 4 / 6 = 3.3 bandes par pile de disques entre
deux sauvegardes complètes de cette pile. Si le temps de lecture d'une
bande incrémentale demande cette fois 5.5 minutes (138 Mo), tous les
blocs contenus sur cette bande sont relatifs à la même pile. Il y
aura alors 14400 / 5 * 6 = 17280 blocs de 8 Ko
à réécrire sur disque par bande de sauvegarde
incrémentale, ce qui demandera
17280 * 24.2 = 418 secondes, soit 7 minutes. La
réécriture sur disque des blocs de la sauvegarde
incrémentale prendra plus de temps que la lecture de la bande. La
restauration demandera donc entre 36 minutes et
36 + 3.3 * 7 = 59 minutes.
3.15.4. Question D
Si on utilise une pile de disques spécialisée
pour la sauvegarde incrémentale, lorsqu'on recopie un bloc sur le disque
spécialisé, on peut récupérer l'espace occupé
éventuellement par une version antérieure de ce bloc. Dans ces
conditions, l'espace nécessaire pour une pile donnée, et à
un moment donné, correspond au nombre de blocs modifiés depuis la
dernière sauvegarde complète de cette pile. En supposant que les
opérations disques sont équitablement réparties sur toutes
les piles, cet espace est le suivant:
moment
|
6h.
|
24 h.
|
2 j.
|
3 j.
|
4 j.
|
5 j.
|
écritures
|
8640
|
34560
|
69120
|
103680
|
138240
|
172800
|
nombre blocs
|
2880
|
6912
|
9874
|
12198
|
14552
|
17280
|
espace
|
23 Mo
|
55 Mo
|
79 Mo
|
98 Mo
|
116 Mo
|
137 Mo
|
On peut donc en conclure que l'espace total moyen
nécessaire est égal à
55 + 79 + 98 + 116 + 137 = 485 Mo.
Le disque supplémentaire est donc amplement suffisant.
L'exploitation pourrait être la suivante:
- toutes les 6 heures, sauvegarde
incrémentale:
- sauvegarde sur le disque
spécialisé de tous les blocs modifiés depuis le
début de période.
- récupération de l'espace occupé
par les anciennes versions de ces blocs sur le disque
spécialisé.
- tous les jours (ou toutes les 4 sauvegardes
incrémentales), après une sauvegarde incrémentale,
sauvegarde complète de la pile de numéro j mod 5, puis
suppression sur le disque spécialisé des blocs provenant de cette
pile.
Remarque: il peut être judicieux que la
sauvegarde complète d'une pile soit non seulement sur bande, mais aussi
sur un disque, si l'unité supplémentaire accepte les cartouches
amovibles. Cela rallonge éventuellement la sauvegarde de
900 / 2.5 = 360 secondes, soit 6 minutes (peut-être
pas si les opérations d'écritures bandes peuvent être
simultanées à l'écriture disque). En cas de crash disque,
on peut repartir depuis la cartouche, et la recopier sur la pile correspondante,
ce qui demandera 12 minutes (6 minutes si l'installation permet la
simultanéité des lectures et des écritures sur deux piles
différentes), au lieu de 36 minutes à partir de bande. Il faut
ensuite mettre à jour les blocs modifiés depuis cette sauvegarde
complète en utilisant la sauvegarde incrémentale sur disque
spécialisé, ce qui demandera au pire
2 * 24.2 * 17280 = 836 secondes, soit 14 minutes
(7 minutes si la simultanéité des lectures et des écritures
est possible).
3.15.5. Question E
Si on fait la sauvegarde incrémentale par fichier, et
non plus par bloc, cela coûtera 50 % d'espace de plus, et
nécessitera donc 730 Mo, ce qui est encore acceptable. L'avantage de
faire cette sauvegarde par fichier, est de permettre la
récupération non plus par pile, mais par fichier. En effet, le
fichier étant identifiable en tant que tel dans les supports de
sauvegarde, une telle récupération consiste d'abord à
rechercher le fichier sur les sauvegardes incrémentales. S'il est
trouvé, la recherche s'arrête. S'il n'est pas trouvé, la
recherche se poursuit sur la dernière sauvegarde complète de la
pile (ou de toutes les piles). Si on garde plusieurs sauvegardes
complètes successives, il est aussi possible de remonter dans ces
sauvegardes en commençant aux plus récentes, vers les plus
anciennes. C'est pourquoi on distingue souvent 3 niveaux de
sauvegardes:
- sauvegarde incrémentale,
périodicité 6 heures, conservation 1
semaine.
- sauvegarde partielle (une pile),
périodicité 5 jours, conservation 1
mois.
- sauvegarde complète (toutes les
piles), périodicité 1 mois, conservation 1
an.
Une telle exploitation permet de fournir à
l'utilisateur le service de restauration d'un fichier particulier jusqu'à
1 an après sa destruction sur les disques.