postgres SELECT 查询在我们的数据库服务器上失控并开始消耗大量内存和交换,直到服务器内存不足。我通过ps aux | grep postgres并运行了特定的过程kill -9 pid。这终止了进程,内存按预期释放。系统的其余部分和 postgres 查询似乎不受影响。此服务器在 SLES 9 SP4 上运行 postgres 9.1.3。
但是,我们的一位开发人员因为使用 杀死了 postgres 进程而批评我kill -9,说它会关闭整个 postgres 服务。事实上,事实并非如此。我以前做过几次,没有看到任何负面影响。
话虽如此,在进一步阅读之后,看起来kill pid没有标志是杀死失控的 postgres 进程的首选方式,但对于 postgres 社区中的其他用户来说,听起来 postgres 多年来“变得更好”,以至于kill -9在单个查询进程/线程上不再是死刑。
有人能告诉我杀死失控的 postgres 进程的正确方法以及kill -9这些天 Postgres 的使用是多么灾难性(或良性)吗?感谢您的洞察力。
我正在配置 CentOS 6.2,并且看到了一些“[abrt] 完整崩溃报告”电子邮件。我知道 abrt 对创建崩溃转储很有用,而其他什么不是,所以我不想禁用该服务,我只想停止接收崩溃报告电子邮件。
我可能需要在 /etc/abrt/abrt.conf 中的配置文件中添加一些内容。我似乎在搜索中找不到任何东西。任何的想法?谢谢。
编辑:
这是我的 abrt.conf,它相当简单。
[root@myhost~]# cat /etc/abrt/abrt.conf
# Enable this if you want abrtd to auto-unpack crashdump tarballs which appear
# in this directory (for example, uploaded via ftp, scp etc).
# Note: you must ensure that whatever directory you specify here exists
# and is writable for abrtd. abrtd will not create it automatically.
#
#WatchCrashdumpArchiveDir = /var/spool/abrt-upload
# Max size for crash storage [MiB] or 0 for unlimited
#
MaxCrashReportsSize …Run Code Online (Sandbox Code Playgroud) 我最近撤销/清理了 Puppet 代理证书,这似乎对 PuppetDB 产生了负面影响。我看到这里已经提交了一个错误,其中包含一些关于修复问题的说明。一个用户在这里遇到了类似的问题,但这些都不适合我。
服务器运行 CentOS 6.2、Puppet 2.7.13 和 Puppet DB 0.9。错误是:
root@harp:/etc/puppetdb/ssl> puppet agent --test
err: Cached facts for harp failed: Failed to find facts from PuppetDB at harp.mydomain.com:8081: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed. This is often because the time is out of sync on the server or client
info: Loading facts in /etc/puppet/modules/dns/lib/facter/datacenter.rb
info: Caching facts for harp
err: Could not send report: SSL_connect returned=1 errno=0 state=SSLv3 …Run Code Online (Sandbox Code Playgroud) 我在 SLES 11.2 和 CentOS 6.3 上都注意到了这些 kerberos 密钥表错误消息:
sshd[31442]: pam_krb5[31442]: error reading keytab 'FILE: / etc/ krb5. keytab'
Run Code Online (Sandbox Code Playgroud)
/etc/krb5.keytab在我们的主机上不存在,根据我对 keytab 文件的理解,我们不需要它。根据此 kerberos 密钥表介绍:
密钥表是一个包含 Kerberos 主体和加密密钥对的文件(这些来自 Kerberos 密码)。您可以使用此文件登录到 Kerberos,而不会被提示输入密码。密钥表文件最常见的个人用途是允许脚本在无需人工交互的情况下对 Kerberos 进行身份验证,或将密码存储在纯文本文件中。
这听起来像是我们不需要的东西,也许不拥有它在安全方面更好。
如何防止此错误出现在我们的系统日志中?如果有用的话,这是我的 krb5.conf:
banjer@myhost:~> cat /etc/krb5.conf
# This file managed by Puppet
#
[libdefaults]
default_tkt_enctypes = RC4-HMAC DES-CBC-MD5 DES-CBC-CRC
default_tgs_enctypes = RC4-HMAC DES-CBC-MD5 DES-CBC-CRC
preferred_enctypes = RC4-HMAC DES-CBC-MD5 DES-CBC-CRC
default_realm = FOO.EXAMPLE.COM
dns_lookup_kdc = true
clockskew = 300
[logging]
default = SYSLOG:NOTICE:DAEMON
kdc = FILE:/var/log/kdc.log …Run Code Online (Sandbox Code Playgroud) 我一直在看到一堆这些日志消息
Jan 3 00: 58: 57 foo kernel: set_rtc_mmss: can't update from 0 to 58
Run Code Online (Sandbox Code Playgroud)
它们发生在运行在 VMware 上的 CentOS 6.4 虚拟机上。我知道这与未在来宾操作系统上正确设置硬件时钟有关。我发现这个命令将硬件时钟设置为当前系统时间:
sudo hwclock --systohc
Run Code Online (Sandbox Code Playgroud)
这是虚拟机的正确设置吗?另外,在哪里可以设置它以便它是持久的?在内核启动参数?我希望新配置的 VM 没有这个问题。
更新 1
按照要求:
me@foo:~> ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
LOCAL(0) .LOCL. 10 l 43 64 377 0.000 0.000 0.000
+dtc-nist01.ntp. .ACTS. 1 u 174 1024 377 3.311 -8.554 0.497
*nist1-nj.ustimi .ACTS. 1 u 205 1024 377 6.737 3.775 0.433
+nist1-pa.ustimi .ACTS. 1 u 55 1024 …Run Code Online (Sandbox Code Playgroud) 我有一条警告消息,在用户输入用户名登录到我们的 Linux 服务器后会显示给用户。我只想在密码验证时显示此消息,而不是在使用密钥时显示。它应该只向登录主机的用户显示,而不是在他们从一台主机 ssh 到另一台主机时显示(我们的主机都设置了密钥,因此我们可以在不输入密码的情况下从一台主机 ssh 到另一台主机)。
目前,我在 /etc/ssh/sshd_config 文件中有一行 Banner 指向包含警告消息的文本文件。Banner 似乎没有任何进一步的配置选项,所以我想知道是否有办法使用 pam 或其他一些机制来做到这一点?谢谢。
我是Puppet(开源版本)的新手,有一个相对简单的问题。
当我启动一个新主机时,我希望 puppetmaster 将新主机的公共 rsa 密钥添加到 /etc/ssh/ssh_known_hosts,这样更新后的 ssh_known_hosts 文件就可以被 puppet 代理拉下来了。
我试过sshkey资源:
# /etc/puppet/modules/ssh/manifests/client.pp
sshkey { $hostname:
ensure => present,
type => "rsa",
key => $sshrsakey,
}
Run Code Online (Sandbox Code Playgroud)
但是,ssh_known_hosts 似乎并未在 puppetmaster 或代理上进行修改。我的清单在运行时通过了语法验证,puppet parser validate client.pp并且puppet agent --test在代理上运行未报告任何问题。
我是否必须设置存储配置才能使用 sshkey 资源?我喜欢存储配置的功能,但它似乎对我需要的东西来说有点过分,而且似乎增加了很多开销。我的另一个选择是将$sshrsakey事实吐到 a file,但它需要检查公钥是否存在,因此它不会被多次添加。
我们在 CentOS 6.3 上设置了一个MongoDB开发服务器,并且能够通过使用单独的配置文件和 rc 脚本来分离不同的项目。现在我们正在考虑设置 MongoDB 生产环境。
我读过不建议在生产中的同一台服务器上托管多个 MongoDB 实例。 这是否意味着每个项目都需要自己的生产 MongoDB 环境?
这些项目不是非常“大”,因此不需要很多资源,所以感觉就像我们通过为每个项目提供自己的主机来跳枪。也许我们只需要摆脱 RDBMS 的世界。
我们将监控我们的开发服务器以了解它的运行情况,但我正在寻找一些见解和一些您自己的个人经验来补充我所阅读的内容。
我有一台 NetApp 作为我的 nfs 服务器,两台 Linux 服务器作为 nfs 客户端。问题是,这两个服务器的更新也极为不同的读取和写入速度,只要它做读取,同时写入到NFS服务器。另外,这个新服务器的读取和写入看起来很棒。旧服务器没有这个问题。
Sun Fire x4150,带 8 核,32 GB RAM
SLES 9 SP4
网络驱动:e1000
me@carp:~> uname -a
Linux carp 2.6.5-7.308-smp #1 SMP Mon Dec 10 11:36:40 UTC 2007 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
HP ProLiant Dl360P Gen8 带 8 核,64 GB RAM
CentOS 6.3
网络驱动程序:tg3
me@pepper:~> uname -a
Linux pepper 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
我将跳到一些说明读/写测试的图表。这是胡椒及其不平衡的读/写:

这是鲤鱼,看起来不错:

测试
这是我正在运行的读/写测试。我分别运行了它们,它们在胡椒上看起来很棒,但是当一起运行时(使用&),写入性能保持稳定,而读取性能却受到很大影响。测试文件是 RAM 大小的两倍(胡椒使用 …
我在某些 CentOS 5 和 6 服务器上配置了fail2ban,每当 IP 被禁止时,它都会向我发送一封包含 IP 的 whois 的电子邮件。是否可以将 fail2ban 配置为也从 whois 报告向电子邮件发送通知?
这是我的监狱配置:
# /etc/fail2ban/jail.conf
[ssh-iptables]
enabled = true
filter = sshd
action = iptables-allports[name=SSH, protocol=all]
sendmail-whois[name=SSH, dest=root@mydomain.com, sender=fail2ban]
logpath = /var/log/secure
maxretry = 3
Run Code Online (Sandbox Code Playgroud)
是否有某种变量我可以将其dest=发送到 whois 电子邮件?