Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Souci LVM

10 réponses
Avatar
Yves
Bonjour,

voila. J'ai fait une installation sur une machine avec LVM (Logical
Volume Management). Lors d'une mise à jour par aptitude, la machine
cliente ssh s'est arrêtée inopinément, et lorsque je cherche à
redémarrer l'autre, le démon LVM ne se lance pas, et la machine ne boote
pas : elle attend indéfiniment que / soit monté pour continuer le boot.
Y a-t-il un moyen de rattraper ça ?

--
> Je passe au jetable, z'avez des conseils?
Oui, fait développer les photos avant de jeter.
-+- Noëlle à François, sur fr.rec.photo -+-

10 réponses

Avatar
Yves
Yves wrote:

Y a-t-il un moyen de rattraper ça ?



J'avance. J'ai ou recouvrir la partition avec clonezilla. J'ai remplacé
initrd par l'ancienne version...
super : le volume est reconnu, root se monte :( en read-only :((
C'est pas encore gagné...



--
Mes plus belles larmes, je les ai toujours versées
en ignorant pour qui ou pour quoi.
-+- Frédéric Dard -+-
Avatar
François Patte
Le 22/03/2009 23:20, Yves a écrit :
Yves wrote:

Y a-t-il un moyen de rattraper ça ?



J'avance. J'ai ou recouvrir la partition avec clonezilla. J'ai remplacé
initrd par l'ancienne version...
super : le volume est reconnu, root se monte



Otez-moi d'un doute: la partition / (ou /boot) ne fait pas partie d'un
"lvm"?

Ce n'est normalement pas recommandé... Si c'était le cas, pour l'avenir,
il faudrait reconsidérer le partitionnement et mettre une partition
primaire contenant / et une autre "lvm", contenant le reste.

--
François Patte
Université Paris Descartes
Avatar
Bastien Durel
On 23/03/2009 07:30, François Patte wrote:
Le 22/03/2009 23:20, Yves a écrit :
Yves wrote:

Y a-t-il un moyen de rattraper ça ?


J'avance. J'ai ou recouvrir la partition avec clonezilla. J'ai remplacé
initrd par l'ancienne version...
super : le volume est reconnu, root se monte



Otez-moi d'un doute: la partition / (ou /boot) ne fait pas partie d'un
"lvm"?

Ce n'est normalement pas recommandé... Si c'était le cas, pour l'avenir,
il faudrait reconsidérer le partitionnement et mettre une partition
primaire contenant / et une autre "lvm", contenant le reste.



/, on peut, /boot, non. Comme pour le chiffrement ;) Le tout est d'avoir
un initrd bien configuré.
Avatar
Yves
François Patte wrote:
Le 22/03/2009 23:20, Yves a écrit :
Yves wrote:

Y a-t-il un moyen de rattraper ça ?


J'avance. J'ai ou recouvrir la partition avec clonezilla. J'ai remplacé
initrd par l'ancienne version...
super : le volume est reconnu, root se monte



Otez-moi d'un doute: la partition / (ou /boot) ne fait pas partie d'un
"lvm"?



/boot est en primary : / /usr /var et /home sont en LVM en extented.
c'est le partitionnement par défaut de debian.

Quand je démarre maintenant (l'initramfs correspond à l'ancien noyau qui
est la même version que le nouveau apparemmanent je ne l'ai plus (pas de
vmlinuz.old) aucun service ne se lance, /etc/mtab correspond au dernier
démarrage avec succès, seul / est monté en read only. Je peux monter
manuellement les autres partitions en rw, mais je n'ai pas trouvé
comment faire pour remonter / en rw.

--
J'ai l'orgueil des vices qu'on me prête;
je suis moins fier des vices que j'ai.
-+- Jean Cocteau -+-
Avatar
Yves
Bastien Durel wrote:

/, on peut, /boot, non. Comme pour le chiffrement ;) Le tout est d'avoir
un initrd bien configuré.



Je peux essayer un truc : démarrer, lancer le réseau, récupérer les deux
initrd et rajouter le lancement qui manque dans le nouveau...

--
Savoir s'étonner à propos est le premier mouvement de l'esprit vers la
découverte.
-+- Louis Pasteur -+-
Avatar
Philippe Weill
François Patte a écrit :
Le 22/03/2009 23:20, Yves a écrit :
Yves wrote:

Y a-t-il un moyen de rattraper ça ?


J'avance. J'ai ou recouvrir la partition avec clonezilla. J'ai remplacé
initrd par l'ancienne version...
super : le volume est reconnu, root se monte



Otez-moi d'un doute: la partition / (ou /boot) ne fait pas partie d'un
"lvm"?

Ce n'est normalement pas recommandé... Si c'était le cas, pour l'avenir,
il faudrait reconsidérer le partitionnement et mettre une partition
primaire contenant / et une autre "lvm", contenant le reste.




Il me semble que le / en lvm est le défaut sur une RHEL 5
Avatar
Yves
Yves wrote:
Bastien Durel wrote:

/, on peut, /boot, non. Comme pour le chiffrement ;) Le tout est d'avoir
un initrd bien configuré.



