etkin sistem birimi önyüklemede başlamıyor


35

Ben ettik systemd-unitetkindir sistemimde. Sorun, yeniden başlatmanın ardından yeniden başlatılmamasıdır. Her ikisi de beklendiği gibi başlatılan diğer iki hizmete bağlı.

Hizmet bilinen, etkin ve ölü:

[centos@ansible-kube-4 ~]$ sudo systemctl status flanneld
flanneld.service - Flanneld overlay address etcd agent
   Loaded: loaded (/usr/lib/systemd/system/flanneld.service; enabled)
   Active: inactive (dead)

Birim dosyası:

[centos@ansible-kube-4 ~]$ cat /usr/lib/systemd/system/flanneld.service
[Unit]
Description=Flanneld overlay address etcd agent
After=network.target
After=etcd.service

[Service]
Type=notify
Restart=always
RestartSec=3

EnvironmentFile=/etc/sysconfig/flanneld
EnvironmentFile=-/etc/sysconfig/docker-network
ExecStart=/usr/bin/flanneld -etcd-endpoints=${FLANNEL_ETCD} -etcd-prefix=${FLANNEL_ETCD_KEY} $FLANNEL_OPTIONS
ExecStartPost=/usr/libexec/flannel/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/docker

[Install]
WantedBy=multi-user.target

Güncelleme 1

Dmesg çıktısı:

$ dmesg | grep systemd
[    1.312165] systemd[1]: systemd 208 running in system mode. (+PAM +LIBWRAP +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ)
[    1.317238] systemd[1]: Detected virtualization 'kvm'.
[    1.319597] systemd[1]: Running in initial RAM disk.
[    1.323489] systemd[1]: No hostname configured.
[    1.324874] systemd[1]: Set hostname to <localhost>.
[    1.327570] systemd[1]: Initializing machine ID from KVM UUID.
[    1.389047] systemd[1]: Expecting device dev-disk-by\x2duuid-a78bb152\x2de525\x2d4f0e\x2d961a\x2dbf6147ac7d3e.device...
[    1.394577] systemd[1]: Starting -.slice.
[    1.396820] systemd[1]: Created slice -.slice.
[    1.397990] systemd[1]: Starting System Slice.
[    1.400212] systemd[1]: Created slice System Slice.
[    1.401503] systemd[1]: Starting Slices.
[    1.403556] systemd[1]: Reached target Slices.
[    1.404756] systemd[1]: Starting Timers.
[    1.406834] systemd[1]: Reached target Timers.
[    1.408042] systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
[    1.410065] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[    1.413402] systemd[1]: Starting Paths.
[    1.415399] systemd[1]: Reached target Paths.
[    1.416574] systemd[1]: Starting Journal Socket.
[    1.418894] systemd[1]: Listening on Journal Socket.
[    1.420242] systemd[1]: Started dracut ask for additional cmdline parameters.
[    1.422150] systemd[1]: Starting dracut cmdline hook...
[    1.424870] systemd[1]: Started Load Kernel Modules.
[    1.426124] systemd[1]: Starting Journal Service...
[    1.429731] systemd[1]: Started Journal Service.
[    1.692884] systemd-udevd[213]: starting version 208
[    2.621300] systemd-journald[90]: Received SIGTERM
[    2.968711] systemd[1]: Successfully loaded SELinux policy in 274.569ms.
[    3.023076] systemd[1]: Relabelled /dev and /run in 20.031ms.
[    3.365195] systemd-udevd[382]: starting version 208
[    3.482910] systemd-journald[377]: Received request to flush runtime journal from PID 1

Güncelleme 2

Çıktı chkconfig:

sudo chkconfig

Note: This output shows SysV services only and does not include native
      systemd services. SysV configuration data might be overridden by native
      systemd configuration.

      If you want to list systemd services use 'systemctl list-unit-files'.
      To see services enabled on particular target use
      'systemctl list-dependencies [target]'.

netconsole      0:off   1:off   2:off   3:off   4:off   5:off   6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off

Çıktı systemctl list-dependencies flanneld:

