Auteur Sujet: systemd : l'init martyrisé, l'init bafoué, mais l'init libéré !  (Lu 17105 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
Par contre slackware c'est un peu le désert niveau dépôts et pas très réactif pour la correction des brèches de sécurité... Et tu as vraiment des fois des trucs bien louches, des paquets  qui n'ont pas été actualisés pendant des années... mais ils font un effort depuis quelques temps  je trouve... ils ont enlevé la frein à main et on passé la deuxième.
L'avantage c'est qu'il n'y a pas encore systemd , c'est vrais, tu as raison  :D
que ce que vous avez contre systemd ?

Je trouve qu'il apporte un vrai plus en terme de suivit de process et fonctionnalité.

Je précise au passage que il y a eu une mise à jour de systemd dans Ubuntu 16.04 et que la limite de 512 a sauté (après que j'ai eu le problème, suite à la migration rapide).

Bien vu, j'avais zappé les réponses et c'est une nouveauté introduite récemment dans systemd qui limite le nombre maximum de tâches qui peuvent être créés dans l'unité à 512 par défaut.
Pour Ubuntu, c'est introduit à partir d'Ubuntu 16.04

Le man :
TasksMax=N
Specify the maximum number of tasks that may be created in the unit. This ensures that the number of tasks accounted for the unit (see above) stays below a specific limit. If assigned the special value "infinity", no tasks limit is applied. This controls the "pids.max" control group attribute. For details about this control group attribute, see pids.txt[4].

Implies "TasksAccounting=true". The system default for this setting may be controlled with DefaultTasksMax= in systemd-system.conf.


Pour ne plus avoir cette limitation, il suffit d'éditer /etc/systemd/system.conf et de remplacer #DefaultTasksMax=512 par DefaultTasksMax=infinity

Ce que donne systemctl status apache2 avant la modification :


$ systemctl status apache2
● apache2.service - LSB: Apache2 web server
   Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           └─apache2-systemd.conf
   Active: active (running) since mer. 2016-05-18 06:22:18 CEST; 6h ago
     Docs: man:systemd-sysv-generator(8)
  Process: 16760 ExecReload=/etc/init.d/apache2 reload (code=exited, status=0/SUCCESS)
  Process: 1148 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
    Tasks: 487 (limit: 512)
   CGroup: /system.slice/apache2.service
           ├─  481 /usr/sbin/apache2 -k start
           ├─  863 /usr/sbin/apache2 -k start
           ├─ 1221 /usr/sbin/apache2 -k start
           ├─ 1226 /usr/sbin/apache2 -k start
           ├─ 1373 /usr/sbin/apache2 -k start
           ├─ 1734 /usr/sbin/apache2 -k start
           ├─ 3180 /usr/sbin/apache2 -k start
           ├─ 6791 /usr/sbin/apache2 -k start
           ├─ 7611 /usr/sbin/apache2 -k start
           ├─10271 /usr/sbin/apache2 -k start
           ├─16813 /usr/sbin/apache2 -k start
           ├─16818 /usr/sbin/apache2 -k start
           ├─16920 /usr/sbin/apache2 -k start
           ├─17925 /usr/sbin/apache2 -k start
           ├─20430 /usr/sbin/apache2 -k start
           ├─22225 /usr/sbin/apache2 -k start
           ├─24790 /usr/sbin/apache2 -k start
           ├─31388 /usr/sbin/apache2 -k start
           └─31576 /usr/sbin/apache2 -k start

mai 18 06:22:15 ubuntu systemd[1]: Starting LSB: Apache2 web server...
mai 18 06:22:15 ubuntu apache2[1148]:  * Starting Apache httpd web server apache2
mai 18 06:22:18 ubuntu apache2[1148]:  *
mai 18 06:22:18 ubuntu systemd[1]: Started LSB: Apache2 web server.
mai 18 10:05:15 ubuntu systemd[1]: Reloading LSB: Apache2 web server.
mai 18 10:05:15 ubuntu apache2[16760]:  * Reloading Apache httpd web server apache2
mai 18 10:05:15 ubuntu apache2[16760]:  *
mai 18 10:05:15 ubuntu systemd[1]: Reloaded LSB: Apache2 web server.


Après la modification, (limit: 512) n’apparaît plus.

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 424
  • Lyon (69) / St-Bernard (01)
    • Twitter
systemd
« Réponse #1 le: 05 juillet 2016 à 19:04:41 »
la stack réseau complètement pétéerevue, par exemple ?

jack

  • Professionnel des télécoms
  • *
  • Messages: 1 674
  • La Madeleine (59)
systemd
« Réponse #2 le: 05 juillet 2016 à 19:08:32 »
systemd, c'est un truc pour dev qui se tripotent sur github.

"regarde, c'est mon projet ! c'est MON projet ! OWHHIIHUIHIUOQIDNZ"
D'où l'importance, dans l'idée, de ne pas corriger l'existant, mais plutôt de faire un autre projet,  from scratch (ou mieux : de fork un projet existant), mais sous ton nom, histoire de dire "regardez, je rosk, j'ai un projet qui est utilisé"

Faire nouveau plutôt que d'améliorer l'existant = mauvais
Le changement sans bénéfice = mauvais
systemd = mauvais
Avoir une interface réseau qui s'appelle enx78e7d1ea46da == très con et très très mauvais

(tu peux split le HS immédiatement :p)

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 424
  • Lyon (69) / St-Bernard (01)
    • Twitter
systemd
« Réponse #3 le: 05 juillet 2016 à 19:12:39 »
resolvconf  ::)
le /etc/network/interfaces qui n'est écouté qu'a moitié...

