Re: ext3 et rpmdb

トップ ページ

このメッセージに返信
著者: Olivier Allard-Jacquin
日付:  
To: guilde
題目: Re: ext3 et rpmdb
    Bonjour,

Yves Martin a écrit :
> Selon Patrick Dupre <pd520@???>:
>
>> J'ai repondu a ce message hier sur une facon de faire, est-ce qu'il a bien
>> ete receptionne ?
>
> Oui merci. C'est que propose Mandriva aussi. À tel point que l'installateur
> déconseille la mise à jour d'un système avec un block size de 1024 ! Les
> nouveaux systèmes sont créés avec bs=4096.
>
> Mais explique-moi alors pourquoi mon loopback device monté sur /var/lib/rpm avec
> un block size de 1024 fonctionne ?
>
> J'ai vu des références à un problème de dirty flag mal gérés au niveau Linux
> (2.6.19) mais ce serait grave qu'un tel problème existe encore avec la 2.6.24 -
> même si c'est limité à un fs bs=1024.
>
> Bref, je veux vraiment en avoir le coeur net. Quitte à ajouter une vérification
> de DB après chaque écriture pour détecter le problème. J'ai récupéré les sources
> de rpm 4.4.9 mais déjà la compilation n'est pas aisée.
>
> Que le problème soit côté Linux ou RPM, c'est grave car ce sont quand même les
> bases de nombreux systèmes - et je ne vois pas pourquoi il faudrait éviter les
> fs avec bs=1024 (si c'est effectivement la raison profonde du problème).
>
> Je me souhaite bien du courage ;)


    Je n'ai pas vraiment de solution à te propose pour ce problème de
ext2/3. Une rapide analyse (*) de mes propres disques indique que que
seule une partition est en 1024, et que ce n'est qu'un /boot.


    Mais est-ce qu'il ne te serait pas possible de :
- booter sur un live-CD
- faire un backup ("tar -czf") des partitions en bs=1024
- reformater les partitions (mkfs.ext3 -b 4096 /dev/xxxxx)
- restaurer les backups
- résintaller ton LILO/GRUB (**)
- redémarrer la machine depuis le disque



(*): for I in `mount |grep ext|awk '{print $1}'`; do echo -ne "- $I: " ;
tune2fs -l $I |grep "Block size"; done

(**): Note que si tu utilises les blockid dans le /etc/lilo.conf,
/boot/grub/menu.lst et /etc/fstab, le reformatage aura modifié la valeur
des blockid. Il faudra donc les re-saisir (command "blkid /dev/xxxx"
pour les retrouver)

    Si j'en crois le "man mkfs.ext3" :
<extrait>
-b block-size
              Specify  the  size  of  blocks  in  bytes.  Valid
block-size values are 1024, 2048 and 4096 bytes per block.  If omitted,
block-size is heuristically determined by the filesystem size  and  the
 expected usage of the filesystem (see the -T option).  If block-size is
negative, then mke2fs will use heuris‐tics to determine the appropriate
block size, with the constraint that the  block  size  will  be  at
  least block-size bytes.  This is useful for certain hardware devices
which require that the blocksizebe a multiple of 2k.
</extrait>


il semblerait que ton bs=1024 viennent du faite que tes partitions sont
assez petites, non ? Donc cette manipulation ne devrait pas trop prendre
de temps.

    Cordialement,


                            Olivier
-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
       /   / \  / \   \   Web:  http://olivieraj.free.fr/
      /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!