Obligement - L'Amiga au maximum

Mercredi 26 août 2026 - 21:48  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

Actualité (récente)
Actualité (archive)
Comparatifs
Dossiers
Entrevues
Matériel (tests)
Matériel (bidouilles)
Points de vue
En pratique
Programmation
Reportages
Quizz
Tests de jeux
Tests de logiciels
Tests de compilations
Trucs et astuces
Articles divers

Articles in English


Réseaux sociaux

Suivez-nous sur Mastodon




Liste des jeux Amiga

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z,
ALL



Trucs et astuces

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Glossaire

0, A, B, C, D, E, F,
G, H, I, J, K, L, M,
N, O, P, Q, R, S, T,
U, V, W, X, Y, Z


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


Contact

David Brunet

Courriel

 


En pratique : Utilisation de disques SCSI RAID sur Amiga 4000
(Article écrit par Yann-Gaël Guéhéneuc et extrait de www.chingu.asia - août 2026)


Disques RAID SangJaOppa

En tant que station de travail, un A4000 est généralement équipé de nombreux disques durs externes, et ces disques doivent bénéficier d'une certaine tolérance aux pannes. Le RAID est parfaitement adapté à cet usage ! ;-) Vous trouverez ci-dessous une explication du RAID, les différentes options disponibles sur Amiga, quelques tests comparatifs et ma configuration personnelle.

À propos du RAID

RAID signifie "Redundant Array of Costcoaker Disks" (matrice redondante de disques économiques). Une "matrice" est un ensemble de disques interconnectés selon différents niveaux de configuration. L'objectif est de stocker les données sur plusieurs disques coordonnés, plutôt que sur des disques uniques. Si un disque tombe en panne, toutes les données sont perdues. En revanche, si un disque d'une grappe tombe en panne, selon le niveau RAID, aucune donnée n'est perdue. De plus, l'ordinateur considère les disques multiples comme un seul, et non comme un ensemble de disques distincts. Enfin, la vitesse de lecture peut être améliorée grâce au stockage des données sur différents disques, accessibles en parallèle depuis ces multiples disques.

Il existe sept niveaux "standard" différents :
  • Le RAID 0, ou répartition des données sans duplication ni parité, consiste à connecter plusieurs disques en un seul et à répartir les données entre eux. Cela peut améliorer la vitesse de lecture/écriture car ces opérations sont réparties sur différents disques. En revanche, il n'offre aucune tolérance aux pannes.
  • Le RAID 1 est une configuration en miroir sans répartition ni parité. Plusieurs disques sont considérés comme un seul, mais sont en réalité des copies conformes les uns des autres. Il peut améliorer la vitesse de lecture, mais la vitesse d'écriture sera la plus lente parmi tous les disques. Il assure une tolérance aux pannes tant qu'au moins un disque est fonctionnel.
  • RAID 2, qui n'est plus utilisé.
  • RAID 3, qui n'est plus utilisé non plus.
  • RAID 4, qui est un découpage au niveau des blocs avec parité dédiée.
  • RAID 5 est un système de répartition des données au niveau bloc avec parité distribuée. La parité étant répartie entre les disques, ce type de grappe nécessite au moins trois disques, mais tolère la défaillance d'un seul.
  • Le RAID 6 est un système de répartition des données au niveau bloc avec double parité distribuée. La parité étant répartie deux fois entre les disques, une telle grappe nécessite au moins quatre disques, mais tolère la défaillance de deux disques.
L'implémentation RAID peut être entièrement logicielle (comme les solutions que j'ai testées ci-dessous), intégrée à certains pilotes ou directement au contrôleur. Il semble que certains contrôleurs SCSI compatibles Amiga implémentent des niveaux RAID. Aucun système de fichiers Amiga ne propose le RAID par défaut, mais une utilisation astucieuse des périphériques permet d'intégrer facilement les niveaux RAID dans le Workbench.

Sur Amiga

J'ai trouvé deux logiciels sur Amiga permettant d'activer certains niveaux de RAID : SoftRaid et URD (version alpha, pas encore disponible publiquement). Ils ont chacun leurs avantages et leurs inconvénients, mais sont globalement très sympathiques.

