This site uses cookies! Learn More

Ce site utilise des cookies !

En continuant à utiliser ce site, vous vous engagez à nous permettre de stocker des cookies sur votre ordinateur.

firlin

[TUTO] Préparation des disques avec Badblocks

Messages recommandés

Bonjour,

Un petit tuto pour préparer ces disques durs avec la fonction badblocks, en vue de les monter dans le nas.

Pour ma part il existe deux façon de faire : soit en ligne de commande ou au travers une tache.

      Prérequis :

Un nas (minimum 2 baies) avec un DSM installé dessus (sur un seul disque). Et crée un volume avec ce disque.

En effet si vous faite Install du nas avec deux disques ou plus, configuration de base  ou autre(SHR, raid1  etc.. ) Le DSM s’installe sur tous les disques dans ce cas il n’est pas possible de faire le test sur les disques monté dans le nas.

Par contre si vous êtes à l’aise avec les lignes de commandes sous putty, vous pouvez installer le DSM sans vous préoccuper de son installation sur tous les disques. Car il est possible de déclarer le disque on l’on va faire le test comme « Fail » et de le réintégrer à la fin du test. Sujet traité dans la 2eme méthode comme variante. (vue que c’est bien décrit cela doit être à la porter de tous ) Pas la peine de faire le volume dans ce cas

Wincp et ou Putty.

Télécharger Wincp à l adresse suivante https://winscp.net/eng/download.php

Télécharger putty à l adresse suivante http://www.putty.org/

Ps: toto est un nom générique de répertoire

 Début

Monter le disque à tester dans le nas.

Activer le service SSH, pour cela aller dans le Panneau de configuration, onglet Terminal & SNMP pour activé le service SHH.
Faire Appliquer

Désactiver le service SSH une fois le badblocks fini (Si vous souhaitez le laisser ouvert, je vous conseille de lire le tuto Sécuriser les acces à son nas) .

170910051421450492.jpg

1er méthode par une Taches :

Pour cela il faut aller Panneau de configuration\ planificateur de tache (sans date de lancement pour lancer le badblocks, on la lance manuellement) .

Cliquer sur Créer pour la créer et sélectionner Script défini par l'utilisateur

170910051543181147.jpg

 Dans la 1er fenêtre enlever la sélection sur Activé, ensuite aller sur Paramètre de tache

 

170910051629226197.jpg

 

Dans celle-ci à la partie Script défini par l'utilisateur mettre cette ligne de commande : (commande non destructive)

badblocks -nvs /dev/sdX > /volume1/toto/sdX.log 2>&1 &

Le X correspond à la lettre du disque que l on veut tester.

Dans le NAS les disques sont nomme comme suivant sd + une lettre de l’alphabet :
                Disque 1 : sda
                Disque 2 : sdb
                Disque 3 : sdc
                Disque 4 : sdd

170910051728975703.jpg

Ici je fait le test sur le disques N°2

Faire Ok ensuite

Puis sélectionner le script et cliquer sur Exécuter.

170910051815879962.jpg

Pour savoir si, ou en est le badblock:

Il faut lancer wincp et renseigner les cases : Non d'hôte, Nom d'utilisateur et Mot de passe.

170910051914450109.jpg

Puis cliquer sur connexion

Si tout ce passe bien on doit avoir cette fenêtre

170910051950626931.jpg

Ensuite double cliquer sur le répertoire Volume1

170910052052309600.jpg

Idem pour le répertoire toto

170910052120238482.jpg

Faire un double clique sur le fichier sdX.log pour voir l’avancement.

Quand c’est fini la dernière ligne doit indiquer 100% et bad blocks found. (0/0/0 errors )

2eme méthode en ligne de commande

Se connecter sur le nas avec Putty, définir l’adresse Ip du nas

170910052232626454.jpg

On arrive à une fenêtre de ce type :
A login as.
Au password

170910052313161499.jpg