Je peux essayer un truc : démarrer, lancer le réseau, récupérer les deux
initrd et rajouter le lancement qui manque dans le nouveau...



J'ai monté les systèmes de fichier (y compris /boot que j'ai dû
(re)monter explicitement (!), lancé le réseau et me suis envoyé le
contenu de /boot. J'ai décompressé les deux initrd (gzip et cpio, je me
suis fait ça via file-roller (adepte des clickodromes, je suis))
diff initrd/ initrdbroken/
Les sous-répertoires initrd/bin et initrdbroken/bin sont identiques.
Les sous-répertoires initrd/conf et initrdbroken/conf sont identiques.
Les sous-répertoires initrd/etc et initrdbroken/etc sont identiques.
Les sous-répertoires initrd/lib et initrdbroken/lib sont identiques.
Les sous-répertoires initrd/sbin et initrdbroken/sbin sont identiques.
Les sous-répertoires initrd/scripts et initrdbroken/scripts sont identiques.
Les sous-répertoires initrd/usr et initrdbroken/usr sont identiques.
???!!!


Pourtant les archives n'ont pas la même taille...


--
Fondez une Société des honnêtes gens, tous les voleurs en seront.
-+- Émile Chartier, dit Alain (1868-1951), Propos d'un Normand -+-
Avatar
Yves
Yves wrote:
Yves wrote:
Bastien Durel wrote:

/, on peut, /boot, non. Comme pour le chiffrement ;) Le tout est d'avoir
un initrd bien configuré.



Je peux essayer un truc : démarrer, lancer le réseau, récupérer les
deux initrd et rajouter le lancement qui manque dans le nouveau...



J'ai monté les systèmes de fichier (y compris /boot que j'ai dû
(re)monter explicitement (!), lancé le réseau et me suis envoyé le
contenu de /boot. J'ai décompressé les deux initrd (gzip et cpio, je me
suis fait ça via file-roller (adepte des clickodromes, je suis))
diff initrd/ initrdbroken/
Les sous-répertoires initrd/bin et initrdbroken/bin sont identiques.
Les sous-répertoires initrd/conf et initrdbroken/conf sont identiques.
Les sous-répertoires initrd/etc et initrdbroken/etc sont identiques.
Les sous-répertoires initrd/lib et initrdbroken/lib sont identiques.
Les sous-répertoires initrd/sbin et initrdbroken/sbin sont identiques.
Les sous-répertoires initrd/scripts et initrdbroken/scripts sont
identiques.
Les sous-répertoires initrd/usr et initrdbroken/usr sont identiques.
???!!!


Pourtant les archives n'ont pas la même taille...





Sur la machine avec le lvm : avant la manip avec clonezilla / ne se
montait tout simplement pas, au out d'un (long) timeout,; je me
retrouvais jeté sur initramfs.


avec clonezilla

mount /dev/hdb1 /mnt/boot
cd /mnt/boot
mv initrd initrd.broken
mv initrd.bak initrd
reboot

La racine se monte en read-only, les systèmes de fichiers ne sont pas
montés bien qu'qapparemment monté (/etc/mtab probablement, vu qu'on est
en read-only. Je me retrouve en multi-utilisateur sans /home monté

je démarre en mono-utilisateur : / est monté en ro, les autres
répertores ne sont pas monté

je monte tout (sauf / qui est déjà monté )-:

# mount /dev/volume/usr/ /usr/
# mount /dev/volume/var/ /var
# mount /dev/volume/home/ /home/
# mkswap /dev/volume/swap
# mount /dev/hdb1 /boot
# dhclient3 # me donne le réseau mais ne peut pas écrire et n'est pas #
# content de...
# sftp
sftp> mkdir bootmachin
sftp> cd bootmachin
sftp> lcd boot
sftp> mput *

