Isilon : Comment rechercher un dossier déplacé vers un emplacement inconnu
Résumé: L’article explique qu’un répertoire peut sembler manquant après avoir été déplacé ou renommé par inadvertance sur le cluster, en raison d’une erreur de l’utilisateur, et que les numéros d’inode logiques peuvent localiser son nouveau chemin. ...
Instructions
Cela s’applique aux situations où un dossier a disparu et où une assistance est requise pour vérifier et restaurer le dossier.
Dans certains cas, un client peut avoir renommé/déplacé par erreur le dossier vers un autre emplacement sans s’en rendre compte.
La possibilité d’identifier le nouveau chemin d’accès renommé/déplacé du dossier peut faire gagner beaucoup de temps.
Deux outils différents sont disponibles pour identifier le LIN # du fichier déplacé, puis résoudre le LIN en un nom nouveau/déplacé.
- Rapports FSAnalyze
- Base de données IndexUpdate
Vous trouverez ci-dessous les étapes à suivre pour obtenir ces informations :
Informations supplémentaires
FSAnalyze:
=========
1- Par exemple, un dossier appelé /ifs/folder/test_directory ont été déplacés ou renommés quelque part sur le cluster.
Source-8220-1# cd /ifs/folder/test_directory cd: no such file or directory: /ifs/folder/test_directory
2- Obtenir le numéro LIN décimal du dossier parent /ifs/folder.
Source-8220-1# ls -lhdi /ifs/folder 4295622659 drwxr-xr-x 2 root wheel 0B Jul 18 13:13 /ifs/folder
3- Requête FSAnalyze pour la ligne qui a columns name=test_directory and parent=4295622659.
Source-8220-1# cd /ifs/.ifsvar/modules/fsa/pub ; for X in $(ls -tr latest/disk_usage*db) ; do echo $X ; sqlite3 -column -header $X 'select * from disk_usage where name = "test_directory" and parent = "4295622659" ' ; done | grep -B1 -A2 lin
latest/disk_usage_4295622659_72057594037927936.db
lin parent name dir_cnt file_cnt ads_cnt other_cnt log_size_sum phys_size_sum log_size_sum_overflow
---------- ---------- -------------- ---------- ---------- ---------- ---------- ------------ ------------- ---------------------
4295950341 4295622659 test_directory 1 0 0 0 0 2048 0
4- La sortie ci-dessus indique le nombre décimal de LIN du dossier test_directory est 4295950341. Convertissez ce nombre en valeurs hexadécimales, puis exécutez isi get -L pour résoudre le nouveau nom.
Source-8220-1# printf "%x\n" 4295950341 1000f0005 Source-8220-1# isi get -L 1000f0005 A valid path for LIN 1:000f:0005::HEAD is /ifs/data/test_directory_renamed
5- Une fois que le nouvel emplacement du dossier déplacé a été identifié, il peut être replacé à son emplacement d’origine.
Source-8220-1# mv /ifs/data/test_directory_renamed /ifs/folder/test_directory Source-8220-1# cd /ifs/folder/test_directory Source-8220-1# NB:
Les étapes ci-dessus dépendent du cluster utilisant FSAnalyze Pour fournir l’analytique du système de fichiers. FSAnalyze Les rapports contenant uniquement des informations sur les répertoires ne sont pas utiles pour localiser des fichiers individuels.
IndexUpdate :
==========
Videz tous les INodes logiques (LINs) sur le cluster à partir de la base de données IndexUpdate et recherchez le nom du dossier comme suit :
1- Obtenez le numéro LIN hexadécimal du dossier parent /ifs/folder.
Source-8220-1# ls -lhdI /ifs/folder 1000a0003 drwxr-xr-x 3 root wheel 32B Jul 18 13:14 /ifs/folder
2- Videz la base de données IndexUpdate et recherchez l’entrée qui porte le nom test_directory et parent_lin 1000a0003.
Source-8220-1# isi_index_mod -ra cluster_lin_index | grep 1000a0003 | grep test_directory
LIN : 0x1000f0005, flags:0x100002bfee15470 parent_lin:0x1000a0003 btime:1595077672 atime:1595077672 mtime:1595077672 ctime:1595077672 uid:0 gid:0 mode:16877
log_size:0 phys_size:2048 lcount:2 min_snapid:4 max_snapid:4 namelen:14 name:test_directory
3- Exécuter isi get -L par rapport au numéro en surbrillance pour résoudre le nouveau nom.
Source-8220-1# isi get -L 0x1000f0005 A valid path for LIN 1:000f:0005::HEAD is /ifs/data/test_directory_renamed
4- Une fois que le nouvel emplacement du dossier déplacé est identifié, il peut être remis à son emplacement d’origine.
Source-8220-1# mv /ifs/data/test_directory_renamed /ifs/folder/test_directory Source-8220-1# cd /ifs/folder/test_directory Source-8220-1#
- La commande
IndexUpdatea été implémentée démarrée dans OneFS v8.2. - La commande
IndexUpdateLa tâche met à jour et écrase sa base de données à chaque fois qu’elle s’exécute. Sur de nombreux clusters,IndexUpdateS’exécute selon un planning quotidien. Cela signifie que les commandes ci-dessus ne sont utiles que si elles sont exécutées dès que possible, avant la prochaine planifiée.IndexUpdateLa tâche s’exécute. La désactivation temporaire de la tâche IndexUpdate empêche son exécution. - Contrairement aux
FSAnalyzeRapportsIndexUpdateEffectue le suivi de tous les types d’objets du système de fichiers. Par conséquent, les étapes ci-dessus sont également utiles pour localiser des fichiers. - Étant donné que cette méthode nécessite le numéro LIN, la seule façon de l’utiliser est de vider le fichier
IndexUpdatebase de données et grep pour obtenir les informations requises. Le processus de dumping de l'IndexUpdateLa base de données peut prendre beaucoup de temps. - Dans les situations où le fichier ou le dossier a seulement été déplacé mais pas renommé, la base de données peut être recherchée pour le nom du fichier ou du dossier spécifique plutôt que par numéro de LIN. Dans ce cas, il importe peu que le
IndexUpdateLa tâche a déjà été exécutée à nouveau. Dans ce cas, si le nom recherché n’est pas unique, plusieurs résultats de recherche peuvent être renvoyés. Le client doit déterminer le résultat correspondant au fichier ou au répertoire qu’il recherche.