dhcpcd.conf, très beau celui là aussi !

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
systemd
« Réponse #4 le: 05 juillet 2016 à 19:40:29 »
Pour les cartes réseau,

Il y a eu trois époques :

Avant 2013 : 1ère époque : Celle de eth0, eth1, eth2, eth3 : les interfaces sont nommées dans l'ordre d'arrivée. Sympa quand on a une carte réseau mais beaucoup moins quand on 2 cartes réseau : Sur un serveur avec 2 carte réseau, la carte 1 peut être eth1 et la carte 2 eth0.
Sur des portables, il arrive que le wifi soit eth1.

Séquence d'initialisation d'un serveur avec 4 ports 1 Gb/s intégrés et 2 ports 10 Gb/s sur le slot 1 :
$ dmesg | grep eth
[    3.963167] bnx2 0000:0b:00.0 eth0: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found at mem 96000000, IRQ 28, node addr 34:40:b5:9f:d0:48
[    3.964371] bnx2 0000:0b:00.1 eth1: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found at mem 98000000, IRQ 40, node addr 34:40:b5:9f:d0:4a
[    3.965855] bnx2 0000:10:00.0 eth2: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found at mem 92000000, IRQ 29, node addr 34:40:b5:a5:5a:40
[    3.967251] bnx2 0000:10:00.1 eth3: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found at mem 94000000, IRQ 41, node addr 34:40:b5:a5:5a:42
[    8.544285] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    8.544291] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[    8.544296] IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready
[    8.544300] IPv6: ADDRCONF(NETDEV_UP): eth3: link is not ready
[    8.544304] IPv6: ADDRCONF(NETDEV_UP): eth4: link is not ready
[    8.544309] IPv6: ADDRCONF(NETDEV_UP): eth5: link is not ready
[    9.133174] cdc_ether 5-2:1.0 usb0: register 'cdc_ether' at usb-0000:00:1d.0-2, CDC Ethernet Device, 36:40:b5:98:d0:4b
[    9.133198] usbcore: registered new interface driver cdc_ether
[    9.596080] ixgbe 0000:1a:00.0: registered PHC device on eth4
[    9.699234] IPv6: ADDRCONF(NETDEV_UP): eth4: link is not ready
[    9.763165] ixgbe 0000:1a:00.0 eth4: detected SFP+: 5
[   10.014999] ixgbe 0000:1a:00.0 eth4: NIC Link is Up 10 Gbps, Flow Control: RX/TX
[   10.015853] IPv6: ADDRCONF(NETDEV_CHANGE): eth4: link becomes ready

