Articles of systemd

在卸载_netdev文件系统之前,OEL 7.2与LACP systemdclosures联网

我已经build立了一个OCFS2作为后备文件系统的NFS集群。 除了当节点重新启动/closures干净时它会导致一个fence操作,因为在卸载OCFS2文件系统以通知其他节点它正在离开集群之前,networking被切断了。 networkingconfiguration为具有两个物理适配器的LACP绑定,以及两个提供IP连接的VLAN接口。 这已经在nmtui中进行了configuration,可能会对驻留在/ etc / sysconfig / network-scripts中的configuration文件进行一些小小的调整。 无论我添加什么依赖项(Before / After / Requires等),包括network-online.target和其他各种,或者添加我自己的systemd服务和脚本来处理unmounts,我可以让服务器通过systemd卸载_netdev OCFS2文件系统在networking被拆除之前。 我已经添加了debug.sh到/ usr / lib / systemd / system-shutdown来logging一些细节,这里是closures序列的启动位置,'ocfs unmounting device'是OCFS2被卸载的地方。 [309.286479] bond:bond0:警告:ens2f1 – 0c:c4:7a:bb:93:3f – 的永久HWaddr仍由bond0使用。 设置ens2f1的HWaddr 到不同的地址以避免冲突。 bonding:bond0:释放活动接口ens2f1 ixgbe 0000:02:00.1:删除ens2f1上的PHC [309.806098] pps pps0:新的PPS来源ptp0 [309.806100] ixgbe 0000:02:00.1:在ens2f1上注册的PHC设备 [310.028112] IPv6:ADDRCONF(NETDEV_UP):ens2f1:链路没有准备好 [310.028114] 8021q:将VLAN 0添加到设备ens2f1上的HWfilter [310.028750] bonding:bond0:删除活动聚合器 [310.028754] bonding:bond0:释放活动接口ens2f0 [310.028755] bonding:bond0:警告:清除bond0的HW地址,但仍有VLAN。 [310.028756] bonding:bond0:重新添加从站时,请确保该绑定的HW地址与其VLAN相匹配。 […]

Ubuntu 16.04 Systemd不可能使用systemctl

我有一个Ubuntu 16.04服务器,自上次重启后,systemctl不再工作了。 例如,如果我想启动nginx,我得到以下错误: root@SERVER:/# systemctl start nginx Failed to start nginx.service: Unknown unit: nginx.service 每个其他服务的结果都一样。 只是systemctl给出了以下结果: root@SERVER:/# systemctl Failed to list units: No such method 'ListUnitsFiltered' 谢谢 apt autoremove Start-Date: 2016-11-12 20:37:29 Commandline: apt autoremove Remove: linux-image-4.4.0-38-generic:amd64 (4.4.0-38.57), libsnappy1v5:amd64 (1.1.3-2), libboost-program-options1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1), linux-image-4.4.0-36-generic:amd64 (4.4.0-36.55), libboost-filesystem1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1), libv8-3.14.5:amd64 (3.14.5.8-5ubuntu2), linux-headers-4.4.0-36-generic:amd64 (4.4.0-36.55), libboost-thread1.58.0:amd64 (1.58.0+dfsg-5ubuntu3.1), linux-headers-4.4.0-34-generic:amd64 (4.4.0-34.53), linux-headers-4.4.0-38-generic:amd64 […]

httpd不是以F17上的systemd开头的

标题说明了一切。 这是一个运行在Xenpipe理程序上的新鲜Fedora 17系统。 不知道为什么它不会开始 [root@box~] uname -a Linux box.localhost 3.5.4-2.fc17.i686.PAE #1 SMP Wed Sep 26 22:10:23 UTC 2012 i686 i686 i386 GNU/Linux [root@box~] cat /etc/redhat-release Fedora release 17 (Beefy Miracle) [root@box~] systemctl enable httpd.service ln -s '/usr/lib/systemd/system/httpd.service' '/etc/systemd/system/multi-user.target.wants/httpd.service' [root@box~] systemctl start httpd.service Job failed. See system journal and 'systemctl status' for details. [root@box~] systemctl status […]

摩托罗拉SB6141在电缆死亡时通过DHCP分配192.168.100.0/24 IP; 我可以禁止systemd-networkd使用192.168.100.0/24地址吗?

我有一个Motorola SB6141电缆调制解调器连接到一个Linux防火墙,通过systemd-networkd的DHCPfunction获得一个IP。 每隔一段时间,ISP就会遇到问题,由于某种原因,systemd-networkd被分配了192.168.100.0/24范围内的IP(而不是ISP的公共IP地址)。 发生这种情况时,192.168.100.0/24 IP地址“粘”,我必须重新启动systemd-networkd服务,然后获取真正的公共IP地址。 我有两种方法可以解决这个问题: 禁止摩托罗拉SB6141调制解调器发送192.168.100.0/24 IP。 禁止networkd-systemd接受192.168.100.0/24范围内的IP地址。 但是,我不知道如何做这些事情(如果可能的话)。 我应该从这里做什么?

如何在Debian Jessie启动时使用脚本设置主机名?

