[gull] init scripts ne démarrent pas

Leopoldo Ghielmetti leopoldo.ghielmetti at a3.epfl.ch
Thu Apr 19 11:39:07 CEST 2012


Il 18/04/2012 23:14, Daniel Cordey ha scritto:
> On Wed, April 18, 2012 14:58, Leopoldo Ghielmetti wrote:
...

>> J'ai par exemple des machines virtuelles kvm qui tournent sur ma machine
>> et il faut que je les arrête manuellement avant de rebooter mon serveur
>> car il est impossible d'instruire upstart d'arrêter correctement les taches.
> 
> Ah là... tu tentes le diable... tu investis une zone encore mal défrichée... :-) On se gargarise de multi-threading et de virtualisation,
> mais lorsque l'on aborde la partie gestion du système, tout le monde part en courant en disant "j'ai un sanglier sur le feu". J'ai dû
> m'écrire tout un système de gestion des onteneurs et routage des adresses IP pour OpenVZ, car il n'existe rien... Je ne connais pas KVM et
> j'aurais tendance a dire qu'il devrait exister un process 'upstart' qui devrait arrêter tout les noeuds actifs, avant d'arrêter
> complètement la machine. Au moins OpenVZ fait ça, mais je ne sais pas s'il existe ce genre d'outil pour des config KVM.

Justement non, ça n'existe pas, du moins l'année passée, je n'ai plus
regardé depuis, mais les mises à jour ubuntu n'ont tj pas résolu le
problème, donc j'en déduis que la solution n'existe toujours pas.

Si on fait un shutdown de la machine, les machines virtuelles sont
killées avec un kill -9 et rien de plus. Inutile de dire que ça ne leur
fait pas du bien.

>> Le script d'arrêt que j'ai fait refuse de lancer la tache qui signale
>> l'arrêt aux machines kvm car il s'agit de lancer une nouvelle tache à
>> l'arrêt, chose qu'on ne peut pas faire avec upstart. En plus, même si
>> j'arrive en forçant un peu a envoyer un signal d'arrêt, upstart kille
>> automatiquement mes machines kvm car pour le shutdown elles prennent un
>> temps non nul. Et il est impossible de placer des sleep ou autre
>> commande dans les taches d'arrêt upstart.
> 
> Oui... mais upstart peut lancer un shell script standard... Ne serait-ce pas la solution ? Je sais, c'est un peu lourd et pas très logique
> mais peut-être la seule solution pour le moment :-(

C'est bien ce que j'ai essayé de faire, mais upstart ne sait pas lancer
des scripts externes. Il y a bien une commande pour cela, mais le script
demarre et est tout de suite killé car le système est en train de s'arrêter.
Mon script a juste le temps de logguer comme quoi il a été démarré et
ensuite il meurt ainsi que toutes les machines virtuelles qu'il est
censé arrêter proprement. Il faudrait lancer le script et dire à upstart
d'attendre la fin de l'exécution du script en question ou un temps fixe
avant de tout killer, mais ce n'est pas possible.

>> En plus l'arrêt de squid ne marche jamais correctement et du coup il
>> n'arrive pas a démonter les disques (la aussi je pense qu'il s'agit d'un
>> problème de temporisation). Le résultat c'est un check complèt des
>> disques au redémarrage si jamais j'oublie d'arrêter squid à la main.
> 
> Comment une machine KVM peut-elle faire un 'shutdown' ? Ne peut-on effectuer un 'shutdown -h' dans chacune des machines ?

Il y a une commande qui équivaut à presser le bouton arrêt d'un PC.
Normalement les systèmes d'exploitation modernes ils réagissent en
faisant un shutdown propre.
Et mon script marche justement comme ça et même très bien. Mais il faut
que je le lance à la main avec un kvm-shutdown stop avant d'éteindre mon
serveur.
Ce script avait aussi été fait pour être mis parmi les scripts init.d et
activé au moment du shutdown. Mais le problème c'est que le système kvm
est géré par upstart, donc même en le mettant dans /etc/init.d upstart
arrête les machines indépendamment de mon script.

>> Pratiquement upstart à été un vrai pas en arrière par rapport au scripts
>> sysinit. Ils sont aussi plus difficiles à configurer et à maitriser.
> 
> Oui, et en plus tu dois te taper plein de doc pour faire la mêmem chose qu'avant... sans être plus avancé. En plus, si tu râles tu es pris
> pour un rétrograde... Maintenant que tu soulèves ce problème, je vais me pencher un peu plus sur cette nouvelle infrastructure. A priori,
> ce genre d'outil n'est pas changé à la légère et plein de gens ont participé a son élaboration. Je me dis que tout ces gens compétents
> n'ont pas pu passer à côté de l'essentiel. Peut-être a-t-on mal lu la doc, ou pas assez ? Je vais voire.

Je pense par contre que si. Quand j'avais cherché la solution pour le
kvm (l'année passée) il y avait beaucoup de gens qui se plaignaient de
l'arrêt brutal des machines virtuelles. La solution n'existaient pas et
sur tous les sites il étaient écrit qu'il fallait les arrêter à la main
car ils n'avaient encore pas réussi à écrire un script capable de le
faire en automatique. J'ai essayé moi aussi avec mon kvm-shutdown mais
je n'ai pas réussi non plus.
Mais pas à cause des limitations de kvm ou de mon script, mais à cause
des limitations de upstart.

>> J'aimerais bien pouvoir le supprimer du système et rétablir l'ancien
>> système, mais du coup il me faudrait changer de distribution.
> 
> C'est un peu comme l'eau qui monte. Changer de plage ne va faire que retarder l'échéance.

Sauf si on change complètement de position, p.e. en montant un peu plus
haut. :-)

> dc

ciao, Leo

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 259 bytes
Desc: OpenPGP digital signature
URL: <http://forum.linux-gull.ch/pipermail/gull/attachments/20120419/89fe9fe5/attachment.pgp>


More information about the gull mailing list