Ensuite il faut passer en mode Root pour cela il faut taper dans celle-ci :  sudo –i

Et mettre la password du compte admin

170910052406688879.jpg

   Variante pour déclare le disque « fail »

Pour déclare le disque « Fail » taper cette commande dans la fenêtre de putty :

mdadm /dev/md0 --fail /dev/sdX1

Puis

mdadm /dev/md0 --remove /dev/sdX1

ensuite

mdadm --zero-superblock /dev/sdX

Le 0 correspondent à la partition sur les disques, pour le X voir plus haut.

Faire de même pour la partition 1 (en effet il existe 3 partition sur un disque monter dans le nas : 0 pour le DSM, la 1 pour le swap et la 2 pour les volumes c’est celle-là qui est monté en raid).

Ensuite on peut passer au lancement de la commande badblocks.

A la fin du test il faut répare le DSM, pour cela gestionnaire de stockage \volumes \ réparer.

   Fin de la variante.

Dans cette nouvelle fenêtre taper la commande suivante pour lancer le badblocks

badblocks -nvs /dev/sdX > /volume1/toto/sdX.log 2>&1 &

Pour les explications voir plus haut.

Si vous avez le message d'erreur suivent suite à la commande badblock "/dev/sdb is apparently in use by the system; it's not safe to run badblocks!"

Essayer cette commande

badblocks -nvsf /dev/sdX > /volume1/toto/sdX.log 2>&1 &

Afin de vérifier l’avancement on peut lancer la commande suivante dans le terminal

tail -f /volume1/toto/sdX.log

Modifié par firlin
Maj suites aux rmarque de Devil344

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour ces informations. Je fais les essais directement depuis une machine dédiée … Si quelques secteurs défectueux (erreur ID), c'est retour fournisseur.

Une idée de comment fonctionne les logiciels constructeurs ? Type Seatools / Datalife Guard & all ? J'utilise généralement UBCD.

Pas eu de pb en prod jusque la … i.e les disques ayant un pb ont été détectés immédiatement !

Le pb de cette procédure est que ça mobilise le NAS … je cherche quelque chose qui permette de faire ça en parallèle. UBCD permet de le faire mais faut plusieurs machine :D

Partager ce message


Lien à poster
Partager sur d’autres sites

Quand tu as un multi baie non cela ne le monopolise pas vraiment, surtout à partir du moment où tu as déjà le système qui tourne dessus.

Les logiciels constructeurs ont une tolérance très laxiste... la ou badblock ne fera pas de pitier... pour faire simple.

Concernant la durée, cela dépend du modèle... pour un 4To sur un modèle J c’est environ 40h, contre une journée pour un modèle + (je l’ai fait avec plusieurs modèle de J et +)

Partager ce message


Lien à poster
Partager sur d’autres sites
Il y a 10 heures, apossium a dit :

Le pb de cette procédure est que ça mobilise le NAS

Tu peux très bien recycler un vieux nas en DSM5.x pour faire ça typiquement un DS410J fait très bien l’affaire.

Il y a 10 heures, Einsteinium a dit :

pour un 4To sur un modèle J c’est environ 40h, contre une journée pour un modèle + (je l’ai fait avec plusieurs modèle de J et +)

Justement j’en ai fait un récemment sur un 4To dans un DS212 cela a pris pas loin de 7 jours. Donc en 40H je ne vois pas comment tu fais. J’en ai un autre sur un DS210J

Je sais qu’il y a une commande pour le faire avancer plus vite.

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci @firlin et @Einsteinium.

Le problème est que si ca mobilise 7 jours pour 4 To … je n'imagine même pas pour 8 To x 3 voire 5 disques …

Pour 8 To faut à peu près 24H avec le logiciel constructeur (me souviens plus).

Je l'intégrerai dans mon offre dans une autre forme dans ce cas (une option selon intérêt client).

Cela me paraît difficile d'immobiliser des machines et des disques autant de temps sans facturer qqchose de cohérent …