SoftRaid fournit le fichier softraid.device, un exemple de liste de montage, une version bêta du système de fichiers SFS, DevInfo pour obtenir des informations sur les périphériques, ainsi que des programmes et scripts pour manipuler les blocs. Il fonctionne au niveau de la partition ; par conséquent, même avec un seul disque physique, vous pouvez l'utiliser avec plusieurs partitions. Il ne possède pas d'interface utilisateur, mais le fichier "readme" contient suffisamment d'informations pour créer des pilotes DOS ou des listes de montage.

Ce qui restait obscur pour moi était la valeur à attribuer à "HighCyl", c'est-à-dire la taille du "disque" à monter. Après de nombreuses recherches et essais, j'ai constaté que cette valeur dépend de la configuration choisie et des informations obtenues des partitions via "DevInfo". Par exemple, pour un RAID (striping), le fichier "ENVARC:RAID0" contiendrait :

RAID128:128,dkbscsi.device,3,4520,4187780,dkbscsi.device,3,4192300,4187780

...la valeur de "HighCyl" devrait donc être de 4 187 780/236 (BlocksPerTrack) - 1 = 17 743 (blocs). À titre d'exemple, pour un MIRROR (mise en miroir), le fichier ENVARC:RAID1 serait :

MIRROR,dkbscsi.device,4,5220,8352000,dkbscsi.device,5,5220,8352000

...et "HighCyl" devrait être de 8 352 000 / 236 - 1 = 35 388.

URD, le périphérique RAID universel, fournit le fichier urd.device et une interface graphique (MUI) pour configurer vos grappes RAID. Il fonctionne au niveau du disque (et non de la partition). Il peut gérer jusqu'à 16 grappes, chacune contenant un nombre quelconque de disques. Il propose également le chiffrement et différents modes d'accès (SCSI direct ou TD64) pour gérer les disques de plus de 4 Go. L'interface est très claire et présente de manière explicite les options URD : RAID 0 (striping), RAID 1 (miroir) et un RAID 0+1 non standard (É) combinant striping et miroir (j'ai dû supprimer les images, sinon l'interface plantait ; elle fonctionne parfaitement sans elles).

J'ai eu l'opportunité de bénéficier de l'aide de son créateur, Rupert Hausberger (alias "naTmeg"), pour configurer et tester différentes grappes. J'ai réussi à créer et à exécuter un miroir entre deux disques. Cependant, j'ai rencontré des difficultés avec le système de fichiers. Je n'ai pas réussi à faire fonctionner URD et PFS3 ensemble. Quelle que soit la taille du disque utilisé, PFS3 signalait une erreur de lecture de certains blocs, avec des messages similaires à "Échec du mode d'accès direct SCSI et TD32 ! Impossible de lire le bloc NNN (<4G) urd.device:0". Je n'ai donc pu tester URD qu'avec FFS et SFS. Concernant SFS, je n'ai réussi à faire fonctionner URD qu'avec la version fournie dans son archive (v0.85) et non avec la dernière version (v1.279), ce qui peut avoir faussé les résultats de vitesse présentés ci-dessous.

Comparaisons

J'ai effectué plusieurs comparaisons afin de trouver la meilleure combinaison de périphérique et de système de fichiers, tout en tenant compte de la tolérance aux pannes. J'ai utilisé DiskSpeed v4.2 dans les mêmes conditions pour garantir des comparaisons équitables. Toutes les données originales et une feuille de calcul détaillée sont disponibles ici.

Ligne de base

La configuration de base consiste en une partition sur la carte CompactFlash connectée au bus IDE interne de l'A4000. Elle offre des performances supérieures à 900 ko/s.

  IDE SCSI
