Articles of centos

良好的NFS多path解决scheme

我有几台服务器,通过NFS向几个webfarms提供完全相同的内容,涉及的所有服务器都运行CentOS 5 两个NFS服务器之间的内容使用Unison进行复制(以前尝试使用drbd,严重影响性能) 为了分配负载,我正在从每个农场安装一个不同的NFS服务器。 Webfarm1挂载NFS1 Webfarm2挂载NFS2 我遇到的唯一问题是,当其中一台服务器崩溃时,我想自动从其他NFS服务器重新装载内容,直到服务器恢复,然后在宽限期后返回到第一台服务器。 在开始编写这样的应用程序之前,我想知道是否有任何已经可用的Opensource解决scheme可以实现我所期望的function,应用程序的所有智能应该放在客户端(服务器端解决scheme已经经过testing,丢弃(心跳,drbd等),因为我想在主动 – 主动解决scheme中使用两个NFS服务器。 另外,webfarm中的所有服务器都要访问相同的NFS服务器,这一点很重要,否则会导致一些令人讨厌的复制问题。 预先感谢您的帮助!

如何在CentOS上chroot Apache?

系统pipe理员build议我在chroot监狱里运行Apache,以防止攻击者控制服务器。 所以我的问题是: 什么是在RHEL / CentOS 5中对Apache / 2.2.3进行chroot的最好的方法是什么?我只使用Apache提供的默认模块,比如mod_php和mod_security。 我听说过mod_security SecChrootDir,但我不知道它是否适合我的configuration,它说,它只build议在文档中的静态文件服务。 谢谢!

如果TLS握手失败,如何更改sendmail回退行为?

我有一个运行sendmail的CentOS 5.x服务器,它无法与一些不同的收件服务器协商TLS。 我正在研究它。 与此同时,我注意到,如果发生TLS握手错误,sendmail不会退步使用标准的未encryption的传递方法。 这是正常的行为? 我希望这个逻辑在(并且只有)我明确要求域名的时候已经到位。 例如,如果我在/ etc / mail / access中添加了TLS_SRV选项。 在这种情况下,我不这样做。 实质上,Sendmail只运行“机会式TLS”。 到目前为止,我所遇到的所有信息都表明这个问题是预期的行为,并且是硬编码的。 根据http://www.sendmail.org/m4/starttls.html#disable_starttls : 默认情况下,尽可能使用STARTTLS。 但是,有一些错误的MTA不能正确执行STARTTLS。 为了能够发送(或接收)这些MTA,可以使用与访问映射一起使用的规则集try_tls(srv_features)。 访问映射的条目必须使用Try_TLS(Srv_Features)进行标记,并引用连接系统的主机名或IP地址。 按照http://etutorials.org/Server+Administration/Sendmail/Part+II+Administration/Chapter+10.+Maintain+Security+with+sendmail/10.10+STARTTLS/ : 如果未使用访问数据库,则除非$ {verify}中的值为SOFTWARE,否则在所有情况下都允许连接,包括入站和出站。在这种情况下,不允许连接。 这两个blurbs都表明try_tls特性是当另一方声称支持它时跳过TLS的唯一select。 我明白,这是一个选项,但它很麻烦,因为这意味着我需要手动exception出站域有麻烦。 有没有其他方式有sendmail后备?

APC服务器caching碎片

我正在CentOS 5.5上运行一个包含APC和W3TC的Wordpress网站,这个网站每天获得大约10000次综合浏览量(包括ajax和WP-Admin)。 该服务器是一个低级别的VPS,最高可达376MB RAM。 最近我已经开始得到一些服务器崩溃,现在我可以将其归因于APC(我禁用了一小会儿,崩溃停止了)。 重新安装并查看APC图后,我可以看到我们在启动PHP-FPM后几秒钟就会出现很多碎片。 在某些情况下,几分钟后就会出现100%碎片。 目前的caching大小为40MB,由于服务器上的内存限制,我稍微犹豫要提高它。 我已经在2小时的时间内在caching上设置了一个ttl,但是考虑到发生碎片的数量,恐怕这可能太长了,但是如果我设置得太短,就会破坏caching的整个目的。 我也注意到,当设置userttl大于0时,当某些require / include / require_once / include_once函数被调用时,会出现大量错误。 任何帮助将不胜感激。

有没有软件可以帮助我把我的PST文件转换成一个searachablenetworking存档?

我已经使用POP3很多年了,总是使用PST文件作为备份的目的。 我希望能够创build这个12GB的电子邮件search邮件存档。 我曾经用Horde + Qmailsearch电子邮件一段时间,但是在search几万封电子邮件的时候,真的很可怕,甚至非常缓慢,更别提超过一百万了。 我宁愿一个免费的解决scheme,通过历史电子邮件提供快速search。 另外,最好在服务器上托pipe,所以我不必担心在我的桌面上备份任何更重要的数据。

软件RAID1准备失败 – 如何手动降级?

我有一台Centos 5.4服务器在生产中,2个驱动器在软件RAID1中。 最后一天/ var / log / messages有很多消息,表明其中一个驱动器已准备好失败: Sep 23 00:48:38 milkyway kernel: SCSI device sda: 1465149168 512-byte hdwr sectors (750156 MB) Sep 23 00:48:39 milkyway kernel: ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0 Sep 23 00:48:39 milkyway kernel: ata1.00: irq_stat 0x40000001 Sep 23 00:48:39 milkyway kernel: ata1.00: cmd 25/00:10:31:21:8c/00:00:28:00:00/e0 tag 0 […]

在CentOS / RHEL 6上,我可以在哪里find有用的LDAP身份validation官方文档?

它是否存在关于如何设置LDAP服务器的官方安装文档,我可以使用authconfig将客户端连接到该服务器。 我将成为Centos 6和RHEL 6.1。 我能find的是这个 。 但我不需要学习如何重新启动服务,我更想知道需要在我的LDIF文件中input什么types的东西,任何需要完成的SELinux工作,如何执行authconfig工具以及人们写在他们的博客上的文章。 有这样的事吗? 或者,我需要从未更新的博客中获取这些信息,并阅读linux手册页,也许可以从openldap.org获取有关我不需要知道的有关设置身份validation的更多信息。

Linux内核模块文件大小

我试图用一个vanilla 3.1.0-rc10内核在CentOS 6机器上更新内核。 它似乎工作,除了创build的模块的大小比来自发行版RPM的大得多。 这是一个问题,因为mkinitrd命令最终创build一个100M的initram文件(因为里面的所有模块的一部分)的大小。 Grub在启动时需要永久​​加载和解压缩一个100M的initram文件。 简而言之: 我下载了内核代码。 将正在运行的内核configuration从/ boot / config-2.6.xxx复制到我的内核代码目录中的.config。 运行make oldconfig并接受默认值 跑make && make modules_install ran mkinitrd /boot/initramfs-3.1.0-rc10.x86_64.img 3.1.0-rc10 产生的/boot/initramfs-3.1.0-rc10.x86_64.img大小为100M。 很显然,这是因为模块的规模要大得多。 selectqla4xxxx你可以看到我的编译版本是3.6M而发行版本是116K。 这是所有模块的情况。 [root@localhost ~]# ls -lh /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/scsi/qla4xxx/qla4xxx.ko -rwxr–r–. 1 root root 116K May 19 23:37 /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/scsi/qla4xxx/qla4xxx.ko [root@localhost ~]# ls -lh /lib/modules/3.1.0-rc10+/kernel/drivers/scsi/qla4xxx/qla4xxx.ko -rw-r–r–. 1 root root 3.6M Oct 21 12:57 /lib/modules/3.1.0-rc10+/kernel/drivers/scsi/qla4xxx/qla4xxx.ko 我之前没有问题, […]

查找导致随机502网关错误的Nginx / PHP-FPM瓶颈

我在一个相当繁忙的互联网站点工作,这个站点通常会遇到非常大的stream量高峰。 在这些峰值期间,每秒钟会有数百页的请求,并产生随机的502网关错误。 现在我们在带有16个核心CPU和24GB DDR3 RAM的4个SAS 15k驱动器(raid10)的机器上运行Nginx(1.0.10)和PHP-FPM。 我们也使用最新的Xcache版本。 数据库位于另一台机器上,但是这台机器的负载很低,没有问题。 在正常的负载下,一切运行良好,系统负载低于1,并且PHP-FPM状态报告一次不会真正显示超过10个活动进程。 总是有大约10GB的内存仍然可用。 在正常的负载下,机器每秒处理大约100个综合浏览量。 当出现巨大的stream量峰值时,就会出现这个问题,并且要求机器每秒钟处理数百页的视图。 我注意到,FPM的状态报告显示了多达50个活动进程,但仍低于我们configuration的最大连接数300个。 在这些峰值期间,Nginx状态报告多达5000个活动连接,而不是正常的平均值1000。 OS信息:CentOS 5.7版(最终版) CPU:Intel(R)Xeon(R)CPU E5620 @ 2.40GH(16核心) PHP-fpm.conf daemonize = yes listen = /tmp/fpm.sock pm = static pm.max_children = 300 pm.max_requests = 1000 我还没有设置rlimit_files,因为据我所知它应该使用系统默认,如果你不这样做。 fastcgi_params (只添加标准文件的值) fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors […]

日志旋转后命名停止日志到rsyslog

CentOS 6.2,绑定9.7.3,rsyslog 4.6.2 我最近设置了一个服务器,并且我注意到在日志已经旋转之后,named已经停止logging到/var/log/messages 。 我认为这很奇怪,因为所有日志都是通过rsyslog发生的,并且named不直接写入日志文件。 这更奇怪,因为我更新了区域文件后,HUPed named ,仍然没有logging。 停止并重新启动之后,日志恢复。 这里发生了什么? 系统日志PID没有改变(/var/run/syslogd.pid匹配ps中显示的PID)。 rsyslog是否在logrotate旋转其日志和HUP时打开一个新的套接字? /etc/logrotate.d/syslog: /var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript } rsyslogd在循环之后继续logging – 它只是被命名(可能还有其他服务),没有正确连接到rsyslogd 。 这里是/ var / log / messages-20120212: Feb 5 04:45:03 linus kernel: imklog 4.6.2, log source = /proc/kmsg […]