2013/2014 : 2ème époque, celle de em1 / em2 qui est ma préférée : (depuis Ubuntu 13.04, uniquement sur le matériel qui sait identifier slot/port)
- em1 : première port Ethernet intégré à la carte mère
- em2 : second port Ethernet intégré à la carte mère
-  p1p1 : premier slot, premier port Ethernet
-  p1p2 : premier slot, second port Ethernet
-  p2p1 : second slot, premier port Ethernet
-  p2p2 : second slot, second port Ethernet
ect...
Le Wifi est lui avec une nomination séparée
On arrive a déterminer par le nom du port, l'emplacement sur le serveur avec certitude.

Séquence d'initialisation d'un serveur avec 2 ports 1 Gb/s intégrés et 2 ports 10 Gb/s sur le slot 1 :
$ dmesg | grep eth
[    2.991442] bnx2 0000:02:00.0 eth0: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem c0000000, IRQ 16, node addr d4:ae:52:ce:9a:9c
[    2.994398] bnx2 0000:02:00.1 eth1: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem c2000000, IRQ 17, node addr d4:ae:52:ce:9a:9d
[    3.077138] bnx2 0000:02:00.0 em1: renamed from eth0
[    3.338749] bnx2 0000:02:00.1 em2: renamed from eth1
[    4.759659] ixgbe 0000:01:00.1 p1p2: renamed from eth1
[    4.778882] ixgbe 0000:01:00.0 p1p1: renamed from eth0

Depuis 2015, l'époque Systemd : La nouvelle est je trouve incompréhensible. (depuis ubuntu 15.10)

- eno1: première port Ethernet intégré à la carte mère
- eno2: second port Ethernet intégré à la carte mère
- enp1s0 : premier slot, premier port Ethernet
- enp2s0 : second slot, premier port Ethernet
- wlp2s0 pour le wifi sur mon portable (!)
- wlp3s0 pour le wifi sur mon PC fixe (!)

Séquence d'initialisation d'un serveur avec 2 ports 1 Gb/s intégrés et un port 10 Gb/s sur le slot 1 :
$ dmesg | grep eth
[    2.919121] bnx2 0000:02:00.0 eth0: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem c0000000, IRQ 16, node addr d0:67:e5:e9:ba:b4
[    2.921879] bnx2 0000:02:00.1 eth1: Broadcom NetXtreme II BCM5716 1000Base-T (C0) PCI Express found at mem c2000000, IRQ 17, node addr d0:67:e5:e9:ba:b5
[    3.019509] bnx2 0000:02:00.0 eno1: renamed from eth0
[    3.238308] bnx2 0000:02:00.1 eno2: renamed from eth1
[    3.930651] ixgbe 0000:01:00.0 enp1s0: renamed from eth0

jack

  • Professionnel des télécoms
  • *
  • Messages: 1 674
  • La Madeleine (59)
systemd : l'init martyrisé, l'init bafoué, mais l'init libéré !
« Réponse #5 le: 05 juillet 2016 à 20:44:14 »
Le truc de l'ordre des interfaces, j'imagine que c'est un besoin réel, quand bien même je n'ai jamais constaté de "soucis", avec plein de configurations matériels différentes

Mais le plus important .. quel est l'intérêt de renommer wlan0 en wlp2s0 ?
Et eth0 en em1, et donc de ce que tu dit, maintenant en eno1 ?

À quoi ça sert, franchement ?
En tant que sysadmin, je n'en ai rien à foutre de différencier les interfaces Gb "intégré à la carte mère" et les cartes Gb "sur un port PCI" ou autre
Ce qui m'importe, c'est de savoir que telle interface est branchée sur tel machin, c'est à dire que je peux faire tel truc avec (ex LACP, configuration des vlan ou sque tu veux)

Non ?

Nh3xus

  • Réseau Deux Sarres (57)
  • Abonné MilkyWan
  • *
  • Messages: 3 247
  • Sarrebourg (57)
systemd : l'init martyrisé, l'init bafoué, mais l'init libéré !
« Réponse #6 le: 05 juillet 2016 à 20:44:50 »
Ce qui me fait chier avec systemd :