SanDisk
SDCFH2-004G
Compaq
BD00411933
Seagate
ST15320W SUN4.2G
Seagate
ST15320W SUN4.2G
Essais: SCSIHD0_1: SCSIHD1_1: SCSIHD2_1:
PFS3AIO PFS3AIO PFS3AIO PFS3AIO
Vitesse
(octets/sec)
Disponibilité
du processeur
Vitesse
(octets/sec)
Disponibilité
du processeur
Vitesse
(octets/sec)
Disponibilité
du processeur
Vitesse
(octets/sec)
Disponibilité
du processeur
Création
d'un fichier
(moyenne)
773 209,13 8% 640 515,13 1% 621 005,88 3% 619 962,75 3%
Écriture
dans le fichier
(moyenne)
952 422,71 8% 764 779,04 1% 713 526,21 3% 710 130,67 4%
Lecture
du fichier
(moyenne)
1 062 214,13 1% 915 598,33 1% 689 856,67 36% 684 459,88 36%
Moyennes 929 281,99 6% 773 630,83 1% 674 796,25 14% 671 517,76 15%

SoftRaid contre URD utilisant FFS et SFS

Cette comparaison illustre la vitesse de chaque périphérique en utilisant sa configuration RAID, qui est en réalité un RAID 0 (striping). Malheureusement, elle n'est pas concluante car, avec FFS, URD est plus rapide que SoftRaid, mais avec SFS, c'est SoftRaid qui est plus rapide qu'URD.

SoftRaid URD RAID
Seagate ST15320W SUN 4,2G x 2 Seagate ST15320W SUN 4,2G x 2
Storage: Storage:
FFS FFS
Vitesse
(octets/sec)
Disponibilité
du processeur
Vitesse
(octets/sec)
Disponibilité
du processeur
163 314,38 8% 179 973,08 3%
182 019,04 34% 273 860,29 4%
240 314,46 41% 341 905,79 24%
195 215,96 28% 265 246,39 10%

SoftRaid URD RAID
Seagate ST15320W SUN 4,2G x 2 Seagate ST15320W SUN 4,2G x 2
Storage: Storage:
SFS 0.85 SFS 1.279
Vitesse
(octets/sec)
Disponibilité
du processeur
Vitesse
(octets/sec)
Disponibilité
du processeur
290 513,79 8% 184 406,71 4%
352 991,04 11% 268 450,46 4%
519 599,04 17% 352 139,08 22%
387 701,29 12% 268 332,08 10%

RAID SoftRaid vs. MIROIR

Cette comparaison montre la vitesse du striping et du mirroring utilisant SoftRaid et PFS3. Elle montre que le mirroring est moins de deux fois plus lent que le striping (618 545,43 / 346 636,63 = 1,78) et presque deux fois plus lent que le disque d'origine (671 517,76 / 346 636,63 = 1,94).

SoftRaid Miroir SoftRaid
Compaq BD00411933 Seagate ST15320W SUN 4,2G x 2 Seagate ST15320W SUN 4,2G x 2
Storage0: Storage1: Stotage1:
PFS3AIO PFS3AIO PFS3AIO
Vitesse
(octets/sec)
Disponibilité
du processeur
Vitesse
(octets/sec)
Disponibilité
du processeur
Vitesse
(octets/sec)
Disponibilité
du processeur
589 772,17 2% 504 954,88 4% 336 634,88 3%
661 916,92 2% 582 467,17 4% 374 220,79 3%
768 698,33 6% 768 214,25 21% 329 054,21 30%
673 462,47 3% 618 545,43 10% 346 636,63 12%

Conclusion : stripping et mirroring

Finalement, j'ai choisi SoftRaid car il fonctionne au niveau de la partition, contrairement à URD qui fonctionne au niveau du disque. J'utilise le striping sur deux partitions de 2 Go d'un disque de 4 Go (récent) (nommé "Storage0:") et le mirroring sur deux partitions de 4 Go de deux disques de 4 Go (plus anciens) (nommé "Storage1:").

J'ai opté pour le striping avec le disque le plus récent car je me soucie moins de la tolérance aux pannes (il devrait tenir 10 ans !), mais je voulais tester sa vitesse (et celle de SoftRaid).

