我开始使用RHEL7并学习一些有关systemd的变化。 有没有办法执行/sbin/service iptables save在firewalld? $ /sbin/service iptables save The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl. 我可以从文档find最接近的并行–reload : Reload the firewall without loosing state information: $ firewall-cmd –reload 但是它并没有明确地说是否保存。
这里有一个新手这么介意我的遗忘。 我试图在新鲜的Centos 7服务器上安装mariadb,但运行“systemctl start mariadb.service”时,我得到这个malarkey: mariadb.service的工作失败。 有关详细信息,请参阅“systemctl status mariadb.service”和“journalctl -xn”。 “journalctl -xn”输出: 进程/ usr / libexec / mariadb-prepare-db-dir无法执行并失败。 和“systemctl status mariadb.service”输出: 进程:27729 ExecStartPre = / usr / libexec / mariadb-prepare-db-dir%n(code = exited,status = 203 / EXEC) Dec 30 20:37:54 localhost.localdomain systemd [27729]:执行EXEC产卵/ usr / libexec / mariadb-prepare-db-dir时失败:Permission denied 我检查了文件的权限,它似乎是为了…从sudo运行也产生相同的结果。 如果有人有任何提示,他们将不胜感激。 谢谢!
我在Ubuntu 14.10上使用Elasticsearch,它会周期性地closures(进入失败状态)。 停机时,会在我的网站上抛出exception,用户无法正确search,连接或更新数据库。 当我得到服务的状态,如果运行,我有: elasticsearch.service – ElasticSearch Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled) Active: active (running) since Wed 2015-04-15 15:47:39 CEST; 8min ago Main PID: 253 (java) CGroup: /system.slice/elasticsearch.service └─253 /usr/bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFr… 我已经configurationsystemd总是重新启动服务,如果下来,它的工作,但仍然,它每隔一小时左右。 我怎样才能找出原因呢? EDIT1:我在var / logs / elasticsearch中发现了一些elasticsearch日志文件。 我有一个重复的元素: [2015-04-14 16:13:11,170][DEBUG][action.search.type ] [Tiboro] All shards failed for phase: [query] org.elasticsearch.search.SearchParseException: [foodmeup][2]: […]
OS版本信息: [root@localhost system]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) test.slice的configuration如下: [root@localhost system]# cat test.slice [Unit] Description=Test Slice Documentation=man:systemd.special(7) DefaultDependencies=no Before=slices.target Wants=-.slice After=-.slice [Slice] CPUAccounting=on CPUShares=1024 我创build了另一个文件(称为testhigh.slice),并给它CPU份额= 128。当我启动CPU饥饿的进程在任何时候,我看到CPU按比例划分,如预期。 但是 ,似乎没有办法实际上将一个切片的CPU限制到例如10%的恒定值。 CPUQuota选项无法被systemd识别: Apr 23 21:34:00 localhost.localdomain systemd[1]: [/usr/lib/systemd/system/test.slice:22] Unknown lvalue 'CPUQuota' in section 'Slice' 原则上,能够精确分配资源将是惊人的,但现在我无法得到这个工作。 请帮忙; 如果可能的话,我想从systemd框架中获得一个解决scheme。
我有一个系统服务,我需要在networking开始之前运行,我正在努力一点。 据此: 运行服务networking启动后,我需要使用Before = network-pre.target ,但是我的服务没有启动。 依赖关系: root@server:~# systemctl list-dependencies my-script –reverse my-script.service ● └─network-pre.target (has a red dot next to it) 实际单位本身: [Unit] Description=My script Before=network-pre.target Wants=network-pre.target [Service] ExecStart=/etc/my-script Type=oneshot RemainAfterExit=yes [Install] WantedBy=multi-user.target 有什么build议么?
我在CentOS 7中有一个systemd脚本,除非我禁用SELINUX,否则无法正常运行。 是否有可能以某种方式在系统上启用SELINUX,但仅对此systemd脚本禁用它? systemd脚本: [Unit] Description=Tractor Blade Service Wants=network.target network-online.target autofs.service After=network.target network-online.target autofs.service RequiresMountsFor=/101.102.103.104/pipeline/ [Service] Type=simple User=IRUser ExecStart=/opt/pixar/Tractor-2.1/bin/tractor-blade –debug –log /101.102.103.104/pipeline/logs/tractor/tractor-blade-%H.log –engine=111.222.333.444 –supersede –pidfile=/var/run/tractor-blade.pid [Install] WantedBy=multi-user.target
[root@utility ~]# uname -rv 2.6.32-042stab093.5 #1 SMP Wed Sep 10 17:39:49 MSK 2014 [root@utility ~]# cat /etc/redhat-release CentOS Linux release 7.1.1503 (Core) [root@utility ~]# journalctl –version systemd 208 +PAM +LIBWRAP +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ 当我的系统日志通过journalctl时,我有一个相当奇怪的问题。 在上下文中,我试图积极地遵循整个系统日志来尝试解决OpenDKIM的一个问题,但是我正在这个领域取得进展。 从本质上讲,当我运行journalctl -f时,出现了日志的最后几行,terminal等待更多的数据被logging和处理。 在一个SSH会话中打开这个进程,我从同一台服务器上的不同会话发送一个testing消息(都在root用户下)。 一旦我执行testing消息,程序就会将内容转储到系统日志中。 我简单地看到在journalctl过程journalctl之前转储的内容,并从日志一直写到日志中写出完整的系统日志到控制台。 不用说,当你必须等待几个月的系统日志才能通过你的SSH会话,你才能看到testing程序写入日志的时候,这不是很有帮助。 任何人有任何想法,为什么这是发生? 我很尴尬地说,我甚至不知道从哪里开始,但是我的Google-Fu没有透露这样的问题。 地狱,也许我的运气与search引擎终于来了一个痛苦的结局… TL; DR: journalctl -f读出整个系统日志,而不是仅仅journalctl -f它。
这是我的service nginx status命令的结果。 (Debian 8 64bit) Loaded: loaded (/lib/systemd/system/nginx.service; enabled) Active: active (running) since Fri 2015-09-18 12:20:23 CEST; 2h 29min ago Process: 31845 ExecStop=/sbin/start-stop-daemon –quiet –stop –retry QUIT/5 –pidfile /run/nginx.pid (code=exited, status=2) Process: 29093 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s reload (code=exited, status=0/SUCCESS) Process: 31851 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: […]
我想指示systemd在指定的,预先存在的networking名称空间中“运行一个单元”,特别是在命名空间中启动单元的进程。
我有一个问题缩小问题是我的主pipeconfiguration,导致程序被复制。 我正在通过Nginx反向代理运行Python Tornado Web服务器。 不过,我认为这个问题更多的与主pipe有关。 /etc/supervisor/supervisord.conf [unix_http_server] file=/var/run/supervisor.sock chmod=0700 [supervisord] logfile=/var/log/supervisor/supervisord.log pidfile=/var/run/supervisord.pid childlogdir=/var/log/supervisor logfile_maxbytes=50MB logfile_backups=5 loglevel=error [rpcinterface:supervisor] supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface [supervisorctl] serverurl=unix:///var/run/supervisor.sock [include] files = /etc/supervisor/conf.d/*.conf /etc/supervisor/conf.d/tornado.conf [program:tornado] numprocs = 4 numprocs_start = 8000 process_name = %(program_name)s_%(process_num)02d directory=/home/username/webapp environment=PATH="/home/username/.virtualenvs/tornado_env/bin" command = python server.py –port=%(process_num)s user=www-data redirect_stderr=true stdout_logfile=/var/log/webapp/%(program_name)s_%(process_num)02d.log loglevel=info 正如你可以看到numprocs = 4 ,但是在刚刚重启服务器之后,我的困惑就来自于这个。 ps -aux | […]