- cela implique une préparation préalable, et donc un cout par disque plus important.

- sans parler des ventes qui ne sont pas garanties à l'avance donc je peux pas faire de prévisionnel … et vérifier les disques à l'avance.

Merci encore pour ces précisions !

J'attends le retour de @InfoYANN pour savoir ce que l'on peut accélérer c'est intéressant !

Si on a un NAS avec une voire deux baies disponibles, et bcp de RAM on peut aller encore plus vite !

C'est possible de faire les essais en parallèle sur la même machine ?

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Perso, je passe par le paquet communautaire "Disk Utils" et ensuite avec une connexion SSH , je tape cette commande :

screen /bin/sh -c '/usr/local/diskutils/sbin/badblocks -wv -b 4096 -c 250000 /dev/sdb > /tmp/badblocks_sdb.log 2>&1'

La valeur 300 000 étant en gros l'attribution de la RAM ce qui correspond à 3 Go de RAM (environ).

 

Pour 1 Go, la valeur est d'environ 98304 . Ce tuto a été trouvé sur HFR+ à l'époque et j'ai modifié la valeur car j'avais 8 Go de RAM au total dans mon NAS.

 

Partager ce message


Lien à poster
Partager sur d’autres sites

Bon bah voila @InfoYANN pourquoi tu as eu autant de temps... tu as fait un test destructif... tu modifies même la taille de block... bref à ne pas faire sauf si l’on veut y mettre une semaine...

Et avant qu’on me le demande, la 40ene d’heures c’était sur des modèles 115J et 215J.

Partager ce message


Lien à poster
Partager sur d’autres sites

Test destructif ? Pourquoi ça ? Ça a plutôt été rapide dans mon cas pour 4 passes complètes par disque. Je n'ai plus les stars exactes mais si mes souvenirs sont bons c'était plié en trois ou quatre jours.


Envoyé de mon iPhone en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Question dans mon tuto à la fin de la commande badblocks j 'ai mis un & (badblocks -nvs /dev/sdX > /volume1/toto/sdX.log 2>&1 & ) alors de infoYann non .

ce "&" peut il avoir un incidence sur la vitesse d'execution du badblocks ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Le & est pour lancer la commande en arrière plan. Cela permet également de faire autre chose avec le shell … attention le programme est fermé après fermeture du shell (selon moyen connexion) !

Je ne vois pas de différence avec ou sans sinon.

nota : préférer un script avec nohup : nohup sh script_perso.sh & (afin que le processus fonctionne même après fermeture shell).

--

Par ailleurs je ne vois pas non plus (mise à part côté capacité RAM) de différence entre les séries DS J / + / Play pour ce genre de vérification.

Pour ce type de programme c'est pas le proc qui limite c'est les I/O et la RAM … donc je ne comprends pas d'ou viendrait les différences à capacité mémoire identique !

Avec un peu de recul, l'opération est quasi celle d'une copie de fichier … donc les temps devraient être du meme ordre de grandeur qu'une copie …

Donc cela dépend de l'opération bien évidemment, mais aussi du reste de la chaine (bande passante, disque etc …).

7 jours me paraissent très longs (je ne les discute pas) pour une "copie" de 8 To.

nota : j'essaye de trouver une cohérence ;)

 

Modifié par apossium

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut à tous,

J'ai reçu les disques dur ce matin :)

J'ai donc installé les 3 disques dans la bête (ds918+), utilisé l'assistant démarrage jusqu'à arriver sur le bureau DSM. J'ai pour bien commencer voulu suivre ce tuto. Je n'ai donc créer aucun volume.

J'ai décidé de suivre la méthode avec tous les disques installé dans le NAS donc DSM sur les 3 disques si j'ai bien suivi et donc obligé de déclarer le disque que je veux tester comme fail.

Jusque là tout va bien je me suis bien connecté via putty sur le NAS en root.