我有一个Debian的Jessie安装,我用PXE启动,我需要在启动时使用脚本设置主机名。 我在以前的Debian版本中使用了/etc/init.d/hostname.sh,但似乎并没有在启动时执行。 也许是因为systemd。

如何使用memcached和unix套接字来存储php会话

我用systemd,nginx和php用php-fpm运行Arch linux。 我想(和失败)configurationmemcached存储会话使用unix套接字。 我有memcached安装和活动,但是,我无法禁用networking。 我将下面一行添加到/etc/conf.d/memcached MEMCACHED_ARGS="-s unix:///tmp/memcached.sock -a 666" 我也试过: MEMCACHED_ARGS="-s /tmp/memcached.sock -a 666" MEMCACHED_ARGS="-s unix:/tmp/memcached.sock -a 666" 当我重新启动memcached我总是得到: memcached.service – Memcached Daemon Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled) Active: active (running) since Sat 2013-01-19 17:41:15 PST; 5min ago Main PID: 773 (memcached) CGroup: name=systemd:/system/memcached.service └─773 /usr/bin/memcached -l 127.0.0.1 当我运行PHP脚本会话PHP错误日志显示(不奇怪): [19-Jan-2013 16:46:45 America/Los_Angeles] PHP Warning: Unknown: Failed […]

用systemctl启动nginx会失败,但手动运行命令不会

在Arch Linux上,出于某种原因,当我尝试用命令“systemctl start nginx”启动nginx时,它失败了,这是“systemctl status nginx”的输出: Loaded: loaded (/etc/systemd/system/nginx.service; enabled) Active: failed (Result: exit-code) since Wed 2013-10-30 16:22:17 EDT; 5s ago Process: 9835 ExecStop=/usr/bin/chroot –userspec=http:http /home/nginx /usr/bin/nginx -g pid /run/nginx.pid; -s quit (code=exited, status=126) Process: 3982 ExecStart=/usr/bin/chroot –userspec=http:http /home/nginx /usr/bin/nginx -g pid /run/nginx.pid; daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 10967 ExecStartPre=/usr/bin/chroot –userspec=http:http /home/nginx /usr/bin/nginx […]

ec2 systemd无法在启动时挂载nfs并超时

我正在运行Red Hat Enterprise Linux Server release 7.0 (Maipo)最新版本: [root@ip-10-184-161-46 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.0 (Maipo) [root@ip-10-184-161-46 ~]# rpm -q nfs-utils nfs-utils-1.3.0-0.el7.x86_64 [root@ip-10-184-161-46 ~]# 我在/etc/fstab有以下条目: [root@ip-10-184-161-46 ~]# grep -v ^# /etc/fstab | tail -2 UUID=0f89adb9-ac88-4be5-b6cc-52a05bbdb825 / xfs defaults 1 1 ip-10-164-175-246.ec2.internal:/var/www/html /var/www/html/ nfs4 defaults 0 2 [root@ip-10-184-161-46 ~]# 实例重启之后,我在rsyslog.service里面看到了systemd : Jul […]

在CoreOS上将fstab条目转换为systemd安装单元

我想将以下fstab条目转换为CoreOS上的systemd挂载单元, /dev/xvdb /data ext4 defaults,auto,noatime,noexec 0 0 我创build了data.mount , [Unit] Description=MongoDB Data Directory [Mount] What=/dev/xvdb Where=/data Type=ext4 Options=defaults,auto,noatime,noexec 0 0 但是,我不得不删除0 0因为单位未能启动。 [Unit] Description=MongoDB Data Directory [Mount] What=/dev/xvdb Where=/data Type=ext4 Options=defaults,auto,noatime,noexec 上面的单位开始,但我不确定Options=string。 阅读fstab选项我不知道有些是多余的。 根据Ubuntu Fstab – 社区帮助维基 自动 – 文件系统可以自动安装(在启动时,或者当安装通过-a选项时)。 这实际上是不必要的,因为这是mount -a的默认操作。 默认值 – 使用默认设置。 等同于rw,suid,dev,exec,auto,nouser,async。 这导致我到以下单位, [Unit] Description=MongoDB Data Directory [Mount] What=/dev/xvdb Where=/data Type=ext4 […]

在其他容器中的进程运行之后,才能启动Docker容器

我试图部署3个Docker容器,它们之间有一个依赖关系(A – > B – > C)。 现在,每个容器都应该在JVM实例之上运行一个Akka-Spray实例。 问题是:按照通常的编排方法,容器A已经启动,但Web服务器没有时间启动。 如果在集装箱B运行之前没有运行,集装箱B将永远不能跟上,等等。 最近我一直在尝试以下方法:在容器之间共享数据量; 在web服务器准备好之后,一个助手脚本将在卷中创build一个空文件; 运行一个脚本(通过Upstart服务),查找一个空文件来显示并触发下一个容器。 但是,使用服务很可能是导致此问题的原因:正在运行 sudo docker run -d -it –name=backend -v ~/docker-test/:/docker-test -v ~/aux/:/aux ubuntu /bin/bash -c "</path/to/test/script>" 只需在命令行中完成,但在Upstart服务执行的脚本(接收消息"/bin/bash </path/to/test/script> : no such file or directory" )中随机失败。 任何人都会遇到这个呢? 我很感激欢迎任何build议来克服这一点。