flanneld.service
├─system.slice
└─basic.target
  ├─microcode.service
  ├─rhel-autorelabel-mark.service
  ├─rhel-autorelabel.service
  ├─rhel-configure.service
  ├─rhel-dmesg.service
  ├─rhel-loadmodules.service
  ├─paths.target
  ├─slices.target
  │ ├─-.slice
  │ └─system.slice
  ├─sockets.target
  │ ├─dbus.socket
  │ ├─rpcbind.socket
  │ ├─systemd-initctl.socket
  │ ├─systemd-journald.socket
  │ ├─systemd-shutdownd.socket
  │ ├─systemd-udevd-control.socket
  │ └─systemd-udevd-kernel.socket
  ├─sysinit.target
  │ ├─dev-hugepages.mount
  │ ├─dev-mqueue.mount
  │ ├─kmod-static-nodes.service
  │ ├─proc-sys-fs-binfmt_misc.automount
  │ ├─sys-fs-fuse-connections.mount
  │ ├─sys-kernel-config.mount
  │ ├─sys-kernel-debug.mount
  │ ├─systemd-ask-password-console.path
  │ ├─systemd-binfmt.service
  │ ├─systemd-journal-flush.service
  │ ├─systemd-journald.service
  │ ├─systemd-modules-load.service
  │ ├─systemd-random-seed.service
  │ ├─systemd-sysctl.service
  │ ├─systemd-tmpfiles-setup-dev.service
  │ ├─systemd-tmpfiles-setup.service
  │ ├─systemd-udev-trigger.service
  │ ├─systemd-udevd.service
  │ ├─systemd-update-utmp.service
  │ ├─systemd-vconsole-setup.service
  │ ├─cryptsetup.target
  │ ├─local-fs.target
  │ │ ├─-.mount
  │ │ ├─rhel-import-state.service
  │ │ ├─rhel-readonly.service
  │ │ ├─systemd-fsck-root.service
  │ │ └─systemd-remount-fs.service
  │ └─swap.target
  └─timers.target
    └─systemd-tmpfiles-clean.timer

Yanıtlar:


32

Birim dosyası değiştirildi:

Önce:

[Install]
RequiredBy=docker.service

Sonra:

[Install]
WantedBy=multi-user.target

Bu değişiklikten sonra, Birimi yeniden etkinleştiremedim. Sistemin yeniden yapılandırılması için bunun gerekli olduğu ortaya çıktı:

$ sudo systemctl reenable flanneld
rm '/etc/systemd/system/docker.service.requires/flanneld.service'
ln -s '/usr/lib/systemd/system/flanneld.service' '/etc/systemd/system/multi-user.target.wants/flanneld.service'

2
Ben de bunun işe yaradığını buldum ve nedenini bilmiyorum. Belki de reenableyapmadığım ya da çarpık olan ve göremediğim bir şeyi düzelttim çünkü yeterince sert göz gezdirmiyordum. Her neyse, hizmetimi yeniden başlatıldıktan sonra ortaya çıkarmak için yapılandırdığım iki özdeş ana bilgisayardan biri çalıştı ve diğeri bunu yapana kadar yapmadı.
Russ Bateman

1
Yükseltme ile devre dışı bırakılması mümkün mü? Yükseltmeden sonra devre dışı bırakıldığı bir şüpheli sunucu vardı ... sudo systemctl yeniden bağlanabilir raylar-puma.service sorunu çözdü
Dave Collins


9

Yapılandırmanızda, bu hizmetin önyükleme sırasında başlatılması gerektiğine dair hiçbir kanıt bulamıyorum. systemdbir hizmeti etkinleştirmek için iki yol sağlar, böylece açılışta başlatılır:

chkconfig flanneld on

Veya:

systemctl enable flanneld

Aslında, ilki ikincisini çağırmanın eski bir yoludur ve chkconfigpaketin varsayılan olarak yüklenip yüklenmediğinden emin değilim , ancak apt-getveya kullanarak yükleyebilirsiniz yum.


Servis etkin. sudo systemctl enable flanneldEtkinleştirmek için kullanılır .
maklemenz

Çalıştırdıktan sonra hala başlangıçta başlamıyor?
nKn

Her yeniden başlatma işleminden sonra hizmeti el ile başlatmam gerekiyor. İlk denemede ve herhangi bir hata mesajı veya uyarı olmadan başlar.
maklemenz

1
Başarısız olan başka bir şey olmalı. Resmen, sistemde başlangıçta bir hizmeti etkinleştirmek için yoludur systemctl enable servicename. Çoğu örnek, .servicekomuttaki sonlandırmayı da içerir , ancak bunun herhangi bir fark yaratması gerektiğinden emin değilim.
nKn

.Service soneki, kullanıcı tarafından atlandığında otomatik olarak eklenir.
mrg2k8
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.