J'ai opté pour la mise en miroir avec les disques les plus anciens car je ne leur fais pas entièrement confiance et je souhaitais tester la tolérance aux pannes. SoftRaid intègre un programme appelé "dd", similaire à la commande "dd" sous Linux. Il permet de copier des blocs, des secteurs ou des octets d'un disque/partition à un autre, de n'importe quelle position à n'importe quelle autre (attention : une utilisation abusive de "dd" peut entraîner la perte de données sur les partitions !).

Il est très utile de copier les données d'un secteur d'un disque vers le même secteur de l'autre disque lorsque PFSDoctor détecte une erreur de lecture sur l'un des disques ! Par exemple, lors de l'exécution de PFSDoctor, SoftRaid signale parfois une erreur de lecture comme :

RAID SCSI sur Amiga

...ce qui est facile à résoudre en utilisant "dd" et en copiant les 64 secteurs commençant au secteur 7140 de l'unité 5 du périphérique dkbscsi vers l'unité 4.

Génial ! J'ai l'impression d'avoir trouvé une solution fiable pour stocker mes données ! 8-)

Addendum : mise en miroir avec des disques différents

J'ai trois disques SCSI externes : un Compaq BD00411933 (sorti vers 1999) et deux Seagate ST15320W SUN4.2G (sortis vers 1996). Ces disques ont des caractéristiques différentes, en particulier les secteurs de décalage ("offset sectors") et les longueurs en secteurs, qui sont les deux nombres importants pour créer des périphériques RAID.

Les nombres donnés par le DevInfo de SoftRaid sont :
  • Compaq BD00411933 : secteur de décalage : 4520 et Longueur en secteurs : 8 375 560.
  • Seagate ST15320W SUN4.2G (les deux) : Secteur de décalage : 5220 et Longueur en secteurs : 8 380 710.
J'ai essayé de créer une configuration RAID avec ces nombres exacts mais, après de nombreux essais et erreurs, je me suis rendu compte que la configuration doit utiliser le "plus petit commun dénominateur" entre eux pour que PFS3AIO et dd fonctionnent tous les deux, ce qui signifie pour un miroir :
  • ENVARC:RAID0 doit utiliser la valeur maximale des deux secteurs de décalage : MIRROR,dkbscsi.device,3,5220,8375560,dkbscsi.device4,5220,8380710.
  • DOSDrivers/MIRROR0 doit utiliser la valeur minimale des deux longueurs en secteurs : 8 375 560 pour obtenir (8 375 560 - 4520) / 236 - 1 = 35 469 secteurs pour HighCyl.
Avec ces valeurs, PFS3AIO ne se plaint pas que certains secteurs soient en dehors de sa portée avec une erreur "TD32 and Direct SCSI access mode failed! Can't read block NNN (<4G)", et dd peut copier des blocs en toute sécurité d'un miroir à l'autre en cas d'erreur de lecture ou d'autre différence. Ainsi, le miroir fonctionne très bien.

Addendum : Utilisation de dd pour maintenir le miroir

SoftRaid est fourni avec un outil utile, dd, qui permet de copier des blocs, des secteurs, des octets, des kilo-octets et des méga-octets entre deux disques/partitions. Étant donné deux disques dans un miroir, avec le même secteur de décalage, il est facile d'utiliser dd pour copier des blocs de l'un à l'autre et corriger toute erreur de lecture ou autre différence (il est très important que les deux disques commencent au même secteur de décalage !). Le script suivant simplifie la copie :

; Exemple d'utilisation
; FixMirror MIRROR0_0: 7140 64 MIRROR0_1:

.key origin,originsector,origincount,destination

Echo NOLINE "Lecture depuis "
Echo 
DD -ss -cs -r       T:Sectors
Echo NOLINE "Écriture sur "
Echo 
DD -ss -cs -w T:Sectors

Echo "Suppression du fichier temporaire"
Delete T:Sectors

Bien entendu, ce script doit être utilisé avec beaucoup de précaution car il peut potentiellement détruire des données, une partition, voire un disque !


[Retour en haut] / [Retour aux articles]


Soutenez le travail de l'auteur