Pour commencer : t'as du bol

Francois Massonneau a �crit :
> 
> Bonjour/bonsoir,
> 
> D�sol� le message sera un peu long ;-(
> 
> J'ai une question, mais qui s'adresse surement aux pros de cette
> liste, car �a m'a pas l'air simple comme pb.
> 
> Hier en "jouant" si j'ose dire avec le logiciel partimage, j'ai eu un
> souci li� au "devfs" (voir mes pr�c�dentes questions de ce matin).
> Toujours est il que lors du boot, j'ai eu droit � quelque chose de ce
> genre :

On ne joue pas avec une arme charg�e. On met d'abord un gilet
pare-balles (ici : un backup!)

> ========extrait du log====================
> Dec  1 19:57:50 francois fsck: Error reading block 1222650 (Attempt
> to read block from filesystem resulted in short read) while reading
> indirect blocks of inode 605348.
> Dec  1 19:57:50 francois fsck: /dev/sdb1: UNEXPECTED INCONSISTENCY;
> RUN fsck MANUALLY.
> Dec  1 19:57:50 francois fsck: ^I(i.e., without -a or -p options)
> Dec  1 19:58:03 francois fsck: /dev/sda11: 166951/512000 files (2.4%
> non-contiguous), 614504/1022127 blocks
> Dec  1 19:58:18 francois fsck: /dev/sda12: 14855/232320 files (0.2%
> non-contiguous), 346703/463869 blocks
> Dec  1 19:58:21 francois fsck: /dev/sda10: 7479/127744 files (1.0%
> non-contiguous), 51241/255024 blocks
> Dec  1 19:58:30 francois fsck: Pass 1: Checking inodes, blocks, and
> sizes
> Dec  1 19:58:30 francois fsck: Pass 1: Checking inodes, blocks, and
> sizes
> Dec  1 19:58:30 francois fsck: e2fsck 1.19, 13-Jul-2000 for EXT2 FS
> 0.5b, 95/08/09
> Dec  1 19:58:30 francois fsck: e2fsck 1.19, 13-Jul-2000 for EXT2 FS
> 0.5b, 95/08/09
> Dec  1 19:58:30 francois fsck: Pass 2: Checking directory structure
> Dec  1 19:58:30 francois fsck: Pass 3: Checking directory
> connectivity
> Dec  1 19:58:30 francois fsck: Pass 4: Checking reference counts
> Dec  1 19:58:30 francois fsck: Pass 5: Checking group summary
> information
> Dec  1 19:58:30 francois fsck: /dev/sda5: 51/4000 files (5.9%
> non-contiguous), 5415/16002 blocks
> Dec  1 19:58:30 francois fsck: e2fsck 1.19, 13-Jul-2000 for EXT2 FS
> 0.5b, 95/08/09
> Dec  1 19:58:30 francois fsck: Pass 1: Checking inodes, blocks, and
> sizes
> Dec  1 19:58:32 francois fsck: Pass 2: Checking directory structure
> Dec  1 19:58:33 francois fsck: Pass 3: Checking directory
> connectivity
> Dec  1 19:58:33 francois fsck: Pass 4: Checking reference counts
> Dec  1 19:58:33 francois fsck: Pass 5: Checking group summary
> information
> Dec  1 19:58:33 francois fsck: /dev/sda9: 7059/101472 files (2.5%
> non-contiguous), 62725/202812 blocks
> Dec  1 19:58:33 francois fsck: e2fsck 1.19, 13-Jul-2000 for EXT2 FS
> 0.5b, 95/08/09
> Dec  1 19:58:33 francois fsck: Pass 1: Checking
> Dec  1 19:58:33 francois fsck: inodes, blocks, and sizes
> Dec  1 19:58:34 francois fsck: Pass 2: Checking directory structure
> Dec  1 19:58:34 francois fsck: Pass 3: Checking directory
> connectivity
> Dec  1 19:58:34 francois fsck: Pass 4: Checking reference counts
> Dec  1 19:58:34 francois fsck: Pass 5: Checking group summary
> information
> Dec  1 19:58:34 francois fsck: /dev/sda7: 46/100744 files (4.3%
> non-contiguous), 13346/401409 blocks
> Dec  1 19:58:34 francois fsck: e2fsck 1.19, 13-Jul-2000 for EXT2 FS
> 0.5b, 95/08/09
> Dec  1 19:58:34 francois fsck: Pass 1: Checking inodes, blocks, and
> sizes
> Dec  1 19:59:06 francois fsck: Pass 2: Checking directory structure
> Dec  1 19:59:17 francois fsck: Error reading block 1222650 (Attempt
> to read block from filesystem resulted in short read) while reading
> indirect blocks of inode 605348.  Ignore error? yes
> Dec  1 19:59:17 francois fsck: Inode 605348, i_blocks is 160, should
> be 104.  Fix? yes
> Dec  1 19:59:30 francois fsck: Pass 3: Checking directory
> connectivity
> Dec  1 19:59:30 francois fsck: Pass 4: Checking reference counts
> Dec  1 19:59:30 francois fsck: Pass 5: Checking group summary
> information
> Dec  1 19:59:30 francois fsck: /dev/sda11: 166951/512000 files (2.4%
> non-contiguous), 614504/1022127 blocks
> Dec  1 19:59:30 francois fsck: e2fsck 1.19, 13-Jul-2000 for EXT2 FS
> 0.5b, 95/08/09
> Dec  1 19:59:30 francois fsck: Pass 1: Checking inodes, blocks, and
> sizes
> Dec  1 19:59:43 francois fsck: Pass 2: Checking directory structure
> Dec  1 19:59:46 francois fsck: Pass 3: Checking directory
> connectivity
> Dec  1 19:59:46 francois fsck: Pass 4: Checking reference counts
> Dec  1 19:59:46 francois fsck: Pass 5: Checking group summary
> information
> Dec  1 19:59:46 francois fsck: /dev/sda12: 14855/232320 files (0.2%
> non-contiguous), 346703/463869 blocks
> Dec  1 19:59:46 francois fsck: e2fsck 1.19, 13-Jul-2000 for EXT2 FS
> 0.5b, 95/08/09
> Dec  1 19:59:46 francois fsck: Pass 1: Checking inodes, blocks, and
> sizes
> Dec  1 19:59:47 francois fsck: Pass 2: Checking directory structure
> Dec  1 19:59:48 francois fsck: Pass 3: Checking directory
> connectivity
> Dec  1 19:59:48 francois fsck: Pass 4: Checking reference counts
> Dec  1 19:59:49 francois fsck: Pass 5: Checking group summary
> information
> Dec  1 19:59:49 francois fsck: /dev/sda10: 7479/127744 files (1.0%
> non-contiguous), 51241/255024 blocks
> Dec  1 19:59:59 francois fsck: Pass 2: Checking directory structure
> Dec  1 20:00:06 francois fsck: Pass 3: Checking directory
> connectivity
> Dec  1 20:00:06 francois fsck: Pass 4: Checking reference counts
> Dec  1 20:00:06 francois fsck: Pass 5: Checking group summary
> information
> Dec  1 20:00:07 francois fsck: Block bitmap differences:  -1222651
> -1222652 -1222653 -1222654 -1222655 -1222656 -1222657
> Dec  1 20:00:08 francois fsck: Fix? yes
> Dec  1 20:00:08 francois fsck: Free blocks count wrong for group #37
> (19194, counted=19201).
> Dec  1 20:00:08 francois fsck: Fix? yes
> Dec  1 20:00:08 francois fsck: Free blocks count wrong (770880,
> counted=770887).
> Dec  1 20:00:08 francois fsck: Fix? yes
> Dec  1 20:00:08 francois fsck: /dev/sdb1: ***** FILE SYSTEM WAS
> MODIFIED *****
> Dec  1 20:00:08 francois fsck: /dev/sdb1: 27690/1111936 files (2.2%
> non-contiguous), 1450091/2220978 blocks
> Dec  1 20:00:09 francois rc.sysinit: Mounting local filesystems:
> succeeded
> Dec  1 20:00:09 francois rc.sysinit: Mounting loopback filesystems:
> succeeded
> Dec  1 20:00:09 francois loadkeys: Loading
> /usr/lib/kbd/keymaps/i386/azerty/fr-latin1.kmap.gz
> Dec  1 20:00:10 francois keytable: Loading keymap: fr-latin1
> succeeded
> Dec  1 20:00:10 francois loadkeys: Loading
> /usr/lib/kbd/keymaps/include/compose.latin1.inc.gz
> Dec  1 20:00:10 francois keytable: Loading compose keys:
> compose.latin1.inc succeeded
> Dec  1 20:00:10 francois keytable:  succeeded
> ====================================
> Donc tout semblait "r�par�". J'ai ensuite lanc� l'utilitaire de la
> carte Adaptec SCSI qui me permet de v�rifier la structure de mon
> disque dur. L� bien entendu il m'a  trouv� deux erreurs qu'il a
> corrig� en leur allouant des secteurs libres. Donc par la suite je
> n'ai plus eu d'erreur.
> j'ai refait plusieurs fois un checkdisk et une v�rif. � partir de ma
> carte scsi et tout baigne.
> 
> Ma question maintenant : est ce que je peux avoir des datas qui
> seraient bousill�s ? J'ai plein de choses sur ce disque (5 gigas) et
> malheureusement, aucun backup.

C'est possible : Si fsck n'arrive pas � retrouver ses petits, il r�unit
les bouts qui lui semblent aller ensemble dans le r�pertoire lost+found
de la racine de chaque FS :regarde si t'as qq chose dans ce r�pertoire
(s'il existe : j'ai not� qu'en ext3 il n'y en avait pas. Peut �tre
est-il cr�� au moment o� il s'av�re n�cessaire par e2fsck. A v�rifier.
Dans la plupart des FS unix, il existe)

> Je ne peux pas v�rifier manuellement tous les fichiers, mais j'ai
> essay� de copier tous ces fichiers en utilisant midnight commander
> vers un autre disque et �a a march�.

Tant mieux
 
> Cependant j'aimerais �tre s�r, alors voil� la manip que j'ai faite :
> j'ai lanc� cette commande :
> [fm@francois fm]$ ls -ARUiosS /mnt/programs/* > truc.bak
> (/mnt/programs c'est mon disque "sdb1")
 
> � priori le param�tre "i" pour "inode", m'affiche le num�ro d'index
> de chaque fichier (j'avoue ne pas savoir ce qu'est un "inode", mais
> bon...).

Un fichier est identifi� par un inode. Et un seul. Et c'est son unique
identifiant. Ensuite la correspondance (le "lien") entre le inode et le
nom qu'on donne au fichier est faite dans le(s) r�pertoire o� il est
cr�� (r�f�renc�). Le m�me inode peut avoir plusieurs r�f�rences (liens :
2�me colonne de "ls -l". cf commande ln). Autrement dit, tu peux
manipuler un fichier depuis X r�pertoires de ton arborescence. Rien �
voir avec les liens symboliques. cf man ln.
TOUTES les caract�ristiques du fichier sont stock�es dans son inode
(taille, propri�taire, dates, etc, visibles pas "ls"). L'ensemble des
inodes est regroup� dans la table des inodes, cr��e � la cr�ation du FS
(mke2fs ou autre mk... - ie :formattage). A chaque cr�ation de fichier,
un inode (ensemble structur� d'octets) est initialis�/r�serv� dans cette
table. 

> ENsuite j'ai v�rifi� dans le fichier g�n�r� "truc.bak", si je
> trouvais le num�ro d'inode que j'avais dans mon log, � savoir le
> "605348." Je ne trouve pas ce num�ro dans mon fichier truc.bak, donc
> est ce que �a veut dire qu'il n'y avait pas d'enregistrement sur
> cette partie de disque et que donc, m�me si ce secteur �tait
> bousill�, je n'ai rien perdu ???

Etant donn� la fa�on dont sont affect�s les inodes dans la table du FS,
un fichier de N� inode X d'un FS, se retrouvera avec un N� de inode Y
sur un autre FS (apr�s copie par exemple). Tu retrouveras son nom. Le
inode pour chaque fichier copi� sera r�serv� au fur et � mesure que sa
copie est demand�e par la commande de copie. Donc, ...tu sais pas, sauf
si tu contr�les l'ordre dans lequel tu copie tes fichiers (aucun int�r�t
: on s'en fout).

> J'aimerai vraiment avoir vos remarques sur cette m�thode 

Quelle m�thode? Ton raisonnement, ta fa�on de bidouiller ton syst�me
sans backup?,...
En gros je dirais que t'as bidouill� ton FS, t'as fait des conneries,
fsck les a apparement r�par�es, et tant mieux pour toi.
Rosaire

et me dire
> si il y en a une autre et si non, si celle que j'ai imagin� n'est pas
> trop mauvaise ?
> Si personne ne peut me donner un tuyau, je ne suis pas abonn� � la
> liste "expert", donc si on voulait poster ce message l� bas, et me
> donner les �ventuelles r�ponses ..?
> Merci d'avance, et je croise les doigts pour qu'on me dise qu'�
> priori tout est ok .. ;-(   ou  ;-))
> 
> Merci. Francois
> 
>   ------------------------------------------------------------------------
> Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
> Rendez-vous sur "http://www.mandrakestore.com";

Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à