Le Drive Shucking est une technique utilisée par les utilisateurs ayant de gros besoins de stockage. Cela consiste à acheter des disques externes, pour remplir son NAS, ordinateur, serveur en disque interne. Mais cela consiste en quoi ? Est-ce vraiment intéressant ?
Qu’est-ce que le Drive Shucking ?
Le « Drive Shucking », qu’on pourra traduire par « Ouverture de disque », désigne une technique qui consiste à acheter des disques durs externes, par exemple des WD My Book, ou WD Elements, pour en extraire le disque à l’intérieur pour l’utiliser dans un ordinateur, un NAS ou encore un serveur.
En effet, pour la totalité des disques externes 3,5 pouces, le disque présent dans le boîtier est un disque « classique » avec une connexion SATA standard, utilisable sans son boîtier.
Pourquoi faire du Drive Shucking ?
On ne va pas se mentir, il n’y a qu’une seule raison : le prix (notamment sur les grosses capacités). On retrouve souvent en promotions des disques durs externes de 14 To à 18 o (16,5€/To a 17,5€/To), là où pour la même capacité un WD RED Plus en promotion sera à 26€/To minimum.
Prenons l’exemple d’une personne souhaitant faire l’achat de 4 disques de 10 To pour une capacité de stockage de 30 To en RAID5 ou 20 To en RAID6* :
- 4 disques externes de 10 To a 17€/To = 680 €
- 4 disques internes WD Red Plus de 10 To a 26€/To = 1 040 €
On obtient une économie d’environ 35% en faisant le choix des disques durs externes !
N. B. : Attention, on évitera pour du RAID d’avoir des disques identiques, achetés au même endroit sur la même période. L’objectif est d’éviter un problème de fabrication qui impacterait tous nos disques.
Inconvénients du Drive Shucking
Il y a deux inconvénients à cette pratique. Tout d’abord, il vous faut ouvrir le boîtier externe. Cela demande un peu de technique, même si cela reste à la portée de tous. Certains n’auront pas forcément envie de se lancer là-dedans.
Ensuite, il y a la perte de la garantie. Il ne faut pas se leurrer, même si les disques externes sont garantis, l’utilisation normale du disque n’est pas hors de son boîtier, mais à l’intérieur. Le fabricant pourra vous refuser la prise en charge dans le cas où votre disque serait défaillant.
Procédure de test
Pour tout disque acheté, je vous recommande de le tester. Je vous conseille au minimum avec un test de lecture complet pour se rassurer de son l’état. Dans le cas d’un disque externe, mieux vaut le faire avant de l’ouvrir, afin de pouvoir faire jouer la garantie le cas échéant !
Sous Windows
Pour cela, il y a plusieurs écoles. La méthode la plus « simple » sera d’utiliser les outils du fabricant de disques durs :
- Pour Seagate, nous utiliserons SeaTools et nous effectuerons un test « Générique Long » ;
- Pour Western Digital, nous utiliserons Western Digital Dashboard et nous effectuerons un « Test étendu » depuis le menu Outils > S.M.A.R.T
Je vous laisse consulter cet article de FX qui en parle très bien, et donne également une solution pour les utilisateurs macOS.
NAS : Préparer un disque dur (tester sa santé)
Sous Linux
Parlons maintenant d’une méthode un peu plus poussée pour les utilisateurs de Linux, utilisable directement depuis nos NAS (avec le disque branché en USB). Il s’agit d’utiliser l’utilitaire badblocks (présent sur les distributions Linux, mais aussi sur DSM, QTS et ADM ).
La commande badblocks est plutôt simple , elle se résume à cela :
badblocks -nvs -b 4096 -c 98304 /dev/sdj > /log/sdj.log 2>&1 &
Celle-ci sera bien sûr à adapter suivant votre machine, nous allons donc la décortiquer un peu.
-nvs signifie que nous souhaitons faire un test en lecture simple (option -n), que badblocks soit bavard en information (option -v) et qu’il nous affiche une barre de progression (option -s). Il est également possible de faire un test destructif (écriture/lecture), en remplaçant l’option -n par -w.
-b 4096 signifie que nous souhaitons que badblocks utilise une taille de bloc de 4096 octets.
-c 98304 est le nombre de blocs à tester en une fois. Plus le nombre de blocs testés en 1 fois est important, plus la consommation de RAM pour le test sera importante. Pour comprendre comment se calcule ce chiffre, rendez-vous ici.
/dev/sdj est l’adresse du périphérique que nous souhaitons tester.
> /log/sdj.log 2>&1 & indique que nous souhaitons que badblocks enregistre ses journaux dans un fichier situé dans /log/sdj.log, on prendra bien évidemment soin de personnaliser cette adresse de sortie au besoin.
Une fois notre commande exécutée et le test en cours, il est possible de quitter la connexion SSH. Cela n’interrompt pas la procédure et pour savoir à quelle progression est notre test, il nous suffit de consulter notre fichier de log, avec la commande suivante par exemple : tail -f sdj.log
qui va nous permettre de suivre l’avancement de badblocks
S.M.A.R.T. : Self-Monitoring, Analysis, and Reporting Technology
Bien sûr, une fois notre test finit, et même si celui-ci est sans erreur, on vérifie les données SMART du disque.
Attention ce paragraphe sur la lecture d’un rapport S.M.A.R.T. ne s’applique que pour les disques de la marque Western Digital et ne peut être utilisé comme référence pour la lecture d’un rapport S.M.A.R.T. d’un disque d’une autre marque.**
Le S.M.A.R.T. est un système de surveillance du disque dur. Celui-ci est intégré au disque dur. Il surveille en permanence son fonctionnement et ses performances, et fait un rapport de cette activité. Voici le rapport S.M.A.R.T. de mon disque :
Les lignes qui nous intéressent pour évaluer la santé de notre disque sont les ID 1, 5, 7, 196, 197, 198 et 199. Elles doivent dans la colonne RAW_DATA rester sur 0 ! Une autre valeur indique qu’il y a eu un événement lors de l’utilisation du disque.
Ici, ID 12 nous indique le nombre d’heures de fonctionnement du disque, on peut voir que après son test le disque a 25 heures de fonctionnement, et qu’aucun des ID « critique » n’a bougé, ce qui est parfait 🙂
** Note : Par exemple, les disques Seagate possèdent de base une valeur non nulle sur la ligne ID1, cela n’est pas signe d’erreur. L’important est de vérifier avant / après test que cette valeur n’est pas évoluée.
Ouverture sur un WD My Book
Les procédures d’ouverture des disques externes sont simples à trouver sur Internet. Une simple recherche avec « shucking » suivi du modèle du boîtier externe vous donnera un lien vers un tutoriel explicatif.
Prenons l’exemple de ce beau WD My Book 16 To ci-dessus, pour l’ouvrir, j’utilise toujours des cartes fidélités de magasin, préférez les cartes en plastique, plus rigide ! Sur le haut du boîtier, nous allons insérer 3 cartes de chaque côté comme le montre la photo ci-dessous :
Ensuite, nous allons poser le boîtier sur la tranche, dessous en face de soi, pour y insérer 1 carte de chaque côté, vers le milieu du boîtier, comme le montre la photo :
Une fois cela fait, nous allons exercer une pression comme le montre la flèche bleue, afin de faire sortir du boîtier, le cadre maintenant le disque. Et surprise…
Maintenant, nous allons dévisser les 4 vis (2 de chaque côté) qui tiennent les supports du disque et la vis qui tient le PCB :
Nous voilà maintenant, avec le disque nu dans les mains, il s’agit ici d’un WD160EDGZ :
Quel disque avons-nous ?
Comme on peut le voir en gros sur l’étiquette, un WD160EDGZ-11B2DA0, mais cela n’est pas trop parlant. Pour en savoir plus, il nous faut regarder le « regulation number » ou R/N. Ici le R/N m’indique US7SAR160 après une rapide recherche sur Internet, je tombe sur une documentation officielle de Western Digital pour la gamme Ultrastar® DC HC550.
La documentation nous apprend pas mal de choses, comme le fait qu’à la base c’est un disque 7200tr/min et que c’est un disque sous Helium (même si on l’aura deviné à la vue de son aspect « soudé » sans vis contrairement à un disque sous Air). Aussi, ce disque existe en 2 capacités 16 et 18 To. Il est fort à parier que les WD My Book 18 To embarquent donc le même modèle. Le document nous indique également que le disque n’est pas concerné par la fonctionnalité « Power Disable ».
Power Disable
Petite parenthèse sur « Power Disable », une fonctionnalité qui peut être présente sur les périphériques SATA et SAS. Cela permet au système hôte d’effectuer une réinitialisation matérielle sur le disque dur (HDD), par l’envoi d’une commande en 3,3V sur la prise d’alimentation du disque dur.
Dans le cas où votre disque est concerné par cette fonctionnalité, alors si votre alimentation est récente, elle fournit probablement du 3,3V sur les prises d’alimentation SATA. Cela a pour conséquence d’interdire au disque de démarrer (il reste en mode « réinitialisation », il n’y a pas de danger d’abîmer le disque, mais par contre celui-ci ne fonctionne pas). Plusieurs techniques existent pour régler ce problème, mais le plus simple à mon goût et c’est ce que recommande Western Digital, c’est d’utiliser un adaptateurs Molex > SATA de ce type :
L’utilisation de ce simple adaptateur pour alimenter son disque permet d’éliminer le 3,3V, car le Molex lui ne transporte que le +12V et le +5V nécessaire au fonctionnement du disque dur.
Retrouvez plus d’informations sur cette fonctionnalité dans le PDF explicatif de Western Digital.
Performances
Pour regarder les performances de mon disque, je vais utiliser deux utilitaires Linux, dd ( pour le test d’écriture ) et hdparm ( pour le test de lecture ).
La commande suivante nous permet d’avoir une idée des performances en écriture de notre disque :
dd bs=1M count=256 if=/dev/zero of=/srv/dev-disk-by-uuid-f39f8932-c005-46d5-bf3c-f8f84a7a9d3c/testx conv=fdatasync
/srv/dev-disk-by-uuid-f39f8932-c005-46d5-bf3c-f8f84a7a9d3 est à personnaliser selon votre installation. Pour mieux comprendre l’utilisation, je vous conseille de consulter mon tutoriel disponible ici.
Le résultat est le suivant :
On peut donc lire 122 Mo/s et 141 Mo/s suivants la taille du fichier à écrire.
La commande suivante nous permet d’avoir une idée des performances en lecture de notre disque :
hdparm -t /dev/sde
/dev/sde est à personnaliser suivant votre installation.
Ici on peut lire une vitesse de lecture de 200 Mo/s.
Alors, je vous vois venir… Dans les tests de Cachem, vous avez l’habitude de voir plutôt des WD Red 5400tr avec des performances plus élevées (par exemple 230 Mo/s en écriture/lecture pour le WD Red 14 To ). Selon la documentation technique du US7SAR160, il est indiqué une vitesse de transfert de 250 Mo/s ! Alors j’ai ma théorie là-dessus, que malheureusement je n’ai pas pu vérifier, il faudrait pour cela posséder de véritables disques Ultrastar pour faire des tests et comparaisons…
Pour moi, l’explication est que notre disque ne possède probablement pas le même firmware qu’un véritable Ultrastar® DC HC550. Le disque est donc physiquement identique, mais pas « logiciellement ». Pourquoi donc ? J’ai également une théorie, je pense que les disques WD My Book et WD Elements sont volontairement « bridés » afin principalement de faire moins de bruit et aussi de produire moins de chaleur. Les disques externes sont en effet souvent posés près de l’utilisateur. S’il fait le bruit d’un avion de chasse, ce n’est pas très agréable 🙂 De plus, les disques sont soumis à forte chaleur dans leur boîtier et n’ont pas de ventilateur pour extraire l’air chaud produit par le disque. Baisser les performances du disque permet également de réduire la chaleur émise par le disque pendant son travail.
Mon avis sur le Drive Shucking
La technique du « Drive Shucking » n’est pas très connue, et pourtant tous ceux qui l’ont pratiquée ne reviendraient pas en arrière. Cette technique m’a permis d’augmenter ma capacité de stockage de plus de 30 % sans avoir à augmenter mon budget initial. Je pratique cette technique depuis 4 ans sans souci, mon plus vieux disque venant d’un boîtier externe ayant + de 35 000 heures de fonctionnements. Bien que les performances soient un peu en dessous de la moyenne d’un disque spécial « NAS », cela reste très acceptable, et invisible dans une utilisation quotidienne classique.