나는를했습니다 systemd-unit
활성화되어 내 시스템에. 문제는 재부팅 후 다시 시작되지 않는다는 것입니다. 예상대로 시작된 두 개의 다른 서비스에 따라 다릅니다.
이 서비스는 알려져 있고 활성화되어 있으며 죽었습니다.
[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)
단위 파일 :
[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
업데이트 1
dmesg의 출력 :
$ 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
업데이트 2
출력 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
출력 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
답변
단위 파일이 수정되었습니다 :
전에:
[Install]
RequiredBy=docker.service
후:
[Install]
WantedBy=multi-user.target
그 수정 후 나는 장치를 다시 활성화하지 않았다. systemd를 재구성하는 데 필요한 것으로 나타났습니다.
$ 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'
답변
구성시이 서비스가 부팅시 시작되어야한다는 증거가 없습니다. systemd
부팅시 서비스가 시작되도록 두 가지 방법으로 서비스를 활성화 할 수 있습니다.
chkconfig flanneld on
또는:
systemctl enable flanneld
사실, 첫 번째는 두 번째를 호출하는 기존의 방법, 그리고 있는지 확실하지 않습니다 chkconfig
패키지가 기본으로 설치되어 있지만 사용하여 설치할 수 있습니다 apt-get
또는 yum
.