Une fois après avoir lancé la commande " mdadm /dev/md0 --fail /dev/sdb1 " pour déclarer mon disque 2 comme fail j'ai bien dans le gestionnaire de stockage le DSM qui m'indique échec de partition système, normal.

C'est ensuite que j'ai un message qui me dit "mdadm:option --zero-superblock not valid in manage mode" quand j'essaye la commande " mdadm /dev/md0 --remove /dev/sdb1 mdadm --zero-superblock /dev/sdb1"

J'ai donc essayé de créer un volume sur chaque disque pour pouvoir les tester indépendamment mais idem. j'ai donc supprimé les volumes et retenter de reprendre de zéro mais pas mieux

J'ai du loupé un truc ? :rolleyes:

 

pour info je suis en DSM 6.1.3-15152 Update 8  

Partager ce message


Lien à poster
Partager sur d’autres sites

Bonjour Devil344,

Essai de lancer

Citation

mdadm /dev/md0 --remove /dev/sdb1

puis

Citation

mdadm --zero-superblock /dev/sdb1

C'est normal de ne pas pouvoir faire un test badblock sur un disques avec un volumes

Partager ce message


Lien à poster
Partager sur d’autres sites

Salut @firlin,

J'ai donc repris de zéro, suppression de tout volume existant sur les 3 disques. Je déclare le disque 2 "fail" la led du disque 2 devient bien orange sur le boitier et dans le gestionnaire de stockage disque 2 en rouge.

j'ai fait comme tu m'as dit lancer les commande l'une après l'autre, les commandes ont l'air de bien passer. (je l'avais essayé hier)

Je me confronte à un autre soucis lorsque je tape la commande "badblocks -nvs /dev/sdb > /volume1/toto/sdb.log 2>&1 &"      j'ai l'erreur /volume1/toto/sdb.log: No such file or directory surement car je n'ai pas créer manuellement le dossier toto via winscp ?

j'ai donc relancé la commande avec "badblocks -nvs /dev/sdb > /volume1/sdb.log 2>&1 &" j'ai bien le fichier sdb.log qui se créer à la racine du dossier /volume1

Quand j'ouvre le fichier log voici le message inscrit "/dev/sdb is apparently in use by the system; it's not safe to run badblocks!"

merci à toi :)

Modifié par devil344
grillé

Partager ce message


Lien à poster
Partager sur d’autres sites

il t faut donc crée un répertoire sous le volume 1

Citation

mkdir toto

Et vérifier que tu as les droit en écriture dessus en root.

vérifie aussi que badblock n'est pas déjà lancer. (soit top ou ps -ef )

 

Partager ce message


Lien à poster
Partager sur d’autres sites

j'ai pu créer sans soucis le dossier toto et les droits sont bon "drwxr-xr-x 2 root root 4096 Oct 29 12:21 toto"

du coup quand je lance la commande de ton tuto je n'ai plus le message d'erreur comme quoi le dossier n'existe plus et le fichier log est bien dans le dossier toto.

Mais j'ai le même message d'erreur "/dev/sdb is apparently in use by the system; it's not safe to run badblocks!"

En cherchant sur le forum je suis tombé sur un post où quelqu'un avait le même message, on lui a préconisé de rajouter un argument f à la commande.

J'ai donc lancé la commande " badblocks -nvsf /dev/sdb > /volume1/sdb.log 2>&1 &" et la ça fonctionne le test est en cours.

l'argument f force visiblement à démonter le disque dur.

Soit j'ai oublié ou mal fait une manip mdadm avant de lancer la commande badblocks pour avoir ce message d'erreur ?

 

Merci à toi pour tes réponses, en espérant que cela pour aura aidé pour les suivant :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Je viens d'effectuer la verification des badblocks sur mes deux HGST 8To NAS (en même temps).
Le processus a pris 23 heures et 45 minutes pour le premier disque et 27 heures et 13 minutes pour le deuxième.
Il n'a trouvé aucune d'erreur.

Merci beaucoup du tutoriel @firlin !             

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant