Créer un RAID en APFS sur macOS avec AppleRAID

Introduction

macOS intègre nativement un système de RAID logiciel appelé AppleRAID. Celui-ci permet de créer des volumes RAID 0 (stripe) et RAID 1 (mirror) en APFS directement depuis le Terminal. Cet article documente la procédure complète, les commandes essentielles, ainsi que les limitations découvertes lors de tests pratiques.


Prérequis

⚠️ Attention : La création d'un RAID efface toutes les données sur les disques concernés.


Identifier les disques

Avant toute opération, il faut identifier les disques à utiliser. Pour lister uniquement les disques externes :

diskutil list external

Cette commande affiche tous les disques externes avec leur identifiant (disk2, disk3, etc.), leur taille et leur contenu actuel. Notez bien les identifiants des disques que vous souhaitez utiliser.


Créer un RAID 1 (Mirror)

Principe

Le RAID 1 duplique les données sur deux disques. Si un disque tombe en panne, l'autre contient une copie complète des données. La capacité totale égale celle d'un seul disque.

Création

diskutil appleRAID create mirror "NomDuRAID" APFS disk2 disk3

Remplacez "NomDuRAID" par le nom souhaité et disk2 disk3 par vos identifiants de disques.

Exemple de sortie

Started RAID operation
Unmounting proposed new member disk4
Unmounting proposed new member disk5
Repartitioning disk4 so it can be in a RAID set
Creating the partition map
Using disk4s2 as a data slice
Repartitioning disk5 so it can be in a RAID set
Creating the partition map
Using disk5s2 as a data slice
Creating a RAID set
Bringing the RAID partitions online
Waiting for the new RAID to spin up "91ABDDAC-3811-4854-A651-9FC3301B26D4"
Mounting disk
Finished RAID operation

Activer la reconstruction automatique

Par défaut, la reconstruction est manuelle. Pour l'activer automatiquement en cas de déconnexion/reconnexion d'un disque :

diskutil appleRAID update AutoRebuild 1 "NomDuRAID"

Créer un RAID 0 (Stripe)

Principe

Le RAID 0 répartit les données sur plusieurs disques pour augmenter les performances. La capacité totale est la somme des disques. Attention : aucune redondance — si un disque tombe en panne, toutes les données sont perdues.

Création

diskutil appleRAID create stripe "NomDuRAID" APFS disk2 disk3

La syntaxe est identique au mirror, seul le mot-clé stripe change.


Vérifier l'état du RAID

Pour afficher tous les RAIDs configurés et leur état :

diskutil appleRAID list

Exemple de sortie

AppleRAID sets (1 found)
===============================================================================
Name: MirrorA
Unique ID: 91ABDDAC-3811-4854-A651-9FC3301B26D4
Type: Mirror
Status: Online
Size: 31.1 GB (31113281536 Bytes)
Rebuild: automatic
Device Node: disk12
-------------------------------------------------------------------------------
# DevNode UUID Status Size
-------------------------------------------------------------------------------
0 disk4s2 B38631DC-94DA-4EE3-BC7D-4F859957BEA9 Online 31113281536
1 disk5s2 DD73C938-FD53-4C2D-B932-3F2AC2CE63A7 Online 31113281536
===============================================================================

Statuts possibles


Reconstruire un RAID dégradé

Étape 1 : Identifier le disque défaillant

diskutil appleRAID list

Notez l'UUID du disque marqué Failed et l'identifiant du RAID.

Étape 2 : Retirer le disque défaillant

diskutil appleRAID remove UUID-DU-DISQUE-FAILED NomDuRAID

Étape 3 : Ajouter le nouveau disque

Après avoir physiquement remplacé le disque défaillant :

diskutil appleRAID repairMirror NomDuRAID /dev/diskX

Étape 4 : Surveiller la reconstruction

diskutil appleRAID list

Le statut affichera le pourcentage de progression (ex: 45% (Rebuilding)).


Supprimer un RAID

Pour supprimer un RAID et récupérer les disques individuellement :

diskutil appleRAID delete NomDuRAID

Si cette commande échoue, utilisez l'UUID du RAID :

diskutil appleRAID delete UUID-DU-RAID

Limitations importantes

Pas de RAID 10 ni RAID 01 en APFS

Lors de nos tests, nous avons tenté de créer un RAID 10 (mirrors stripés) et un RAID 01 (stripes miroités) en APFS. Les deux configurations ont échoué avec l'erreur :

Can't update the booter on the member disk
Error: -5324: MediaKit reports bad partition or no map found

Conclusion : AppleRAID avec APFS ne supporte pas les RAIDs imbriqués. Seuls les RAID 0 et RAID 1 simples sont possibles. Pour du RAID 10, il faut utiliser HFS+ ou un logiciel tiers comme SoftRAID.

Pas de RAID 5 ou RAID 6

AppleRAID ne supporte que :

Pour du RAID 5 ou 6, il faut SoftRAID (~150$/an) ou un NAS externe avec ZFS/btrfs.

Pas de notification en cas de panne

macOS n'alerte pas l'utilisateur si un RAID passe en mode dégradé. Il faut vérifier manuellement avec diskutil appleRAID list ou mettre en place un script de surveillance.

APFS et disques durs (HDD)

APFS est optimisé pour les SSD. Sur disques rotatifs, les performances peuvent se dégrader significativement avec le temps à cause du mécanisme Copy-on-Write. Pour des HDD, HFS+ reste recommandé.


Commandes de référence rapide


Conclusion

AppleRAID permet de créer facilement des RAID 0 et RAID 1 en APFS via le Terminal. C'est une solution gratuite et intégrée, mais limitée : pas de RAID 5/6, pas de RAID imbriqués (10/01) en APFS, et aucune notification de panne. Pour des besoins plus avancés, envisagez SoftRAID ou un NAS dédié avec ZFS.

N'oubliez pas : RAID n'est pas une sauvegarde. Gardez toujours une copie de vos données sur un support séparé.



↑ Haut de page