chez moi :
$ cd bootmachin
$ mkdir init.broken
$ mv initrd.img-2.6.26-1-486.broken initrd.broken/
$ cd initrd.broken/
$ gunzip -c initrd.img-2.6.26-1-486.broken|cpio -idv
$ cd ..
$ mkdir initrd
$ mv initrd.img-2.6.26-1-486 initrd
$ cd initrd
$ gunzip -c initrd.img-2.6.26-1-486|cpio -idv
$ cd ..
$ cp -au init.broken/* initrd/
$ cd initrd
$ rm initrd.img-2.6.26-1-486
$ find . -print -depth | cpio -ov > initrd.img-2.6.26-1-486.cpi
$ gzip -c initrd.img-2.6.26-1-486.cpio > initrd.img-2.6.26-1-486
$ light candle
$ cross fingers

sur l'autre machine
# relight candles
# sacrifice hen
# cd boot
# mv initrd.img-2.6.26-1-486 initrd.img-2.6.26-1-486
# sftp
sftp> get initrd.img-2.6.26-1-486
# cross fingers
# reboot
et.. (ce suspense est intolérable)

--
L'argent ne fait pas le bonheur... de celui qui m'en a prêté !
-+- Pierre Perret -+-
Avatar
Yves
Yves wrote:

$ find . -print -depth | cpio -ov > initrd.img-2.6.26-1-486.cpi
$ gzip -c initrd.img-2.6.26-1-486.cpio > initrd.img-2.6.26-1-486
$ light candle
$ cross fingers

sur l'autre machine
# relight candles
# sacrifice hen
# cd boot
# mv initrd.img-2.6.26-1-486 initrd.img-2.6.26-1-486
# sftp
sftp> get initrd.img-2.6.26-1-486
# cross fingers
# reboot
et.. (ce suspense est intolérable)



Bon ça marche pas. Ce qui coince, c'est ça :

>>> gzip -c initrd.img-2.6.26-1-486.cpio > initrd.img-2.6.26-1-486

je recommence en rajoutant "-9" pour voir
gzip -c -9 initrd.img-2.6.26-1-486.cpio > initrd.img-2.6.26-1-486
[...]initrd$ find . -print -depth | cpio -ov |gzip -c -9 - >
initrd.img-2.6.26-1-486

ça ne marche pas mieux. Une idée ?

--
CONTAGIEUX

V : T'as pas peur d'attraper Creutzfeldt-Jakob ?
M : Pff... Je te bouffe pas le cul... je te le bourre !
Avatar
Yves
Yves wrote:

Bonjour,

voila. J'ai fait une installation sur une machine avec LVM (Logical
Volume Management). Lors d'une mise à jour par aptitude, la machine
cliente ssh s'est arrêtée inopinément, et lorsque je cherche à
redémarrer l'autre, le démon LVM ne se lance pas, et la machine ne boote
pas : elle attend indéfiniment que / soit monté pour continuer le boot.
Y a-t-il un moyen de rattraper ça ?



Procédure :
Lancer un linux-live sur la machine
sudo install-keymap fr-latin1
sudo mkdir /target
sudo mount /dev/bigroot/root /target/
sudo mount /dev/bigfoot/root /target/
sudo mount /dev/bigfoot/usr /target/usr
sudo mount /dev/bigfoot/var /target/var
sudo mount /dev/bigfoot/tmp /target/tmp
sudo mount /dev/bigfoot/home /target/home
sudo mkswap /dev/bigfoot/swap_1
sudo mount /dev/sdb1 /target/boot
sudo mount --bind /lib/init/rw /target/lib/init/rw
sudo mount --bind /proc /target/proc
sudo mount --bind /sys /target/sys
sudo mount --bind /var/run /target/var/run
sudo mount --bind /var/lock /target/var/lock
sudo mount --bind /dev /target/dev
sudo mount --bind /dev/shm /target/dev/shm
sudo mount --bind /dev/pts /target/dev/pts
sudo mount --bind /sys/fs/fuse/connections /target/sys/fs/fuse/connections
history|ssh "cat > commandesrootpourrecupererlebousin"
chroot /target/

Après ça je présume qu'un p'tit apt-get install --reinstall linux2.6
devrait rulez...
j'en suis pas encore là, la machine sert plus ou moins de tx, et la
preuve que ça marche est que X se lance correctement o_O.

Petit problème : le live est une ubuntu, ce qui fait que le noùm des
devices n'est pas cohérent avec debian et je n'ai pas l'émulation scsi
installée. Je risque de me retrouver dans la panade encore, non ?
Mon graveur est mort et la machine ne boote pas sur usb :(
--
Après avoir vu la lumière, on ne retourne pas dans les ténèbres.