Je vais tester 'xfs_repair' sur certains gros systèmes de fichiers (environ 50 To) car par le passé, l'utilisation de la mémoire est élevée. Bien que je puisse tester le programme uniquement sur des systèmes de fichiers corrects, il serait bon de les tester sur un système corrompu.
Alors, quelle serait la meilleure façon de corrompre un système de fichiers. Crédit supplémentaire si la méthode donne à chaque fois la même corruption à chaque fois ....
Pour donner aux gens une idée de ce que je veux dire en 2006 ish
"Pour vérifier ou exécuter avec succès la réparation sur un système de fichiers de plusieurs téraoctets, vous devez:
- une machine 64 bits
- un 64 bits xfs _ réparation / xfs _ contrôle binaire
- ~ 2 Go de RAM par téraoctet de système de fichiers
- 100 à 200 Mo de RAM par million d'inodes dans le système de fichiers.
xfs_repair utilisera généralement moins de mémoire que cela, mais ces chiffres vous donnent une idée approximative de ce qu'un gros système de fichiers> 80% plein peut nécessiter pour réparer.
FWIW, la dernière fois que cela s'est produit en interne, le système de fichiers de 29 To en question a pris environ 75 Go de RAM + swap pour réparer. "
Réponses:
xfs_db a une option blocktrash qui
Par exemple
xfs_db -x -c blockget -c "blocktrash -s 512109 -n 1000" /dev/xfstest/testfs
la source
dd se bloque sur le périphérique où réside le système de fichiers. Vous pouvez l'écrire afin qu'il soit reproductible. Juste quelques blocs aléatoires à des emplacements aléatoires, puis continuez.
la source
Vous pouvez essayer d'écraser les 512 premiers octets (MBR et table de partition) du périphérique de bloc.
Sauvegardez-le d'abord:
Et zéro plus tard:
Votre machine ne devrait pas démarrer après cela, vous pouvez tester la réparation XFS en utilisant un CD live.
la source