Gestion De Services Sous Unix
Total Page:16
File Type:pdf, Size:1020Kb
Gestion de services sous Unix Baptiste Daroussin [email protected] [email protected] sysadmin #6 Paris 19 Février 2016 Disclaimer sysadmin#6 Gestion de services sous Unix 2 of 16 L’arlésienne supervisor daemontools procd OpenRC DEMONS Runit Epoch ninit finitrcNG sinit minitsystemdinitng rc svc perp eINIT SMF SysVinit nosh SystemXVI upstart launchd monit Shepherd relaunchd sparkrc watchmancircus sysadmin#6 Gestion de services sous Unix 3 of 16 I I’m your father(c)(tm) I laisse la main a d’autres pour la gestion des services... presque I /etc/inittab I /etc/ttys I Généralement des scripts shell I SysVinit I rcNG I rc Il était une fois init(8) I petit mais costaud sysadmin#6 Gestion de services sous Unix 4 of 16 I laisse la main a d’autres pour la gestion des services... presque I /etc/inittab I /etc/ttys I Généralement des scripts shell I SysVinit I rcNG I rc Il était une fois init(8) I petit mais costaud I I’m your father(c)(tm) sysadmin#6 Gestion de services sous Unix 4 of 16 presque I /etc/inittab I /etc/ttys I Généralement des scripts shell I SysVinit I rcNG I rc Il était une fois init(8) I petit mais costaud I I’m your father(c)(tm) I laisse la main a d’autres pour la gestion des services... sysadmin#6 Gestion de services sous Unix 4 of 16 I /etc/inittab I /etc/ttys I Généralement des scripts shell I SysVinit I rcNG I rc Il était une fois init(8) I petit mais costaud I I’m your father(c)(tm) I laisse la main a d’autres pour la gestion des services... presque sysadmin#6 Gestion de services sous Unix 4 of 16 I Généralement des scripts shell I SysVinit I rcNG I rc Il était une fois init(8) I petit mais costaud I I’m your father(c)(tm) I laisse la main a d’autres pour la gestion des services... presque I /etc/inittab I /etc/ttys sysadmin#6 Gestion de services sous Unix 4 of 16 Il était une fois init(8) I petit mais costaud I I’m your father(c)(tm) I laisse la main a d’autres pour la gestion des services... presque I /etc/inittab I /etc/ttys I Généralement des scripts shell I SysVinit I rcNG I rc sysadmin#6 Gestion de services sous Unix 4 of 16 I trop naïf I framework complexes I cohérence compliquée I gestion de ressource complexe I peu réactif Alors pourquoi tout ce bordel? sysadmin#6 Gestion de services sous Unix 5 of 16 I framework complexes I cohérence compliquée I gestion de ressource complexe I peu réactif Alors pourquoi tout ce bordel? I trop naïf sysadmin#6 Gestion de services sous Unix 5 of 16 I cohérence compliquée I gestion de ressource complexe I peu réactif Alors pourquoi tout ce bordel? I trop naïf I framework complexes sysadmin#6 Gestion de services sous Unix 5 of 16 I gestion de ressource complexe I peu réactif Alors pourquoi tout ce bordel? I trop naïf I framework complexes I cohérence compliquée sysadmin#6 Gestion de services sous Unix 5 of 16 I peu réactif Alors pourquoi tout ce bordel? I trop naïf I framework complexes I cohérence compliquée I gestion de ressource complexe sysadmin#6 Gestion de services sous Unix 5 of 16 Alors pourquoi tout ce bordel? I trop naïf I framework complexes I cohérence compliquée I gestion de ressource complexe I peu réactif sysadmin#6 Gestion de services sous Unix 5 of 16 I ne peut superviser qu’un process simple (via son pid) I perdu si double fork I interactions limitées I gestion de dépendance faible Trop naïf sysadmin#6 Gestion de services sous Unix 6 of 16 I perdu si double fork I interactions limitées I gestion de dépendance faible Trop naïf I ne peut superviser qu’un process simple (via son pid) sysadmin#6 Gestion de services sous Unix 6 of 16 I interactions limitées I gestion de dépendance faible Trop naïf I ne peut superviser qu’un process simple (via son pid) I perdu si double fork sysadmin#6 Gestion de services sous Unix 6 of 16 I gestion de dépendance faible Trop naïf I ne peut superviser qu’un process simple (via son pid) I perdu si double fork I interactions limitées sysadmin#6 Gestion de services sous Unix 6 of 16 Trop naïf I ne peut superviser qu’un process simple (via son pid) I perdu si double fork I interactions limitées I gestion de dépendance faible sysadmin#6 Gestion de services sous Unix 6 of 16 I généralement en shell I complexe à isoler (cf commande service(8)) I complexe à garder une cohérence entre les scripts d’init I complexe d’intégrer les systèmes de gestion de ressources I souvent inefficace (performances) I pas de mécanismes de surveillance de processus I peu de contrôle sur les processus (double fork) I fiabilité aléatoire du statut Framework complexes sysadmin#6 Gestion de services sous Unix 7 of 16 I complexe à isoler (cf commande service(8)) I complexe à garder une cohérence entre les scripts d’init I complexe d’intégrer les systèmes de gestion de ressources I souvent inefficace (performances) I pas de mécanismes de surveillance de processus I peu de contrôle sur les processus (double fork) I fiabilité aléatoire du statut Framework complexes I généralement en shell sysadmin#6 Gestion de services sous Unix 7 of 16 I complexe à garder une cohérence entre les scripts d’init I complexe d’intégrer les systèmes de gestion de ressources I souvent inefficace (performances) I pas de mécanismes de surveillance de processus I peu de contrôle sur les processus (double fork) I fiabilité aléatoire du statut Framework complexes I généralement en shell I complexe à isoler (cf commande service(8)) sysadmin#6 Gestion de services sous Unix 7 of 16 I complexe d’intégrer les systèmes de gestion de ressources I souvent inefficace (performances) I pas de mécanismes de surveillance de processus I peu de contrôle sur les processus (double fork) I fiabilité aléatoire du statut Framework complexes I généralement en shell I complexe à isoler (cf commande service(8)) I complexe à garder une cohérence entre les scripts d’init sysadmin#6 Gestion de services sous Unix 7 of 16 I souvent inefficace (performances) I pas de mécanismes de surveillance de processus I peu de contrôle sur les processus (double fork) I fiabilité aléatoire du statut Framework complexes I généralement en shell I complexe à isoler (cf commande service(8)) I complexe à garder une cohérence entre les scripts d’init I complexe d’intégrer les systèmes de gestion de ressources sysadmin#6 Gestion de services sous Unix 7 of 16 I pas de mécanismes de surveillance de processus I peu de contrôle sur les processus (double fork) I fiabilité aléatoire du statut Framework complexes I généralement en shell I complexe à isoler (cf commande service(8)) I complexe à garder une cohérence entre les scripts d’init I complexe d’intégrer les systèmes de gestion de ressources I souvent inefficace (performances) sysadmin#6 Gestion de services sous Unix 7 of 16 I peu de contrôle sur les processus (double fork) I fiabilité aléatoire du statut Framework complexes I généralement en shell I complexe à isoler (cf commande service(8)) I complexe à garder une cohérence entre les scripts d’init I complexe d’intégrer les systèmes de gestion de ressources I souvent inefficace (performances) I pas de mécanismes de surveillance de processus sysadmin#6 Gestion de services sous Unix 7 of 16 I fiabilité aléatoire du statut Framework complexes I généralement en shell I complexe à isoler (cf commande service(8)) I complexe à garder une cohérence entre les scripts d’init I complexe d’intégrer les systèmes de gestion de ressources I souvent inefficace (performances) I pas de mécanismes de surveillance de processus I peu de contrôle sur les processus (double fork) sysadmin#6 Gestion de services sous Unix 7 of 16 Framework complexes I généralement en shell I complexe à isoler (cf commande service(8)) I complexe à garder une cohérence entre les scripts d’init I complexe d’intégrer les systèmes de gestion de ressources I souvent inefficace (performances) I pas de mécanismes de surveillance de processus I peu de contrôle sur les processus (double fork) I fiabilité aléatoire du statut sysadmin#6 Gestion de services sous Unix 7 of 16 I gestion événementielle forcément externe (cron, udev/devd, inetd) I duplication de la gestion des services I incohérence dans la gestion des services I gestion événementielle souvent peu réactive: latence entre l’arrivée de l’évènement et l’action I fault management absent Réactivité sysadmin#6 Gestion de services sous Unix 8 of 16 I duplication de la gestion des services I incohérence dans la gestion des services I gestion événementielle souvent peu réactive: latence entre l’arrivée de l’évènement et l’action I fault management absent Réactivité I gestion événementielle forcément externe (cron, udev/devd, inetd) sysadmin#6 Gestion de services sous Unix 8 of 16 I gestion événementielle souvent peu réactive: latence entre l’arrivée de l’évènement et l’action I fault management absent Réactivité I gestion événementielle forcément externe (cron, udev/devd, inetd) I duplication de la gestion des services I incohérence dans la gestion des services sysadmin#6 Gestion de services sous Unix 8 of 16 I fault management absent Réactivité I gestion événementielle forcément externe (cron, udev/devd, inetd) I duplication de la gestion des services I incohérence dans la gestion des services I gestion événementielle souvent peu réactive: latence entre l’arrivée de l’évènement et l’action sysadmin#6 Gestion de services sous Unix 8 of 16 Réactivité I gestion événementielle forcément externe (cron, udev/devd, inetd) I duplication de la gestion des services I incohérence dans la gestion des services I gestion événementielle souvent peu réactive: latence entre l’arrivée de l’évènement et l’action I fault management absent sysadmin#6 Gestion de services sous Unix 8 of