- Le renommage abscons des noms d'interface réseau

- Les requêtes DNS qui vont interroger Google si les DNS sont mal configurés dans le resolv.conf (dafuq ?)

- ce machin s'occupe de faire du firewalling (?!) avec systemd-firewalld

- les sessions tux / screen qui sont, par défaut, tuées automatiquement lorsque l'on se déconnecte de son compte utilisateur : il faut activer le mode "linger" de systemd pour empêcher ça...

BadMax

  • Client Free adsl
  • Expert
  • *
  • Messages: 3 481
  • Malissard (26)
systemd : l'init martyrisé, l'init bafoué, mais l'init libéré !
« Réponse #7 le: 05 juillet 2016 à 21:13:51 »
Le renommage des interfaces c'est le taf de udev. Pas besoin de systemd.

C'est même présent sur Slackware, c'est dire.

jack

  • Professionnel des télécoms
  • *
  • Messages: 1 674
  • La Madeleine (59)
systemd : l'init martyrisé, l'init bafoué, mais l'init libéré !
« Réponse #8 le: 05 juillet 2016 à 21:15:12 »
(c'est le même projet, tristement)

Nh3xus

  • Réseau Deux Sarres (57)
  • Abonné MilkyWan
  • *
  • Messages: 3 247
  • Sarrebourg (57)
systemd : l'init martyrisé, l'init bafoué, mais l'init libéré !
« Réponse #9 le: 05 juillet 2016 à 21:19:22 »
Citer
C'est même présent sur Slackware, c'est dire.

C'était vrai jusqu'à la 14.1.

Aujourd'hui sur une 14.2  fraichement installée, udev est remplacé par eudev.

Du coup, un ifconfig -a me retourne bel et bien les traditionnels ethX et wlanX

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
systemd : l'init martyrisé, l'init bafoué, mais l'init libéré !
« Réponse #10 le: 05 juillet 2016 à 21:39:19 »
Mais le plus important .. quel est l'intérêt de renommer wlan0 en wlp2s0 ?
Et eth0 en em1, et donc de ce que tu dit, maintenant en eno1 ?
Oui, sur un serveur, eth0 est devenu em1 puis eno1.
C'est assez logique et utile sur un serveur.

Par contre sur un PC grand public, Linux ne sais pas si la carte est intégrée à la carte mère et chez moi cela donne enp2s0 pour le port Ethernet intégré à la carte mère.

Le "2" viens du fait que lspci indique que c'est le 2ème slot PCI (pour la carte intégrée à la CM) :
$ lspci | grep Eth
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0c)

Pour le WiFi, j'ai wlp3s0 car là aussi lspci dit que c'est le 3ème slot PCI (carte Wifi intégré à mon PC fixe) :
$ lspci | grep Wireless
03:00.0 Network controller: Qualcomm Atheros QCA9565 / AR9565 Wireless Network Adapter (rev 01)

Pour le wifi de mon portable, wlp2s0, lepci indique que c'est le 2ème slot PCI :
$ lspci | grep Wireless
02:00.0 Network controller: Intel Corporation Wireless 7265 (rev 59)

Avant (2ème époque avec em1), seul les carte mères capable d'indiquer précisèment où est la carte étaient renommés : les pc grand public restaient en eth0.

Je ne comprends pas non plus l’intérêt de renommer les interface sur un pc grand public.

Attention : les interfaces ne sont jamais renommées lors d'une mise à jour. Il faut faire une clean install pour voir les nouvelles modes.

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 424
  • Lyon (69) / St-Bernard (01)
    • Twitter
systemd : l'init martyrisé, l'init bafoué, mais l'init libéré !
« Réponse #11 le: 05 juillet 2016 à 22:51:47 »
Attention : les interfaces ne sont jamais renommées lors d'une mise à jour. Il faut faire une clean install pour voir les nouvelles modes.
LOL, on en parle de mon serveur qui est passé au nouveau nommage d'un coup sans aucune raison ? (ça m'a pris quelques temps de débug à la con...)